Changeset 23 for trunk/Core.pas
- Timestamp:
- Apr 4, 2025, 9:22:05 AM (2 weeks ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Core.pas
r22 r23 1 unit UCore;1 unit Core; 2 2 3 3 interface 4 4 5 5 uses 6 Classes, SysUtils, XMLConf, LazFileUtils, ActnList, Controls, UVCS, UProject,7 LastOpenedList, Forms, Dialogs, Menus, Contnrs, UBackend;6 Classes, SysUtils, XMLConf, LazFileUtils, ActnList, Controls, VCS, Project, 7 LastOpenedList, Forms, Dialogs, Menus, Generics.Collections, Backend, FormMain; 8 8 9 9 type … … 65 65 function DetectBackend(Directory: string): TBackend; 66 66 public 67 Backends: T ObjectList; // TList<TBackend>67 Backends: TList<TBackend>; 68 68 Project: TProject; 69 69 ProjectGroup: TProjectGroup; 70 70 UserName: string; 71 71 Email: string; 72 FormMain: TFormMain; 72 73 procedure LoadConfig; 73 74 procedure SaveConfig; … … 87 88 88 89 uses 89 UFormMain, UFormBrowse, UFormSettings, UFormCommit, UFormCheckout,90 USubversion, UBazaar, UCVS, UGit, UFormTest, UFormProjectGroup;90 FormBrowse, FormSettings, FormCommit, FormCheckout, 91 Subversion, Bazaar, CVS, Git, FormTest, FormProjectGroup; 91 92 92 93 { TCore } … … 94 95 procedure TCore.AQuitExecute(Sender: TObject); 95 96 begin 97 FormMain.Close; 96 98 Application.Terminate; 97 99 end; … … 123 125 124 126 procedure TCore.ASettingsExecute(Sender: TObject); 125 begin 126 FormSettings.Load(XMLConfig1); 127 if FormSettings.ShowModal = mrOk then begin 128 FormSettings.Save(XMLConfig1); 127 var 128 FormSettings: TFormSettings; 129 begin 130 FormSettings := TFormSettings.Create(nil); 131 try 132 FormSettings.Load(XMLConfig1); 133 if FormSettings.ShowModal = mrOk then begin 134 FormSettings.Save(XMLConfig1); 135 end; 136 finally 137 FormSettings.Free; 129 138 end; 130 139 end; 131 140 132 141 procedure TCore.AViewTestExecute(Sender: TObject); 133 begin 134 FormTest.Show; 142 var 143 FormTest: TFormTest; 144 begin 145 FormTest := TFormTest.Create(nil); 146 try 147 FormTest.Show; 148 finally 149 FormTest.Free; 150 end; 135 151 end; 136 152 137 153 procedure TCore.DataModuleCreate(Sender: TObject); 138 154 begin 139 Backends := T ObjectList.Create;155 Backends := TList<TBackend>.Create; 140 156 Project := nil; 157 158 Application.CreateForm(TFormMain, FormMain); 159 FormMain.Show; 141 160 end; 142 161 … … 235 254 Project.Directory := Directory; 236 255 UpdateInterface; 237 Form Browse.Directory := Project.Directory;238 Form Browse.ReloadList;256 FormMain.FormBrowse.Directory := Project.Directory; 257 FormMain.FormBrowse.ReloadList; 239 258 LastOpenedListProject.AddItem(Project.Directory); 240 259 end else ShowMessage('Directory ''' + Directory + ''' not recognized as working copy of any of supported VCS systems'); … … 247 266 ProjectGroup.FileName := FileName; 248 267 UpdateInterface; 249 Form ProjectGroup.ReloadTree;268 FormMain.FormProjectGroup.ReloadTree; 250 269 LastOpenedListProjectGroup.AddItem(FileName); 251 270 end; … … 266 285 begin 267 286 FreeAndNil(Project); 268 Form Browse.Directory := '';269 Form Browse.ReloadList;287 FormMain.FormBrowse.Directory := ''; 288 FormMain.FormBrowse.ReloadList; 270 289 UpdateInterface; 271 290 end; … … 275 294 FreeAndNil(ProjectGroup); 276 295 UpdateInterface; 277 Form ProjectGroup.ReloadTree;296 FormMain.FormProjectGroup.ReloadTree; 278 297 end; 279 298 … … 284 303 ProjectGroup.FileName := 'New project group.vcgrp'; 285 304 UpdateInterface; 286 Form ProjectGroup.ReloadTree;305 FormMain.FormProjectGroup.ReloadTree; 287 306 end; 288 307 … … 320 339 var 321 340 TempProject: TProject; 322 begin 323 if LastOpenedListRepoURL.Items.Count > 0 then 324 FormCheckout.EditURL.Text := LastOpenedListRepoURL.Items[0]; 325 if LastOpenedListNewDir.Items.Count > 0 then 326 FormCheckout.EditDir.Text := LastOpenedListNewDir.Items[0]; 327 if FormCheckout.ShowModal = mrOk then begin 328 LastOpenedListRepoURL.AddItem(FormCheckout.EditURL.Text); 329 LastOpenedListNewDir.AddItem(FormCheckout.EditDir.Text); 330 TempProject := TProject.Create; 331 try 332 TempProject.Backend := TBackend(FormCheckout.ComboBox1.Items.Objects[FormCheckout.ComboBox1.ItemIndex]); 333 TempProject.Directory := FormCheckout.EditDir.Text; 334 TempProject.RepositoryURL := FormCheckout.EditURL.Text; 335 TempProject.WorkingCopy.Checkout; 336 finally 337 TempProject.Free; 341 FormCheckout: TFormCheckout; 342 begin 343 FormCheckout := TFormCheckout.Create(nil); 344 try 345 if LastOpenedListRepoURL.Items.Count > 0 then 346 FormCheckout.EditURL.Text := LastOpenedListRepoURL.Items[0]; 347 if LastOpenedListNewDir.Items.Count > 0 then 348 FormCheckout.EditDir.Text := LastOpenedListNewDir.Items[0]; 349 if FormCheckout.ShowModal = mrOk then begin 350 LastOpenedListRepoURL.AddItem(FormCheckout.EditURL.Text); 351 LastOpenedListNewDir.AddItem(FormCheckout.EditDir.Text); 352 TempProject := TProject.Create; 353 try 354 TempProject.Backend := TBackend(FormCheckout.ComboBox1.Items.Objects[FormCheckout.ComboBox1.ItemIndex]); 355 TempProject.Directory := FormCheckout.EditDir.Text; 356 TempProject.RepositoryURL := FormCheckout.EditURL.Text; 357 TempProject.WorkingCopy.Checkout; 358 finally 359 TempProject.Free; 360 end; 361 ProjectOpen(FormCheckout.EditDir.Text); 338 362 end; 339 ProjectOpen(FormCheckout.EditDir.Text); 363 finally 364 FormCheckout.Free; 340 365 end; 341 366 end; … … 347 372 348 373 procedure TCore.ACommandCommitExecute(Sender: TObject); 349 begin 350 if FormCommit.ShowModal = mrOk then begin 351 Project.WorkingCopy.Commit(FormCommit.MemoMessage.Lines); 374 var 375 FormCommit: TFormCommit; 376 begin 377 FormCommit := TFormCommit.Create(nil); 378 try 379 if FormCommit.ShowModal = mrOk then begin 380 Project.WorkingCopy.Commit(FormCommit.MemoMessage.Lines); 381 end; 382 finally 383 FormCommit.Free; 352 384 end; 353 385 end;
Note:
See TracChangeset
for help on using the changeset viewer.