DEADSOFTWARE

Added new optios(thanks GranMinigun!), added .dfz extension(now default) and fixed...
[d2df-editor.git] / src / editor / f_options.pas
index 99be37674802e7264d71763af56ebcaee5ec2093..8a77b180abf987c647abd3e97d36d7b7b9ae0c2c 100644 (file)
@@ -1,18 +1,24 @@
 unit f_options;
 
-{$MODE Delphi}
+{$INCLUDE ../shared/a_modes.inc}
 
 interface
 
 uses
-  LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes,
+  LCLIntf, LCLType, SysUtils, Variants, Classes,
   Graphics, Controls, Forms, Dialogs, StdCtrls,
   ExtCtrls, ComCtrls, Registry;
 
 type
+
+  { TOptionsForm }
+
   TOptionsForm = class (TForm)
     bOK: TButton;
     bCancel: TButton;
+    cbCheckerboard: TCheckBox;
+    cbCompress: TCheckBox;
+    cbBackup: TCheckBox;
     ColorDialog: TColorDialog;
     GroupBox1: TGroupBox;
   // Общие настройки:
@@ -71,7 +77,7 @@ procedure RegisterFileType(ext: String; FileName: String);
 implementation
 
 uses
-  f_main, StdConvs, CONFIG, g_language;
+  f_main, StdConvs, CONFIG, g_language, g_resources;
 
 {$R *.lfm}
 
@@ -115,6 +121,9 @@ begin
   eDotStepTwo.Text := IntToStr(DotStepTwo);
   sBackColor.Brush.Color := BackColor;
   sPreviewColor.Brush.Color := PreviewColor;
+  cbCheckerboard.Checked := UseCheckerboard;
+  cbCompress.Checked := Compress;
+  cbBackup.Checked := Backup;
   if Scale = 2 then
     cbScale.ItemIndex := 1
   else
@@ -184,6 +193,9 @@ begin
   DrawPanelSize := cbShowSize.Checked;
   BackColor := sBackColor.Brush.Color;
   PreviewColor := sPreviewColor.Brush.Color;
+  UseCheckerboard := cbCheckerboard.Checked;
+  Compress := cbCompress.Checked;
+  Backup := cbBackup.Checked;
 
   if cbScale.ItemIndex = 1 then
     Scale := 2
@@ -195,7 +207,7 @@ begin
   else
     DotSize := 1;
 
-  config := TConfig.CreateFile(EditorDir+'/Editor.cfg');
+  config := TConfig.CreateFile(EditorDir+'Editor.cfg');
 
   config.WriteInt('Editor', 'DotColor', DotColor);
   config.WriteBool('Editor', 'DotEnable', DotEnable);
@@ -207,9 +219,12 @@ begin
   config.WriteBool('Editor', 'DrawPanelSize', DrawPanelSize);
   config.WriteInt('Editor', 'BackColor', BackColor);
   config.WriteInt('Editor', 'PreviewColor', PreviewColor);
+  config.WriteBool('Editor', 'UseCheckerboard', UseCheckerboard);
   config.WriteInt('Editor', 'Scale', cbScale.ItemIndex);
   config.WriteInt('Editor', 'RecentCount', re);
   config.WriteStr('Editor', 'Language', gLanguage);
+  config.WriteBool('Editor', 'Compress', Compress);
+  config.WriteBool('Editor', 'Backup', Backup);
 
   if RecentCount <> re then
   begin
@@ -217,7 +232,7 @@ begin
     MainForm.RefreshRecentMenu();
   end;
 
-  config.SaveFile(EditorDir+'/Editor.cfg');
+  config.SaveFile(EditorDir+'Editor.cfg');
   config.Free();
   Close();
 end;