Changeset 6
- Timestamp:
- Feb 4, 2011, 9:45:01 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 5 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UInstanceOptions.lfm
r5 r6 1 1 object InstanceOptionsForm: TInstanceOptionsForm 2 Left = 2743 Height = 4244 Top = 1 065 Width = 5732 Left = 307 3 Height = 225 4 Top = 132 5 Width = 454 6 6 Caption = 'Options' 7 ClientHeight = 4248 ClientWidth = 5737 ClientHeight = 225 8 ClientWidth = 454 9 9 OnCreate = FormCreate 10 10 OnDestroy = FormDestroy … … 12 12 LCLVersion = '0.9.31' 13 13 object ButtonCancel: TButton 14 Left = 40814 Left = 289 15 15 Height = 25 16 Top = 39416 Top = 195 17 17 Width = 75 18 18 Anchors = [akRight, akBottom] … … 23 23 end 24 24 object ButtonOk: TButton 25 Left = 49325 Left = 374 26 26 Height = 25 27 Top = 39427 Top = 195 28 28 Width = 75 29 29 Anchors = [akRight, akBottom] … … 33 33 TabOrder = 1 34 34 end 35 object ButtonUpdateSource: TButton 36 Left = 10 37 Height = 25 38 Top = 395 39 Width = 75 40 Anchors = [akLeft, akBottom] 41 Caption = 'Update list' 42 OnClick = ButtonUpdateSourceClick 35 object Label2: TLabel 36 Left = 8 37 Height = 14 38 Top = 72 39 Width = 67 40 Caption = 'IDE selection:' 41 ParentColor = False 42 end 43 object Label1: TLabel 44 Left = 8 45 Height = 14 46 Top = 40 47 Width = 69 48 Caption = 'FPC selection:' 49 ParentColor = False 50 end 51 object Edit1: TEdit 52 Left = 128 53 Height = 21 54 Top = 8 55 Width = 320 56 Anchors = [akTop, akLeft, akRight] 43 57 TabOrder = 2 44 58 end 45 object Panel1: TPanel 46 Left = 0 47 Height = 26 48 Top = 0 49 Width = 573 50 Align = alTop 51 BevelOuter = bvNone 52 ClientHeight = 26 53 ClientWidth = 573 59 object Label3: TLabel 60 Left = 8 61 Height = 14 62 Top = 8 63 Width = 32 64 Caption = 'Name:' 65 ParentColor = False 66 end 67 object Edit2: TEdit 68 Left = 128 69 Height = 21 70 Top = 39 71 Width = 233 72 Anchors = [akTop, akLeft, akRight] 73 ReadOnly = True 54 74 TabOrder = 3 55 object Edit1: TEdit56 Left = 5657 Height = 2158 Top = 359 Width = 51260 Anchors = [akTop, akLeft, akRight]61 TabOrder = 062 end63 object Label3: TLabel64 Left = 765 Height = 1466 Top = 567 Width = 3268 Caption = 'Name:'69 ParentColor = False70 end71 75 end 72 object Panel2: TPanel 73 Left = 0 74 Height = 178 75 Top = 26 76 Width = 573 77 Align = alTop 78 BevelOuter = bvNone 79 ClientHeight = 178 80 ClientWidth = 573 76 object Button1: TButton 77 Left = 374 78 Height = 25 79 Top = 39 80 Width = 75 81 Anchors = [akTop, akRight] 82 Caption = 'Select' 83 OnClick = Button1Click 81 84 TabOrder = 4 82 object ListView1: TListView83 Left = 784 Height = 15685 Top = 2286 Width = 56187 Anchors = [akTop, akLeft, akRight, akBottom]88 Columns = <89 item90 Caption = 'Name'91 Width = 7092 end93 item94 Caption = 'Type'95 Width = 8096 end97 item98 Caption = 'Version'99 Width = 60100 end101 item102 Caption = 'Revision'103 end104 item105 Caption = 'Date'106 Width = 60107 end108 item109 Caption = 'Source URL'110 Width = 300111 end>112 OwnerData = True113 ReadOnly = True114 RowSelect = True115 TabOrder = 0116 ViewStyle = vsReport117 OnData = ListView1Data118 end119 object Label1: TLabel120 Left = 9121 Height = 14122 Top = 8123 Width = 69124 Caption = 'FPC selection:'125 ParentColor = False126 end127 85 end 128 object Panel3: TPanel 129 Left = 0 130 Height = 186 131 Top = 204 132 Width = 573 133 Align = alTop 134 Anchors = [akTop, akLeft, akRight, akBottom] 135 BevelOuter = bvNone 136 ClientHeight = 186 137 ClientWidth = 573 86 object Edit3: TEdit 87 Left = 128 88 Height = 21 89 Top = 72 90 Width = 233 91 Anchors = [akTop, akLeft, akRight] 92 ReadOnly = True 138 93 TabOrder = 5 139 object Label2: TLabel 140 Left = 11 141 Height = 14 142 Top = 12 143 Width = 67 144 Caption = 'IDE selection:' 145 ParentColor = False 146 end 147 object ListView2: TListView 148 Left = 9 149 Height = 158 150 Top = 28 151 Width = 559 152 Anchors = [akTop, akLeft, akRight, akBottom] 153 Columns = < 154 item 155 Caption = 'Name' 156 Width = 70 157 end 158 item 159 Caption = 'Type' 160 Width = 80 161 end 162 item 163 Caption = 'Version' 164 Width = 60 165 end 166 item 167 Caption = 'Revision' 168 end 169 item 170 Caption = 'Date' 171 Width = 60 172 end 173 item 174 Caption = 'Source URL' 175 Width = 300 176 end> 177 OwnerData = True 178 ReadOnly = True 179 RowSelect = True 180 TabOrder = 0 181 ViewStyle = vsReport 182 OnData = ListView2Data 183 end 94 end 95 object Button2: TButton 96 Left = 374 97 Height = 25 98 Top = 70 99 Width = 75 100 Anchors = [akTop, akRight] 101 Caption = 'Select' 102 OnClick = Button2Click 103 TabOrder = 6 184 104 end 185 105 end -
trunk/Forms/UInstanceOptions.pas
r5 r6 7 7 uses 8 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, 9 ComCtrls, ExtCtrls, DOM, XMLWrite, XMLRead, HTTPSend, USource, UInstance; 9 ComCtrls, ExtCtrls, DOM, XMLWrite, XMLRead, HTTPSend, USource, UInstance, 10 USourceSelection; 10 11 11 12 type … … 14 15 15 16 TInstanceOptionsForm = class(TForm) 16 ButtonUpdateSource: TButton; 17 Button1: TButton; 18 Button2: TButton; 17 19 ButtonCancel: TButton; 18 20 ButtonOk: TButton; 19 21 Edit1: TEdit; 22 Edit2: TEdit; 23 Edit3: TEdit; 20 24 Label1: TLabel; 21 25 Label2: TLabel; 22 26 Label3: TLabel; 23 ListView1: TListView; 24 ListView2: TListView; 25 Panel1: TPanel; 26 Panel2: TPanel; 27 Panel3: TPanel; 27 procedure Button1Click(Sender: TObject); 28 procedure Button2Click(Sender: TObject); 28 29 procedure ButtonCancelClick(Sender: TObject); 29 30 procedure ButtonOkClick(Sender: TObject); 30 procedure ButtonUpdateSourceClick(Sender: TObject);31 31 procedure FormCreate(Sender: TObject); 32 32 procedure FormDestroy(Sender: TObject); 33 33 procedure FormShow(Sender: TObject); 34 procedure ListView1Data(Sender: TObject; Item: TListItem);35 procedure ListView2Data(Sender: TObject; Item: TListItem);36 34 private 37 procedure ReloadList;35 IsNew: Boolean; 38 36 public 39 37 Instance: TInstance; 40 FPCSource s: TSourceList;41 IDESource s: TSourceList;38 FPCSource: TSource; 39 IDESource: TSource; 42 40 end; 43 41 … … 54 52 { TInstanceOptionsForm } 55 53 56 procedure TInstanceOptionsForm.ButtonUpdateSourceClick(Sender: TObject);57 var58 fs: TFileStream;59 begin60 fs := TFileStream.Create(ExtractFileName(MainForm.SourceURL), fmOpenWrite or fmCreate);61 try62 HttpGetBinary(MainForm.SourceURL, fs);63 finally64 fs.Free;65 end;66 MainForm.Sources.UpdateFormFile(ExtractFileName(MainForm.SourceURL));67 ReloadList;68 end;69 70 54 procedure TInstanceOptionsForm.ButtonOkClick(Sender: TObject); 71 55 begin 72 56 Instance.Name := Edit1.Text; 73 if Assigned(ListView1.Selected) then 74 Instance.FPCSource := TSource(ListView1.Selected.Data) 75 else Instance.FPCSource := nil; 76 if Assigned(ListView2.Selected) then 77 Instance.IDESource := TSource(ListView2.Selected.Data) 78 else Instance.IDESource := nil; 57 Instance.FPCSource := FPCSource; 58 Instance.IDESource := IDESource; 79 59 end; 80 60 81 61 procedure TInstanceOptionsForm.ButtonCancelClick(Sender: TObject); 82 62 begin 83 Instance.Free; 63 if IsNew then Instance.Free; 64 end; 65 66 procedure TInstanceOptionsForm.Button1Click(Sender: TObject); 67 begin 68 SourceSelectionForm.ProjectType := 'Compiler'; 69 if SourceSelectionForm.ShowModal = mrOk then begin 70 if Assigned(SourceSelectionForm.ListView1.Selected) then 71 FPCSource := TSource(SourceSelectionForm.ListView1.Selected.Data) 72 else FPCSource := nil; 73 if Assigned(FPCSource) then 74 Edit2.Text := FPCSource.GetName 75 else Edit2.Text := ''; 76 end; 77 end; 78 79 procedure TInstanceOptionsForm.Button2Click(Sender: TObject); 80 begin 81 SourceSelectionForm.ProjectType := 'IDE'; 82 if SourceSelectionForm.ShowModal = mrOk then begin 83 if Assigned(SourceSelectionForm.ListView1.Selected) then 84 IDESource := TSource(SourceSelectionForm.ListView1.Selected.Data) 85 else IDESource := nil; 86 if Assigned(IDESource) then 87 Edit3.Text := IDESource.GetName 88 else Edit3.Text := ''; 89 end; 84 90 end; 85 91 86 92 procedure TInstanceOptionsForm.FormCreate(Sender: TObject); 87 93 begin 88 FPCSources := TSourceList.Create;89 FPCSources.OwnsObjects := False;90 IDESources := TSourceList.Create;91 IDESources.OwnsObjects := False;92 94 end; 93 95 94 96 procedure TInstanceOptionsForm.FormDestroy(Sender: TObject); 95 97 begin 96 FPCSources.Free;97 IDESources.Free;98 98 end; 99 99 100 100 procedure TInstanceOptionsForm.FormShow(Sender: TObject); 101 101 begin 102 ReloadList;103 102 if not Assigned(Instance) then begin 104 103 Instance := TInstance.Create; 105 104 Instance.Id := MainForm.Instances.GetNewId; 106 105 Instance.Name := 'Instance ' + IntToStr(Instance.Id); 107 end; 108 // ListView1.Items[; 106 IsNew := True; 107 end else IsNew := False; 108 109 109 Edit1.Text := Instance.Name; 110 end; 111 112 procedure TInstanceOptionsForm.ListView1Data(Sender: TObject; Item: TListItem); 113 begin 114 if Item.Index < FPCSources.Count then 115 with TSource(FPCSources[Item.Index]) do begin 116 Item.Caption := ProjectName; 117 Item.Data := FPCSources[Item.Index]; 118 Item.SubItems.Add(VersionType); 119 Item.SubItems.Add(VersionNumber); 120 Item.SubItems.Add(''); 121 Item.SubItems.Add(''); 122 Item.SubItems.Add(SubversionURL); 123 end; 124 end; 125 126 procedure TInstanceOptionsForm.ListView2Data(Sender: TObject; Item: TListItem); 127 begin 128 if Item.Index < IDESources.Count then 129 with TSource(IDESources[Item.Index]) do begin 130 Item.Caption := ProjectName; 131 Item.Data := IDESources[Item.Index]; 132 Item.SubItems.Add(VersionType); 133 Item.SubItems.Add(VersionNumber); 134 Item.SubItems.Add(''); 135 Item.SubItems.Add(''); 136 Item.SubItems.Add(SubversionURL); 137 end; 138 end; 139 140 procedure TInstanceOptionsForm.ReloadList; 141 var 142 I: Integer; 143 begin 144 FPCSources.Clear; 145 for I := 0 to MainForm.Sources.Count - 1 do 146 if TSource(MainForm.Sources[I]).ProjectType = 'Compiler' then 147 FPCSources.Add(MainForm.Sources[I]); 148 if ListView1.Items.Count <> FPCSources.Count then 149 ListView1.Items.Count := FPCSources.Count; 150 ListView1.Items[-1]; // workaround 151 ListView1.Refresh; 152 IDESources.Clear; 153 for I := 0 to MainForm.Sources.Count - 1 do 154 if TSource(MainForm.Sources[I]).ProjectType = 'IDE' then 155 IDESources.Add(MainForm.Sources[I]); 156 if ListView2.Items.Count <> IDESources.Count then 157 ListView2.Items.Count := IDESources.Count; 158 ListView2.Items[-1]; // workaround 159 ListView2.Refresh; 110 if Assigned(Instance.FPCSource) then 111 Edit2.Text := Instance.FPCSource.GetName 112 else Edit2.Text := ''; 113 if Assigned(Instance.IDESource) then 114 Edit3.Text := Instance.IDESource.GetName 115 else Edit3.Text := ''; 160 116 end; 161 117 -
trunk/Forms/UMainForm.lfm
r5 r6 23 23 end 24 24 item 25 Caption = ' FPC version'26 Width = 15025 Caption = 'Compiler' 26 Width = 200 27 27 end 28 28 item 29 Caption = 'IDE version'30 Width = 15029 Caption = 'IDE' 30 Width = 200 31 31 end 32 32 item -
trunk/Forms/UMainForm.pas
r5 r6 67 67 public 68 68 Platform: string; 69 TemplateDir: string; 69 70 BinUtilsDir: string; 70 71 InstanceDir: string; 72 SubversionDir: string; 71 73 SourceDir: string; 72 74 SourceURL: string; … … 90 92 Instances := TInstanceList.Create; 91 93 Sources := TSourceList.Create; 92 Platform := 'i386-win32';93 94 BinUtilsDir := 'BinUtils'; 94 95 InstanceDir := 'Instance'; 96 TemplateDir := 'Template'; 95 97 SourceDir := 'Source'; 96 98 SourceURL := 'http://tv.zdechov.net/fpc/SourceList.xml'; 99 {$IFDEF Windows} 100 Platform := 'i386-win32'; 101 SubversionDir := 'C:\Program Files\Subversion\bin'; 102 {$ENDIF} 103 {$IFDEF Linux} 104 Platform := 'i386-linux'; 105 SubversionDir := ''; 106 {$ENDIF} 97 107 LoadInstanceList; 98 108 end; … … 154 164 if ListView1.Selected.Index < Instances.Count then 155 165 with TInstance(Instances[ListView1.Selected.Index]) do begin 166 ForceDirectoriesUTF8(GetPath); 156 167 if Assigned(FPCSource) then begin 157 168 FPCSource.Download; … … 203 214 Item.Data := Instances[Item.Index]; 204 215 if Assigned(FPCSource) then 205 Item.SubItems.Add(FPCSource. ProjectName + ' ' + FPCSource.VersionNumber)216 Item.SubItems.Add(FPCSource.GetName) 206 217 else Item.SubItems.Add(''); 207 218 if Assigned(IDESource) then 208 Item.SubItems.Add(IDESource. ProjectName + ' ' + IDESource.VersionNumber)219 Item.SubItems.Add(IDESource.GetName) 209 220 else Item.SubItems.Add(''); 210 221 Item.SubItems.Add(BooleanText[Downloaded]); -
trunk/Forms/UMainOptions.lfm
r5 r6 43 43 Anchors = [akTop, akLeft, akRight] 44 44 TabOrder = 2 45 Text = 'Edit1'46 45 end 47 46 object Label2: TLabel … … 60 59 Anchors = [akTop, akLeft, akRight] 61 60 TabOrder = 3 62 Text = 'Edit1'63 61 end 64 62 object Label3: TLabel … … 77 75 Anchors = [akTop, akLeft, akRight] 78 76 TabOrder = 4 79 Text = 'Edit1' 77 end 78 object Label4: TLabel 79 Left = 9 80 Height = 14 81 Top = 128 82 Width = 98 83 Caption = 'Subversion location:' 84 ParentColor = False 85 end 86 object Edit4: TEdit 87 Left = 9 88 Height = 21 89 Top = 144 90 Width = 621 91 Anchors = [akTop, akLeft, akRight] 92 TabOrder = 5 80 93 end 81 94 end -
trunk/Forms/UMainOptions.pas
r5 r6 18 18 Edit2: TEdit; 19 19 Edit3: TEdit; 20 Edit4: TEdit; 20 21 Label1: TLabel; 21 22 Label2: TLabel; 22 23 Label3: TLabel; 24 Label4: TLabel; 23 25 procedure Button2Click(Sender: TObject); 24 26 procedure FormShow(Sender: TObject); … … 46 48 Edit2.Text := MainForm.Platform; 47 49 Edit3.Text := MainForm.SourceURL; 50 Edit4.Text := MainForm.SubversionDir; 48 51 end; 49 52 … … 53 56 MainForm.Platform := Edit2.Text; 54 57 MainForm.SourceURL := Edit3.Text; 58 MainForm.SubversionDir := Edit4.Text; 55 59 end; 56 60 -
trunk/Forms/UOperationProgress.lfm
r5 r6 7 7 ClientHeight = 440 8 8 ClientWidth = 562 9 OnClose = FormClose 9 10 OnShow = FormShow 10 11 LCLVersion = '0.9.31' … … 37 38 Caption = 'Close' 38 39 ModalResult = 6 40 OnClick = ButtonCloseClick 39 41 TabOrder = 2 40 42 end -
trunk/Forms/UOperationProgress.pas
r5 r6 20 20 Timer1: TTimer; 21 21 procedure ButtonAbortClick(Sender: TObject); 22 procedure ButtonCloseClick(Sender: TObject); 23 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); 22 24 procedure FormShow(Sender: TObject); 23 25 procedure Timer1Timer(Sender: TObject); … … 44 46 if Assigned(Process) then 45 47 Process.Terminate(0); 48 end; 49 50 procedure TOperationProgressForm.ButtonCloseClick(Sender: TObject); 51 begin 52 53 end; 54 55 procedure TOperationProgressForm.FormClose(Sender: TObject; 56 var CloseAction: TCloseAction); 57 begin 58 Memo1.Clear; 46 59 end; 47 60 -
trunk/FreePascalManager.lpi
r5 r6 38 38 </Item2> 39 39 </RequiredPackages> 40 <Units Count=" 25">40 <Units Count="32"> 41 41 <Unit0> 42 42 <Filename Value="FreePascalManager.lpr"/> … … 46 46 <TopLine Value="1"/> 47 47 <CursorPos X="1" Y="15"/> 48 <UsageCount Value=" 75"/>48 <UsageCount Value="114"/> 49 49 </Unit0> 50 50 <Unit1> … … 56 56 <EditorIndex Value="0"/> 57 57 <WindowIndex Value="0"/> 58 <TopLine Value="1 09"/>59 <CursorPos X=" 11" Y="114"/>60 <UsageCount Value=" 75"/>58 <TopLine Value="1"/> 59 <CursorPos X="3" Y="16"/> 60 <UsageCount Value="114"/> 61 61 <Loaded Value="True"/> 62 62 <LoadedDesigner Value="True"/> … … 70 70 <EditorIndex Value="2"/> 71 71 <WindowIndex Value="0"/> 72 <TopLine Value=" 7"/>73 <CursorPos X=" 38" Y="103"/>74 <UsageCount Value=" 75"/>72 <TopLine Value="48"/> 73 <CursorPos X="27" Y="55"/> 74 <UsageCount Value="114"/> 75 75 <Loaded Value="True"/> 76 76 <LoadedDesigner Value="True"/> … … 80 80 <IsPartOfProject Value="True"/> 81 81 <UnitName Value="UInstance"/> 82 <IsVisibleTab Value="True"/> 83 <EditorIndex Value="3"/> 84 <WindowIndex Value="0"/> 85 <TopLine Value="61"/> 86 <CursorPos X="38" Y="79"/> 87 <UsageCount Value="75"/> 82 <EditorIndex Value="5"/> 83 <WindowIndex Value="0"/> 84 <TopLine Value="8"/> 85 <CursorPos X="20" Y="21"/> 86 <UsageCount Value="114"/> 88 87 <Loaded Value="True"/> 89 88 </Unit3> … … 92 91 <IsPartOfProject Value="True"/> 93 92 <UnitName Value="USource"/> 94 <EditorIndex Value="8"/> 95 <WindowIndex Value="0"/> 96 <TopLine Value="49"/> 97 <CursorPos X="14" Y="50"/> 98 <UsageCount Value="75"/> 93 <IsVisibleTab Value="True"/> 94 <EditorIndex Value="11"/> 95 <WindowIndex Value="0"/> 96 <TopLine Value="6"/> 97 <CursorPos X="8" Y="19"/> 98 <UsageCount Value="114"/> 99 99 <Loaded Value="True"/> 100 100 </Unit4> 101 101 <Unit5> 102 102 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\fpc\2.5.1\source\rtl\objpas\classes\classesh.inc"/> 103 <WindowIndex Value="0"/> 104 <TopLine Value="600"/> 105 <CursorPos X="15" Y="613"/> 106 <UsageCount Value="10"/> 103 <EditorIndex Value="6"/> 104 <WindowIndex Value="0"/> 105 <TopLine Value="616"/> 106 <CursorPos X="40" Y="638"/> 107 <UsageCount Value="11"/> 108 <Loaded Value="True"/> 107 109 </Unit5> 108 110 <Unit6> … … 112 114 <TopLine Value="34"/> 113 115 <CursorPos X="20" Y="47"/> 114 <UsageCount Value=" 11"/>116 <UsageCount Value="7"/> 115 117 </Unit6> 116 118 <Unit7> … … 120 122 <TopLine Value="253"/> 121 123 <CursorPos X="14" Y="266"/> 122 <UsageCount Value="2 8"/>124 <UsageCount Value="24"/> 123 125 </Unit7> 124 126 <Unit8> … … 128 130 <TopLine Value="749"/> 129 131 <CursorPos X="3" Y="753"/> 130 <UsageCount Value="2 6"/>132 <UsageCount Value="22"/> 131 133 </Unit8> 132 134 <Unit9> … … 135 137 <TopLine Value="58"/> 136 138 <CursorPos X="72" Y="81"/> 137 <UsageCount Value="1 7"/>139 <UsageCount Value="13"/> 138 140 <DefaultSyntaxHighlighter Value="XML"/> 139 141 </Unit9> … … 143 145 <TopLine Value="1"/> 144 146 <CursorPos X="46" Y="49"/> 145 <UsageCount Value="1 5"/>147 <UsageCount Value="11"/> 146 148 <DefaultSyntaxHighlighter Value="XML"/> 147 149 </Unit10> … … 152 154 <TopLine Value="67"/> 153 155 <CursorPos X="17" Y="80"/> 154 <UsageCount Value="2 6"/>156 <UsageCount Value="22"/> 155 157 </Unit11> 156 158 <Unit12> 157 159 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\lcl\include\customform.inc"/> 158 160 <WindowIndex Value="0"/> 159 <TopLine Value=" 865"/>160 <CursorPos X="1" Y=" 878"/>161 <UsageCount Value=" 9"/>161 <TopLine Value="2639"/> 162 <CursorPos X="1" Y="2660"/> 163 <UsageCount Value="10"/> 162 164 </Unit12> 163 165 <Unit13> … … 167 169 <TopLine Value="594"/> 168 170 <CursorPos X="14" Y="607"/> 169 <UsageCount Value=" 9"/>171 <UsageCount Value="5"/> 170 172 </Unit13> 171 173 <Unit14> … … 175 177 <ResourceBaseClass Value="Form"/> 176 178 <UnitName Value="UOperationProgress"/> 177 <EditorIndex Value=" 5"/>178 <WindowIndex Value="0"/> 179 <TopLine Value=" 62"/>180 <CursorPos X=" 1" Y="82"/>181 <UsageCount Value=" 31"/>179 <EditorIndex Value="8"/> 180 <WindowIndex Value="0"/> 181 <TopLine Value="43"/> 182 <CursorPos X="3" Y="58"/> 183 <UsageCount Value="70"/> 182 184 <Loaded Value="True"/> 183 185 <LoadedDesigner Value="True"/> … … 186 188 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\fpc\2.5.1\source\packages\fcl-process\src\process.pp"/> 187 189 <UnitName Value="process"/> 188 <EditorIndex Value="6"/>189 190 <WindowIndex Value="0"/> 190 191 <TopLine Value="110"/> 191 <CursorPos X="14" Y="123"/> 192 <UsageCount Value="14"/> 193 <Loaded Value="True"/> 192 <CursorPos X="33" Y="123"/> 193 <UsageCount Value="31"/> 194 194 </Unit15> 195 195 <Unit16> … … 199 199 <TopLine Value="18"/> 200 200 <CursorPos X="16" Y="39"/> 201 <UsageCount Value=" 10"/>201 <UsageCount Value="6"/> 202 202 </Unit16> 203 203 <Unit17> … … 206 206 <TopLine Value="248"/> 207 207 <CursorPos X="3" Y="269"/> 208 <UsageCount Value=" 10"/>208 <UsageCount Value="6"/> 209 209 </Unit17> 210 210 <Unit18> 211 211 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\fpc\2.5.1\source\rtl\objpas\classes\stringl.inc"/> 212 <WindowIndex Value="0"/> 213 <TopLine Value="566"/> 214 <CursorPos X="8" Y="570"/> 215 <UsageCount Value="10"/> 212 <EditorIndex Value="7"/> 213 <WindowIndex Value="0"/> 214 <TopLine Value="443"/> 215 <CursorPos X="3" Y="441"/> 216 <UsageCount Value="11"/> 217 <Loaded Value="True"/> 216 218 </Unit18> 217 219 <Unit19> … … 221 223 <TopLine Value="906"/> 222 224 <CursorPos X="16" Y="919"/> 223 <UsageCount Value=" 10"/>225 <UsageCount Value="6"/> 224 226 </Unit19> 225 227 <Unit20> … … 229 231 <TopLine Value="38"/> 230 232 <CursorPos X="3" Y="51"/> 231 <UsageCount Value=" 9"/>233 <UsageCount Value="5"/> 232 234 </Unit20> 233 235 <Unit21> 234 236 <Filename Value="ReadMe.txt"/> 235 237 <IsPartOfProject Value="True"/> 236 <EditorIndex Value=" 7"/>238 <EditorIndex Value="10"/> 237 239 <WindowIndex Value="0"/> 238 240 <TopLine Value="1"/> 239 <CursorPos X="1 7" Y="6"/>240 <UsageCount Value=" 29"/>241 <CursorPos X="15" Y="12"/> 242 <UsageCount Value="68"/> 241 243 <Loaded Value="True"/> 242 244 <DefaultSyntaxHighlighter Value="None"/> … … 245 247 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\lcl\interfaces\win32\win32wscontrols.pp"/> 246 248 <UnitName Value="Win32WSControls"/> 249 <EditorIndex Value="9"/> 247 250 <WindowIndex Value="0"/> 248 251 <TopLine Value="254"/> 249 <CursorPos X="48" Y="260"/> 250 <UsageCount Value="13"/> 252 <CursorPos X="10" Y="265"/> 253 <UsageCount Value="11"/> 254 <Loaded Value="True"/> 251 255 </Unit22> 252 256 <Unit23> 253 257 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\fpc\2.5.1\source\rtl\win32\system.pp"/> 254 258 <UnitName Value="System"/> 255 <EditorIndex Value="4"/>256 259 <WindowIndex Value="0"/> 257 260 <TopLine Value="785"/> 258 261 <CursorPos X="22" Y="993"/> 259 <UsageCount Value="11"/> 260 <Loaded Value="True"/> 262 <UsageCount Value="30"/> 261 263 </Unit23> 262 264 <Unit24> … … 268 270 <EditorIndex Value="1"/> 269 271 <WindowIndex Value="0"/> 270 <TopLine Value=" 30"/>271 <CursorPos X=" 36" Y="48"/>272 <UsageCount Value=" 22"/>272 <TopLine Value="22"/> 273 <CursorPos X="17" Y="57"/> 274 <UsageCount Value="61"/> 273 275 <Loaded Value="True"/> 274 276 <LoadedDesigner Value="True"/> 275 277 </Unit24> 278 <Unit25> 279 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\lcl\customtimer.pas"/> 280 <UnitName Value="CustomTimer"/> 281 <WindowIndex Value="0"/> 282 <TopLine Value="144"/> 283 <CursorPos X="1" Y="157"/> 284 <UsageCount Value="10"/> 285 </Unit25> 286 <Unit26> 287 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\lcl\interfaces\win32\win32callback.inc"/> 288 <WindowIndex Value="0"/> 289 <TopLine Value="2676"/> 290 <CursorPos X="1" Y="2689"/> 291 <UsageCount Value="11"/> 292 </Unit26> 293 <Unit27> 294 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\lcl\interfaces\win32\win32object.inc"/> 295 <WindowIndex Value="0"/> 296 <TopLine Value="376"/> 297 <CursorPos X="1" Y="389"/> 298 <UsageCount Value="10"/> 299 </Unit27> 300 <Unit28> 301 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\fpc\2.5.1\source\rtl\objpas\sysutils\sysstrh.inc"/> 302 <WindowIndex Value="0"/> 303 <TopLine Value="211"/> 304 <CursorPos X="78" Y="224"/> 305 <UsageCount Value="10"/> 306 </Unit28> 307 <Unit29> 308 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\lcl\interfaces\win32\win32wscustomlistview.inc"/> 309 <WindowIndex Value="0"/> 310 <TopLine Value="106"/> 311 <CursorPos X="42" Y="125"/> 312 <UsageCount Value="10"/> 313 </Unit29> 314 <Unit30> 315 <Filename Value="Forms\USourceSelection.pas"/> 316 <IsPartOfProject Value="True"/> 317 <ComponentName Value="SourceSelectionForm"/> 318 <ResourceBaseClass Value="Form"/> 319 <UnitName Value="USourceSelection"/> 320 <EditorIndex Value="4"/> 321 <WindowIndex Value="0"/> 322 <TopLine Value="18"/> 323 <CursorPos X="34" Y="69"/> 324 <UsageCount Value="21"/> 325 <Loaded Value="True"/> 326 <LoadedDesigner Value="True"/> 327 </Unit30> 328 <Unit31> 329 <Filename Value="E:\Programy\Lazarus\0.9.31_2.5.1\lcl\include\listitem.inc"/> 330 <EditorIndex Value="3"/> 331 <WindowIndex Value="0"/> 332 <TopLine Value="760"/> 333 <CursorPos X="1" Y="773"/> 334 <UsageCount Value="10"/> 335 <Loaded Value="True"/> 336 </Unit31> 276 337 </Units> 277 338 <JumpHistory Count="30" HistoryIndex="29"> 278 339 <Position1> 279 <Filename Value="Forms\U MainOptions.pas"/>280 <Caret Line=" 52" Column="34" TopLine="30"/>340 <Filename Value="Forms\USourceSelection.pas"/> 341 <Caret Line="62" Column="18" TopLine="49"/> 281 342 </Position1> 282 343 <Position2> 283 <Filename Value="Forms\U MainOptions.pas"/>284 <Caret Line=" 51" Column="34" TopLine="29"/>344 <Filename Value="Forms\UInstanceOptions.pas"/> 345 <Caret Line="9" Column="47" TopLine="4"/> 285 346 </Position2> 286 347 <Position3> 287 <Filename Value="Forms\U MainForm.pas"/>288 <Caret Line=" 96" Column="3" TopLine="87"/>348 <Filename Value="Forms\UInstanceOptions.pas"/> 349 <Caret Line="74" Column="72" TopLine="61"/> 289 350 </Position3> 290 351 <Position4> 291 <Filename Value="Forms\U MainForm.pas"/>292 <Caret Line=" 102" Column="11" TopLine="89"/>352 <Filename Value="Forms\UInstanceOptions.pas"/> 353 <Caret Line="73" Column="16" TopLine="60"/> 293 354 </Position4> 294 355 <Position5> 295 <Filename Value="Forms\U MainForm.pas"/>296 <Caret Line=" 103" Column="14" TopLine="90"/>356 <Filename Value="Forms\USourceSelection.pas"/> 357 <Caret Line="21" Column="29" TopLine="1"/> 297 358 </Position5> 298 359 <Position6> 299 <Filename Value="Forms\U MainForm.pas"/>300 <Caret Line=" 104" Column="27" TopLine="91"/>360 <Filename Value="Forms\USourceSelection.pas"/> 361 <Caret Line="20" Column="15" TopLine="7"/> 301 362 </Position6> 302 363 <Position7> 303 <Filename Value="Forms\U MainForm.pas"/>304 <Caret Line=" 122" Column="13" TopLine="109"/>364 <Filename Value="Forms\UInstanceOptions.pas"/> 365 <Caret Line="81" Column="1" TopLine="68"/> 305 366 </Position7> 306 367 <Position8> 307 <Filename Value="Forms\U MainForm.pas"/>308 <Caret Line=" 123" Column="16" TopLine="110"/>368 <Filename Value="Forms\UInstanceOptions.pas"/> 369 <Caret Line="85" Column="1" TopLine="72"/> 309 370 </Position8> 310 371 <Position9> 311 <Filename Value="Forms\U MainForm.pas"/>312 <Caret Line=" 130" Column="7" TopLine="117"/>372 <Filename Value="Forms\UInstanceOptions.pas"/> 373 <Caret Line="59" Column="54" TopLine="52"/> 313 374 </Position9> 314 375 <Position10> 315 <Filename Value="Forms\U MainForm.pas"/>316 <Caret Line=" 444" Column="41" TopLine="420"/>376 <Filename Value="Forms\UInstanceOptions.pas"/> 377 <Caret Line="73" Column="1" TopLine="65"/> 317 378 </Position10> 318 379 <Position11> 319 <Filename Value="Forms\U MainForm.pas"/>320 <Caret Line="11 4" Column="11" TopLine="109"/>380 <Filename Value="Forms\UInstanceOptions.pas"/> 381 <Caret Line="110" Column="1" TopLine="85"/> 321 382 </Position11> 322 383 <Position12> 323 <Filename Value=" UInstance.pas"/>324 <Caret Line=" 67" Column="23" TopLine="65"/>384 <Filename Value="Forms\UInstanceOptions.pas"/> 385 <Caret Line="90" Column="1" TopLine="65"/> 325 386 </Position12> 326 387 <Position13> 327 <Filename Value="Forms\U OperationProgress.pas"/>328 <Caret Line=" 29" Column="25" TopLine="9"/>388 <Filename Value="Forms\UInstanceOptions.pas"/> 389 <Caret Line="74" Column="49" TopLine="62"/> 329 390 </Position13> 330 391 <Position14> 331 <Filename Value="Forms\U OperationProgress.pas"/>332 <Caret Line=" 73" Column="8" TopLine="60"/>392 <Filename Value="Forms\UInstanceOptions.pas"/> 393 <Caret Line="88" Column="26" TopLine="75"/> 333 394 </Position14> 334 395 <Position15> 335 <Filename Value="Forms\U OperationProgress.pas"/>336 <Caret Line=" 74" Column="35" TopLine="61"/>396 <Filename Value="Forms\UInstanceOptions.pas"/> 397 <Caret Line="115" Column="33" TopLine="95"/> 337 398 </Position15> 338 399 <Position16> 339 400 <Filename Value="UInstance.pas"/> 340 <Caret Line=" 67" Column="23" TopLine="65"/>401 <Caret Line="21" Column="20" TopLine="8"/> 341 402 </Position16> 342 403 <Position17> 343 <Filename Value="U Instance.pas"/>344 <Caret Line=" 69" Column="28" TopLine="54"/>404 <Filename Value="USource.pas"/> 405 <Caret Line="32" Column="27" TopLine="8"/> 345 406 </Position17> 346 407 <Position18> 347 <Filename Value="Forms\U OperationProgress.pas"/>348 <Caret Line=" 77" Column="23" TopLine="63"/>408 <Filename Value="Forms\UInstanceOptions.pas"/> 409 <Caret Line="86" Column="42" TopLine="73"/> 349 410 </Position18> 350 411 <Position19> 351 <Filename Value=" UInstance.pas"/>352 <Caret Line=" 69" Column="28" TopLine="54"/>412 <Filename Value="Forms\UInstanceOptions.pas"/> 413 <Caret Line="73" Column="43" TopLine="60"/> 353 414 </Position19> 354 415 <Position20> 355 <Filename Value=" UInstance.pas"/>356 <Caret Line=" 76" Column="25" TopLine="62"/>416 <Filename Value="Forms\UInstanceOptions.pas"/> 417 <Caret Line="86" Column="43" TopLine="73"/> 357 418 </Position20> 358 419 <Position21> 359 <Filename Value="U Instance.pas"/>360 <Caret Line=" 69" Column="43" TopLine="61"/>420 <Filename Value="USource.pas"/> 421 <Caret Line="32" Column="17" TopLine="19"/> 361 422 </Position21> 362 423 <Position22> 363 <Filename Value=" UInstance.pas"/>364 <Caret Line=" 68" Column="31" TopLine="61"/>424 <Filename Value="Forms\UMainForm.pas"/> 425 <Caret Line="219" Column="37" TopLine="201"/> 365 426 </Position22> 366 427 <Position23> 367 <Filename Value=" UInstance.pas"/>368 <Caret Line=" 72" Column="3" TopLine="61"/>428 <Filename Value="Forms\UInstanceOptions.pas"/> 429 <Caret Line="112" Column="41" TopLine="92"/> 369 430 </Position23> 370 431 <Position24> 371 <Filename Value=" UInstance.pas"/>372 <Caret Line=" 76" Column="28" TopLine="61"/>432 <Filename Value="Forms\UInstanceOptions.pas"/> 433 <Caret Line="86" Column="21" TopLine="65"/> 373 434 </Position24> 374 435 <Position25> 375 <Filename Value="Forms\U OperationProgress.pas"/>376 <Caret Line=" 76" Column="1" TopLine="62"/>436 <Filename Value="Forms\UInstanceOptions.pas"/> 437 <Caret Line="62" Column="17" TopLine="51"/> 377 438 </Position25> 378 439 <Position26> 379 <Filename Value=" UInstance.pas"/>380 <Caret Line=" 68" Column="28" TopLine="61"/>440 <Filename Value="Forms\USourceSelection.pas"/> 441 <Caret Line="86" Column="5" TopLine="79"/> 381 442 </Position26> 382 443 <Position27> 383 <Filename Value="Forms\U OperationProgress.pas"/>384 <Caret Line=" 76" Column="1" TopLine="62"/>444 <Filename Value="Forms\USourceSelection.pas"/> 445 <Caret Line="29" Column="19" TopLine="16"/> 385 446 </Position27> 386 447 <Position28> 387 <Filename Value=" Forms\UOperationProgress.pas"/>388 <Caret Line=" 77" Column="1" TopLine="62"/>448 <Filename Value="USource.pas"/> 449 <Caret Line="29" Column="53" TopLine="21"/> 389 450 </Position28> 390 451 <Position29> 391 <Filename Value=" Forms\UOperationProgress.pas"/>392 <Caret Line=" 79" Column="34" TopLine="62"/>452 <Filename Value="USource.pas"/> 453 <Caret Line="55" Column="40" TopLine="157"/> 393 454 </Position29> 394 455 <Position30> 395 <Filename Value="U Instance.pas"/>396 <Caret Line=" 69" Column="46" TopLine="61"/>456 <Filename Value="USource.pas"/> 457 <Caret Line="19" Column="10" TopLine="7"/> 397 458 </Position30> 398 459 </JumpHistory> … … 416 477 <StackChecks Value="True"/> 417 478 </Checks> 418 <VerifyObjMethodCallValidity Value="True"/>419 479 </CodeGeneration> 420 480 <Linking> … … 439 499 <Item1> 440 500 <Source Value="UInstance.pas"/> 441 <Line Value=" 75"/>501 <Line Value="94"/> 442 502 </Item1> 443 503 </BreakPoints> -
trunk/FreePascalManager.lpr
r5 r6 10 10 Forms, UMainForm, 11 11 UInstanceOptions, UInstance, USource, synapse, UOperationProgress, 12 UMainOptions 12 UMainOptions, USourceSelection 13 13 { you can add units after this }; 14 14 … … 21 21 Application.CreateForm(TOperationProgressForm, OperationProgressForm); 22 22 Application.CreateForm(TMainOptionsForm, MainOptionsForm); 23 Application.CreateForm(TSourceSelectionForm, SourceSelectionForm); 23 24 Application.Run; 24 25 end. -
trunk/ReadMe.txt
r5 r6 5 5 * Manage multiple FPC and IDE instances 6 6 * Download, update, build FPC and IDE 7 * Cross-platform 7 * Supported platforms Windows and Linux 8 * Can be placed to removable drive (configuration stored in XML file) 9 10 =Download= 11 12 Subversion repository: 13 http://svn.zdechov.net/svn/FreePascalManager/trunk 14 15 =Author= 16 17 Email: robie@centrum.cz (Chronos) 8 18 9 19 10 -
trunk/UInstance.pas
r5 r6 7 7 uses 8 8 Classes, SysUtils, USource, Contnrs, Process, Forms, Controls, 9 FileUtil ;9 FileUtil, Dialogs; 10 10 11 11 type … … 14 14 TInstance = class 15 15 private 16 function GetCompiled: Boolean; 16 17 function GetDownloaded: Boolean; 17 18 public 18 19 Id: Integer; 19 20 Name: string; 20 Compiled: Boolean;21 21 IDESource: TSource; 22 22 IDERevision: string; … … 27 27 procedure Build; 28 28 procedure Start; 29 procedure UpdateLazarusConfig; 30 procedure UpdateFPCConfig; 29 31 function GetPath: string; 30 32 property Downloaded: Boolean read GetDownloaded; 33 property Compiled: Boolean read GetCompiled; 31 34 end; 32 35 … … 56 59 { TInstance } 57 60 61 function TInstance.GetCompiled: Boolean; 62 begin 63 Result := FileExistsUTF8(GetPath + DirectorySeparator + FPCSource.ProjectShortName + 64 DirectorySeparator + 'bin' + DirectorySeparator + 65 MainForm.Platform + DirectorySeparator + FPCSource.GetExecutableFile); 66 if Assigned(IDESource) then Result := Result and 67 FileExistsUTF8(GetPath + DirectorySeparator + IDESource.ProjectShortName + 68 DirectorySeparator + IDESource.GetExecutableFile); 69 end; 70 58 71 function TInstance.GetDownloaded: Boolean; 59 72 begin … … 65 78 procedure TInstance.Build; 66 79 begin 67 OperationProgressForm.Environment := 'path=' + //GetEnvironmentVariable('PATH') + ';' + 68 MainForm.GetBinUtilsDir; 80 (*OperationProgressForm.Environment := 'path=' + MainForm.GetBinUtilsDir; 69 81 OperationProgressForm.Path := GetPath + DirectorySeparator + FPCSource.ProjectShortName; 70 OperationProgressForm.CommandLine := 71 '"' + MainForm.GetBinUtilsDir + DirectorySeparator + 'make.exe" clean all PP="' + 72 MainForm.GetBinUtilsDir + '"'; 82 OperationProgressForm.CommandLine := 'make all PP="' + 83 MainForm.GetBinUtilsDir + DirectorySeparator + 'fpc"'; 73 84 OperationProgressForm.ShowModal; 74 85 86 OperationProgressForm.Environment := 'path=' + MainForm.GetBinUtilsDir; 75 87 OperationProgressForm.Path := GetPath + DirectorySeparator + FPCSource.ProjectShortName; 76 OperationProgressForm.CommandLine := 77 '"' + MainForm.GetBinUtilsDir + DirectorySeparator + 'make.exe" install PREFIX="' + 88 OperationProgressForm.CommandLine := 'make install PREFIX="' + 78 89 GetPath + DirectorySeparator + FPCSource.ProjectShortName + '"' + 79 ' PP="' + MainForm.GetBinUtilsDir + '"';90 ' PP="' + MainForm.GetBinUtilsDir + DirectorySeparator + 'fpc"'; 80 91 OperationProgressForm.ShowModal; 92 *) 81 93 82 94 if Assigned(IDESource) then begin 95 OperationProgressForm.Environment := 'path=' + MainForm.GetBinUtilsDir; 83 96 OperationProgressForm.Path := GetPath + DirectorySeparator + IDESource.ProjectShortName; 84 97 OperationProgressForm.CommandLine := 85 ' "' + MainForm.GetBinUtilsDir + DirectorySeparator + 'make.exe"bigideclean bigide OPT="-Xg"';98 'make bigideclean bigide OPT="-Xg"'; 86 99 OperationProgressForm.ShowModal; 87 100 end; … … 94 107 if Assigned(IDESource) then 95 108 try 109 UpdateFPCConfig; 110 UpdateLazarusConfig; 96 111 Process := TProcess.Create(nil); 97 112 Process.CurrentDirectory := GetPath + DirectorySeparator + IDESource.ProjectShortName; 98 Process.CommandLine := IDESource.GetExecutableFile; 113 Process.CommandLine := GetPath + DirectorySeparator + IDESource.ProjectShortName + 114 DirectorySeparator + IDESource.GetExecutableFile + ' --primary-config-path=' + 115 GetPath + DirectorySeparator + IDESource.ProjectShortName + 116 DirectorySeparator + 'config'; 99 117 Process.Execute; 100 118 finally 101 119 Process.Free; 120 end; 121 end; 122 123 procedure TInstance.UpdateLazarusConfig; 124 var 125 Config: TStringList; 126 begin 127 try 128 Config := TStringList.Create; 129 Config.LoadFromFile(MainForm.GetBaseDir + DirectorySeparator + 130 MainForm.TemplateDir + DirectorySeparator + 'environmentoptions.xml'); 131 Config.Text := StringReplace(Config.Text, '%FPCDir%', GetPath + DirectorySeparator + FPCSource.ProjectShortName, [rfReplaceAll]); 132 Config.Text := StringReplace(Config.Text, '%BaseDir%', MainForm.GetBaseDir, [rfReplaceAll]); 133 Config.Text := StringReplace(Config.Text, '%LazarusDir%', GetPath + DirectorySeparator + IDESource.ProjectShortName, [rfReplaceAll]); 134 Config.Text := StringReplace(Config.Text, '%FPCPlatform%', MainForm.Platform, [rfReplaceAll]); 135 Config.Text := StringReplace(Config.Text, '%Temp%', GetEnvironmentVariableUTF8('Temp'), [rfReplaceAll]); 136 Config.SaveToFile(GetPath + DirectorySeparator + IDESource.ProjectShortName + 137 DirectorySeparator + 'config' + DirectorySeparator + 'environmentoptions.xml'); 138 finally 139 Config.Free; 140 end; 141 end; 142 143 procedure TInstance.UpdateFPCConfig; 144 var 145 Config: TStringList; 146 begin 147 try 148 Config := TStringList.Create; 149 Config.LoadFromFile(MainForm.GetBaseDir + DirectorySeparator + 150 MainForm.TemplateDir + DirectorySeparator + 'fpc.cfg'); 151 Config.Text := StringReplace(Config.Text, '$(FPCDir)', GetPath + 152 DirectorySeparator + FPCSource.ProjectShortName, [rfReplaceAll]); 153 Config.SaveToFile(GetPath + DirectorySeparator + FPCSource.ProjectShortName + 154 DirectorySeparator + 'bin' + DirectorySeparator + 155 MainForm.Platform + DirectorySeparator + 'fpc.cfg'); 156 finally 157 Config.Free; 102 158 end; 103 159 end; -
trunk/USource.pas
r5 r6 15 15 16 16 TSource = class 17 private 18 function GetDownloaded: Boolean; 19 public 17 20 Id: Integer; 18 21 ProjectName: string; … … 24 27 SourceType: TSourceType; 25 28 ExecutableFile: string; 29 property Downloaded: Boolean read GetDownloaded; 26 30 procedure Assign(Source: TSource); 27 31 procedure Download; … … 30 34 function GetExecutableFile: string; 31 35 function GetPath: string; 36 function GetName: string; 32 37 end; 33 38 … … 45 50 46 51 { TSource } 52 53 function TSource.GetDownloaded: Boolean; 54 begin 55 Result := DirectoryExistsUTF8(GetPath); 56 end; 47 57 48 58 procedure TSource.Assign(Source: TSource); … … 94 104 Result := ExtractFileDir(Application.ExeName) + DirectorySeparator + 95 105 MainForm.SourceDir + DirectorySeparator + IntToStr(Id); 106 end; 107 108 function TSource.GetName: string; 109 begin 110 Result := ProjectShortName + ' ' + VersionNumber + 111 ' (' + VersionType + ')'; 96 112 end; 97 113
Note:
See TracChangeset
for help on using the changeset viewer.