source: trunk/Forms/FormMain.pas

Last change on this file was 23, checked in by chronos, 2 weeks ago
  • Modified: All unit renamed to names without U prefix.
  • Modified: Removed global form variables.
  • Modified: Code cleanup.
File size: 3.6 KB
Line 
1unit FormMain;
2
3interface
4
5uses
6 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
7 Menus, ActnList, ExtCtrls, FormBrowse, FormProjectGroup;
8
9type
10
11 { TFormMain }
12
13 TFormMain = class(TForm)
14 MainMenu1: TMainMenu;
15 MenuItem1: TMenuItem;
16 MenuItem10: TMenuItem;
17 MenuItem11: TMenuItem;
18 MenuItem12: TMenuItem;
19 MenuItem13: TMenuItem;
20 MenuItem14: TMenuItem;
21 MenuItem15: TMenuItem;
22 MenuItem16: TMenuItem;
23 MenuItem17: TMenuItem;
24 MenuItem18: TMenuItem;
25 MenuItem19: TMenuItem;
26 MenuItem20: TMenuItem;
27 MenuItem21: TMenuItem;
28 MenuItem22: TMenuItem;
29 MenuItem26: TMenuItem;
30 MenuItemRecentProjectGroup: TMenuItem;
31 MenuItem23: TMenuItem;
32 MenuItem24: TMenuItem;
33 MenuItem25: TMenuItem;
34 MenuItemOpenRecent: TMenuItem;
35 MenuItem2: TMenuItem;
36 MenuItem3: TMenuItem;
37 MenuItem4: TMenuItem;
38 MenuItem5: TMenuItem;
39 MenuItem6: TMenuItem;
40 MenuItem7: TMenuItem;
41 MenuItem8: TMenuItem;
42 MenuItem9: TMenuItem;
43 MenuItemQuit: TMenuItem;
44 MenuItemFile: TMenuItem;
45 StatusBar1: TStatusBar;
46 ToolBarMain: TToolBar;
47 ToolButton1: TToolButton;
48 ToolButton2: TToolButton;
49 ToolButton3: TToolButton;
50 procedure FormActivate(Sender: TObject);
51 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
52 procedure FormCreate(Sender: TObject);
53 procedure FormDestroy(Sender: TObject);
54 procedure FormShow(Sender: TObject);
55 procedure MenuItemFileClick(Sender: TObject);
56 private
57 Initialized: Boolean;
58 public
59 FormBrowse: TFormBrowse;
60 FormProjectGroup: TFormProjectGroup;
61 procedure ProjectGroupOpenRecentExecute(Sender: TObject);
62 procedure OpenRecentExecute(Sender: TObject);
63 procedure UpdateInterface;
64 procedure DockInit;
65 end;
66
67
68implementation
69
70{$R *.lfm}
71
72uses
73 Core;
74
75{ TFormMain }
76
77procedure TFormMain.FormShow(Sender: TObject);
78begin
79 DockInit;
80end;
81
82procedure TFormMain.MenuItemFileClick(Sender: TObject);
83begin
84
85end;
86
87procedure TFormMain.OpenRecentExecute(Sender: TObject);
88begin
89 Core.Core.ProjectOpen(Core.Core.LastOpenedListProject.Items[TMenuItem(Sender).MenuIndex]);
90end;
91
92procedure TFormMain.ProjectGroupOpenRecentExecute(Sender: TObject);
93begin
94 Core.Core.ProjectGroupOpen(Core.Core.LastOpenedListProjectGroup.Items[TMenuItem(Sender).MenuIndex]);
95end;
96
97procedure TFormMain.FormActivate(Sender: TObject);
98begin
99 if not Initialized then begin
100 Initialized := True;
101 Core.Core.Init;
102 end;
103end;
104
105procedure TFormMain.FormClose(Sender: TObject; var CloseAction: TCloseAction);
106begin
107 Core.Core.Done;
108end;
109
110procedure TFormMain.FormCreate(Sender: TObject);
111begin
112 FormBrowse := TFormBrowse.Create(nil);
113 FormProjectGroup := TFormProjectGroup.Create(nil);
114end;
115
116procedure TFormMain.FormDestroy(Sender: TObject);
117begin
118 FreeAndNil(FormProjectGroup);
119 FreeAndNil(FormBrowse);
120end;
121
122procedure TFormMain.UpdateInterface;
123const
124 AppName = 'VCSCommander';
125var
126 NewCaption: string;
127begin
128 NewCaption := '';
129 if Assigned(Core.Core.Project) then
130 NewCaption := Core.Core.Project.Directory + ' (' + Core.Core.Project.Backend.Name + ') - ';
131 NewCaption := NewCaption + AppName;
132 Caption := NewCaption;
133end;
134
135procedure TFormMain.DockInit;
136var
137 NewSplitter: TSplitter;
138begin
139 FormProjectGroup.ManualDock(Self, nil, alLeft);
140 FormProjectGroup.Align := alLeft;
141 FormProjectGroup.Show;
142 NewSplitter := TSplitter.Create(nil);
143 NewSplitter.ManualDock(Self, nil, alLeft);
144 NewSplitter.Align := alLeft;
145 NewSplitter.Left := FormProjectGroup.Width;
146 NewSplitter.Show;
147 FormBrowse.ManualDock(Self, nil, alClient);
148 FormBrowse.Align := alClient;
149 FormBrowse.Show;
150end;
151
152end.
153
Note: See TracBrowser for help on using the repository browser.