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

Comparing oup/current/Settings.pas (file contents):
Revision 46 by alloc, Sat Dec 23 16:26:43 2006 UTC vs.
Revision 53 by alloc, Sat Dec 23 23:36:07 2006 UTC

# Line 11 | Line 11 | type
11      check_filesashex: TCheckBox;
12      btn_ok:     TButton;
13      btn_cancel: TButton;
14    btn_register_oldb: TButton;
15    btn_register_opf: TButton;
16    btn_register_dat: TButton;
14      label_charset: TLabel;
15      combo_charset: TComboBox;
16      check_hideunused: TCheckBox;
17 <    procedure btn_register_opfClick(Sender: TObject);
18 <    procedure btn_register_oldbClick(Sender: TObject);
19 <    procedure btn_register_datClick(Sender: TObject);
17 >    check_reg_dat: TCheckBox;
18 >    check_reg_oldb: TCheckBox;
19 >    check_reg_opf: TCheckBox;
20      procedure btn_cancelClick(Sender: TObject);
21      procedure btn_okClick(Sender: TObject);
22      procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
23      procedure FormShow(Sender: TObject);
24 <    function RegisterExtension(ext: String): Integer;
24 >    function RegisterExtension(ext: String; reg: Boolean): Integer;
25    private
26    public
27    end;
# Line 64 | Line 61 | end;
61  
62  
63  
64 < function TForm_Settings.RegisterExtension(ext: String): Integer;
64 > function TForm_Settings.RegisterExtension(ext: String; reg: Boolean): Integer;
65   var
66    ftr:     TFileTypeRegistration;
67    temps:   String;
68    warnmsg: String;
69   begin
70    Result := -1;
71 <  if ExtensionRegistered(ext, temps) then
72 <  begin
76 <    if temps <> 'ONI' + ext then
77 <    begin
78 <      warnmsg := ext + '-files are not registered to OUP but as "' +
79 <        temps + '"-files.' + #13 + #10 + 'Do you really want to unregister' +
80 <        ext + '-files?';
81 <      if MessageBox(Self.Handle, PChar(warnmsg), PChar('Warning'), MB_YESNO) = ID_NO then
82 <        Exit;
83 <    end;
84 <    ftr := TFileTypeRegistration.Create;
85 <    if ftr <> nil then
86 <      try
87 <        if not ftr.UnregisterExtension(ext) then
88 <          ShowMessage('Could not unregister ' + ext + '-files')
89 <        else
90 <          Result := 2;
91 <      finally
92 <        ftr.Free;
93 <      end;
94 <  end
95 <  else
71 >  ftr := TFileTypeRegistration.Create;
72 >  if reg then
73    begin
74 <    ftr := TFileTypeRegistration.Create;
75 <    if ftr <> nil then
74 >    if ExtensionRegistered(ext, temps) then
75 >      if not ftr.UnregisterExtension(ext) then
76 >        ShowMessage('Could not unregister ' + ext + '-files');
77 >    if ftr.RegisterType(ext, 'ONI' + ext, 'ONI ' + ext + '-file', Application.EXEname + ',1') then
78      begin
79 <      try
80 <        if ftr.RegisterType(ext, 'ONI' + ext, 'ONI ' + ext + '-file',
81 <          Application.EXEname + ',1') then
103 <        begin
104 <          ftr.AddHandler('open', '"' + Application.EXEname + '" ' + MidStr(
105 <            ext, 2, Length(ext) - 1) + ' "%1"');
106 <          ftr.SetDefaultHandler;
107 <          Result := 1;
108 <        end;
109 <      finally
110 <        ftr.Free;
111 <      end;
79 >      ftr.AddHandler('open', '"' + Application.EXEname + '" ' + MidStr(
80 >        ext, 2, Length(ext) - 1) + ' "%1"');
81 >      ftr.SetDefaultHandler;
82      end;
83 +  end else begin
84 +    if ExtensionRegistered(ext, temps) then
85 +      if not ftr.UnregisterExtension(ext) then
86 +        ShowMessage('Could not unregister ' + ext + '-files');
87    end;
88 +  ftr.Free;
89   end;
90  
91  
# Line 125 | Line 100 | end;
100  
101  
102   procedure TForm_Settings.btn_okClick(Sender: TObject);
103 + var
104 +  temps: String;
105   begin
106    AppSettings.FilenumbersAsHex := check_filesashex.Checked;
107    AppSettings.CharSet := StrToInt(
# Line 134 | Line 111 | begin
111      ' ', combo_charset.Items.Strings[combo_charset.ItemIndex]) - 2));
112    AppSettings.HideUnusedData := check_hideunused.Checked;
113  
114 <  Self.Close;
115 < end;
116 <
117 <
118 <
119 <
120 < procedure TForm_Settings.btn_register_datClick(Sender: TObject);
121 < begin
122 <  case RegisterExtension('.dat') of
123 <    2:
124 <      btn_register_dat.Caption := 'Register .dat files with OUP';
125 <    1:
126 <      btn_register_dat.Caption := 'Unregister .dat files';
150 <  end;
151 < end;
152 <
153 <
154 <
155 <
156 < procedure TForm_Settings.btn_register_oldbClick(Sender: TObject);
157 < begin
158 <  case RegisterExtension('.oldb') of
159 <    2:
160 <      btn_register_oldb.Caption := 'Register .oldb files with OUP';
161 <    1:
162 <      btn_register_oldb.Caption := 'Unregister .oldb files';
163 <  end;
164 < end;
165 <
114 >  if check_reg_dat.Checked then
115 >  begin
116 >    if ExtensionRegistered('.dat', temps) then
117 >    begin
118 >      if temps <> 'ONI.dat' then
119 >        if MessageBox(Self.Handle, PChar('.dat-files already registered to "' +
120 >              temps+'". Reregister?'), PChar('Reregister?'),
121 >              MB_YESNO + MB_ICONQUESTION) = ID_YES then
122 >          RegisterExtension('.dat', True);
123 >    end else
124 >      RegisterExtension('.dat', True);
125 >  end else
126 >    RegisterExtension('.dat', False);
127  
128 +  if check_reg_oldb.Checked then
129 +  begin
130 +    if ExtensionRegistered('.oldb', temps) then
131 +    begin
132 +      if temps <> 'ONI.oldb' then
133 +        if MessageBox(Self.Handle, PChar('.oldb-files already registered to "' +
134 +              temps+'". Reregister?'), PChar('Reregister?'),
135 +              MB_YESNO + MB_ICONQUESTION) = ID_YES then
136 +          RegisterExtension('.oldb', True);
137 +    end else
138 +      RegisterExtension('.oldb', True);
139 +  end else
140 +    RegisterExtension('.oldb', False);
141  
142 +  if check_reg_opf.Checked then
143 +  begin
144 +    if ExtensionRegistered('.opf', temps) then
145 +    begin
146 +      if temps <> 'ONI.opf' then
147 +        if MessageBox(Self.Handle, PChar('.opf-files already registered to "' +
148 +              temps+'". Reregister?'), PChar('Reregister?'),
149 +              MB_YESNO + MB_ICONQUESTION) = ID_YES then
150 +          RegisterExtension('.opf', True);
151 +    end else
152 +      RegisterExtension('.opf', True);
153 +  end else
154 +    RegisterExtension('.opf', False);
155  
156 < procedure TForm_Settings.btn_register_opfClick(Sender: TObject);
170 < begin
171 <  case RegisterExtension('.opf') of
172 <    2:
173 <      btn_register_opf.Caption := 'Register .opf files with OUP';
174 <    1:
175 <      btn_register_opf.Caption := 'Unregister .opf files';
176 <  end;
156 >  Self.Close;
157   end;
158  
159  
# Line 196 | Line 176 | var
176    i:     Byte;
177   begin
178    if ExtensionRegistered('.dat', temps) then
179 <    btn_register_dat.Caption := 'Unregister .dat files'
179 >    check_reg_dat.Checked := temps = 'ONI.dat'
180    else
181 <    btn_register_dat.Caption := 'Register .dat files with OUP';
181 >    check_reg_dat.Checked := False;
182 >
183    if ExtensionRegistered('.oldb', temps) then
184 <    btn_register_oldb.Caption := 'Unregister .oldb files'
184 >    check_reg_oldb.Checked := temps = 'ONI.oldb'
185    else
186 <    btn_register_oldb.Caption := 'Register .oldb files with OUP';
186 >    check_reg_oldb.Checked := False;
187 >
188    if ExtensionRegistered('.opf', temps) then
189 <    btn_register_opf.Caption := 'Unregister .opf files'
189 >    check_reg_opf.Checked := temps = 'ONI.opf'
190    else
191 <    btn_register_opf.Caption := 'Register .opf files with OUP';
191 >    check_reg_opf.Checked := False;
192 >
193    check_filesashex.Checked := AppSettings.FilenumbersAsHex;
194    check_hideunused.Checked := AppSettings.HideUnusedData;
195  

Diff Legend

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