ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/oup/_old_/Tools/Template.pas
(Generate patch)

Comparing oup/current/Tools/Template.pas (file contents):
Revision 86 by alloc, Sun Jan 14 20:19:08 2007 UTC vs.
Revision 87 by alloc, Sun Jan 14 22:59:34 2007 UTC

# Line 101 | Line 101 | var
101    oldcon: String;
102   begin
103    oldcon := combo_connection.Items.Strings[combo_connection.ItemIndex];
104 +  combo_connection.ItemIndex := -1;
105    combo_connection.Items.Clear;
106 <  for i := 0 to High(DataConnections) do
106 >  if Length(DataConnections) > 0 then
107    begin
108 <    level := DataConnections[i].LevelInfo.LevelNumber;
109 <    fn := ExtractFileName(DataConnections[i].FileName);
110 <    if DataConnections[i].Backend = ODB_Dat then
111 <      datatype := 'ONI-.dat: '
112 <    else if DataConnections[i].Backend = ODB_ADB then
113 <      datatype := 'OUP-DB: '
114 <    else
115 <      datatype := 'Unknown: ';
116 <    boxstring := datatype + fn + ' (Level: ' + IntToStr(level) + ')';
117 <    combo_connection.Items.Add(boxstring);
118 <    if oldcon = boxstring then
119 <      combo_connection.ItemIndex := combo_connection.Items.Count - 1;
108 >    for i := 0 to High(DataConnections) do
109 >    begin
110 >      level := DataConnections[i].LevelInfo.LevelNumber;
111 >      fn := ExtractFileName(DataConnections[i].FileName);
112 >      if DataConnections[i].Backend = ODB_Dat then
113 >        datatype := 'ONI-.dat: '
114 >      else if DataConnections[i].Backend = ODB_ADB then
115 >        datatype := 'OUP-DB: '
116 >      else
117 >        datatype := 'Unknown: ';
118 >      boxstring := datatype + fn + ' (Level: ' + IntToStr(level) + ')';
119 >      combo_connection.Items.Add(boxstring);
120 >      if oldcon = boxstring then
121 >        combo_connection.ItemIndex := combo_connection.Items.Count - 1;
122 >    end;
123 >    if combo_connection.ItemIndex = -1 then
124 >    begin
125 >      combo_connection.ItemIndex := 0;
126 >      combo_connectionChange(Self);
127 >    end;
128 >  end
129 >  else
130 >  begin
131 >    FConnection := nil;
132 >    filelist.Items.Clear;
133 >    combo_extension.Items.Clear;
134 >    combo_connectionChange(Self);
135 >    FSelectedFile := GetEmptyFileInfo;
136 >    if Assigned(FOnNewFileSelected) then
137 >      FOnNewFileSelected(FSelectedFile);
138    end;
139   end;
140  
# Line 126 | Line 145 | var
145    level: Integer;
146   begin
147    combo_connection.Items.Clear;
148 <  for i := 0 to High(DataConnections) do
148 >  if Length(DataConnections) > 0 then
149    begin
150 <    level := DataConnections[i].LevelInfo.LevelNumber;
151 <    fn := ExtractFileName(DataConnections[i].FileName);
152 <    if DataConnections[i].Backend = ODB_Dat then
153 <      datatype := 'ONI-.dat: '
154 <    else if DataConnections[i].Backend = ODB_ADB then
155 <      datatype := 'OUP-DB: '
156 <    else
157 <      datatype := 'Unknown: ';
158 <    combo_connection.Items.Add(datatype + fn + ' (Level: ' + IntToStr(level) + ')');
159 <  end;
160 <  FConnection := DataConnections[0];
161 <  combo_connection.ItemIndex := 0;
162 <  combo_connectionChange(Self);
150 >    for i := 0 to High(DataConnections) do
151 >    begin
152 >      level := DataConnections[i].LevelInfo.LevelNumber;
153 >      fn := ExtractFileName(DataConnections[i].FileName);
154 >      if DataConnections[i].Backend = ODB_Dat then
155 >        datatype := 'ONI-.dat: '
156 >      else if DataConnections[i].Backend = ODB_ADB then
157 >        datatype := 'OUP-DB: '
158 >      else
159 >        datatype := 'Unknown: ';
160 >      combo_connection.Items.Add(datatype + fn + ' (Level: ' + IntToStr(level) + ')');
161 >    end;
162 >    FConnection := DataConnections[0];
163 >    combo_connection.ItemIndex := 0;
164 >    combo_connectionChange(Self);
165 >  end
166 >  else
167 >  begin
168 >    FConnection := nil;
169 >    filelist.Items.Clear;
170 >    combo_extension.Items.Clear;
171 >    combo_connectionChange(Self);
172 >  end;
173   end;
174  
175   procedure TForm_ToolTemplate.RecreateExtList;
# Line 149 | Line 178 | var
178    exts: TStringArray;
179   begin
180    combo_extension.Items.Clear;
181 <  combo_extension.Items.Add('_All files_ (' +
182 <    IntToStr(FConnection.GetFilesCount) + ')');
183 <  exts := FConnection.GetExtensionsList;
184 <  for i := 0 to High(exts) do
185 <    if Length(FAllowedExts) > 0 then
186 <    begin
187 <      if Pos(MidStr(exts[i],1,4), FAllowedExts) > 0 then
181 >  if FConnection <> nil then
182 >  begin
183 >    combo_extension.Items.Add('_All files_ (' +
184 >      IntToStr(FConnection.GetFilesCount) + ')');
185 >    exts := FConnection.GetExtensionsList;
186 >    for i := 0 to High(exts) do
187 >      if Length(FAllowedExts) > 0 then
188        begin
189 +        if Pos(MidStr(exts[i],1,4), FAllowedExts) > 0 then
190 +        begin
191 +          combo_extension.Items.Add(exts[i]);
192 +        end;
193 +      end else
194          combo_extension.Items.Add(exts[i]);
195 <      end;
196 <    end else
197 <      combo_extension.Items.Add(exts[i]);
164 <  combo_extension.ItemIndex := 0;
165 <  combo_extensionClick(Self);
195 >    combo_extension.ItemIndex := 0;
196 >    combo_extensionClick(Self);
197 >  end;
198   end;
199  
200  
# Line 176 | Line 208 | var
208    files: TStringArray;
209    i: LongWord;
210   begin
211 <  Extension := MidStr(combo_extension.Items.Strings[combo_extension.ItemIndex], 1, 4);
212 <  no_zero_bytes := not check_zerobyte.Checked;
213 <  pattern := '';
214 <  if check_filtername.Checked then
215 <    pattern := edit_filtername.Text;
216 <  if Extension = '_All' then
217 <    if Length(FAllowedExts) > 0 then
218 <      Extension := FAllowedExts
219 <    else
220 <      Extension := '';
221 <
222 <  files := FConnection.GetFilesList(extension, pattern, no_zero_bytes, FSortBy);
223 <
224 <  filelist.Visible := False;
225 <  filelist.Items.Clear;
226 <  if Length(files) > 0 then
227 <    for i := 0 to High(files) do
228 <      filelist.Items.Add(files[i]);
229 <  filelist.Visible := True;
211 >  if FConnection <> nil then
212 >  begin
213 >    Extension := MidStr(combo_extension.Items.Strings[combo_extension.ItemIndex], 1, 4);
214 >    no_zero_bytes := not check_zerobyte.Checked;
215 >    pattern := '';
216 >    if check_filtername.Checked then
217 >      pattern := edit_filtername.Text;
218 >    if Extension = '_All' then
219 >      if Length(FAllowedExts) > 0 then
220 >        Extension := FAllowedExts
221 >      else
222 >        Extension := '';
223 >
224 >    files := FConnection.GetFilesList(extension, pattern, no_zero_bytes, FSortBy);
225 >
226 >    filelist.Visible := False;
227 >    filelist.Items.Clear;
228 >    if Length(files) > 0 then
229 >      for i := 0 to High(files) do
230 >        filelist.Items.Add(files[i]);
231 >    filelist.Visible := True;
232 >  end;
233   end;
234  
235  
# Line 295 | Line 330 | var
330   begin
331    inherited;
332    RecreateList;
333 <  FConnection := nil;
299 <  FSelectedFile.ID := -1;
300 <  FSelectedFile.FileName := '';
301 <  FSelectedFile.FileNameHex := '';
333 >  FSelectedFile := GetEmptyFileInfo;
334    if Length(ToolList) > 0 then
335    begin
336      for i := 0 to High(ToolList) do

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)