Menu

Commit [r2897]  Maximize  Restore  History

Replaced IPreferences AutoCheckDatabaseUpdates and AutoCheckProgramUpdates properties with AutoCheckDatabaseFrequency and AutoCheckProgramFrequency respectively. These properties now specify a frequency of update checking in days, with 0 being "don't check".

delphidabbler 2013-04-03

changed /trunk/Src/UPreferences.pas
/trunk/Src/UPreferences.pas Diff Switch to side-by-side view
--- a/trunk/Src/UPreferences.pas
+++ b/trunk/Src/UPreferences.pas
@@ -237,27 +237,31 @@
     property PageStructures: TSnippetPageStructures
       read GetPageStructures write SetPageStructures;
 
-    ///  <summary>Gets flag that indicates whether the program should
-    ///  automatically check for program updates.</summary>
-    function GetAutoCheckProgramUpdates: Boolean;
-    ///  <summary>Sets flag that indicates whether the program should
-    ///  automatically check for program updates.</summary>
-    procedure SetAutoCheckProgramUpdates(const Value: Boolean);
-    ///  <summary>Indicates whether the program should automatically check
-    ///  for program updates.</summary>
-    property AutoCheckProgramUpdates: Boolean
-      read GetAutoCheckProgramUpdates write SetAutoCheckProgramUpdates;
-
-    ///  <summary>Gets flag that indicates whether the program should
-    ///  automatically check for database updates.</summary>
-    function GetAutoCheckDatabaseUpdates: Boolean;
-    ///  <summary>Sets flag that indicates whether the program should
-    ///  automatically check for database updates.</summary>
-    procedure SetAutoCheckDatabaseUpdates(const Value: Boolean);
-    ///  <summary>Indicates whether the program should automatically check
-    ///  for database updates.</summary>
-    property AutoCheckDatabaseUpdates: Boolean
-      read GetAutoCheckDatabaseUpdates write SetAutoCheckDatabaseUpdates;
+    ///  <summary>Gets frequency, in days, that the program should automatically
+    ///  check for program updates.</summary>
+    function GetAutoCheckProgramFrequency: Word;
+    ///  <summary>Sets frequency, in days, that the program should automatically
+    ///  check for program updates.</summary>
+    procedure SetAutoCheckProgramFrequency(const Value: Word);
+    ///  <summary>Frequency, in days, that the program should automatically
+    ///  check for program updates.</summary>
+    ///  <remarks>A value of zero indicates that no update checking should
+    ///  take place.</remarks>
+    property AutoCheckProgramFrequency: Word
+      read GetAutoCheckProgramFrequency write SetAutoCheckProgramFrequency;
+
+    ///  <summary>Gets frequency, in days, that the program should automatically
+    ///  check for database updates.</summary>
+    function GetAutoCheckDatabaseFrequency: Word;
+    ///  <summary>Sets frequency, in days, that the program should automatically
+    ///  check for database updates.</summary>
+    procedure SetAutoCheckDatabaseFrequency(const Value: Word);
+    ///  <summary>Frequency, in days, that the program should automatically
+    ///  check for database updates.</summary>
+    ///  <remarks>A value of zero indicates that no update checking should
+    ///  take place.</remarks>
+    property AutoCheckDatabaseFrequency: Word
+      read GetAutoCheckDatabaseFrequency write SetAutoCheckDatabaseFrequency;
   end;
 
 
@@ -343,12 +347,16 @@
       ///  <summary>Information describing snippet detail page customisations.
       ///  </summary>
       fPageStructures: TSnippetPageStructures;
-      ///  <summary>Indicates whether the program should automatically check
-      ///  for program updates.</summary>
-      fAutoCheckProgramUpdates: Boolean;
-      ///  <summary>Indicates whether the program should automatically check
-      ///  for database updates.</summary>
-      fAutoCheckDatabaseUpdates: Boolean;
+      ///  <summary>Frequency, in days, that the program should automatically
+      ///  check for program updates.</summary>
+      ///  <remarks>A value of zero indicates that no update checking should
+      ///  take place.</remarks>
+      fAutoCheckProgramFrequency: Word;
+      ///  <summary>Frequency, in days, that the program should automatically
+      ///  check for database updates.</summary>
+      ///  <remarks>A value of zero indicates that no update checking should
+      ///  take place.</remarks>
+      fAutoCheckDatabaseFrequency: Word;
   public
     ///  <summary>Constructs a new object instance.</summary>
     constructor Create;
@@ -539,25 +547,25 @@
     ///  <remarks>Method of IPreferences.</remarks>
     procedure SetPageStructures(PageStructures: TSnippetPageStructures);
 
-    ///  <summary>Gets flag that indicates whether the program should
-    ///  automatically check for program updates.</summary>
-    ///  <remarks>Method of IPreferences.</remarks>
-    function GetAutoCheckProgramUpdates: Boolean;
-
-    ///  <summary>Sets flag that indicates whether the program should
-    ///  automatically check for program updates.</summary>
-    ///  <remarks>Method of IPreferences.</remarks>
-    procedure SetAutoCheckProgramUpdates(const Value: Boolean);
-
-    ///  <summary>Gets flag that indicates whether the program should
-    ///  automatically check for database updates.</summary>
-    ///  <remarks>Method of IPreferences.</remarks>
-    function GetAutoCheckDatabaseUpdates: Boolean;
-
-    ///  <summary>Sets flag that indicates whether the program should
-    ///  automatically check for database updates.</summary>
-    ///  <remarks>Method of IPreferences.</remarks>
-    procedure SetAutoCheckDatabaseUpdates(const Value: Boolean);
+    ///  <summary>Gets frequency, in days, that the program should automatically
+    ///  check for program updates.</summary>
+    ///  <remarks>Method of IPreferences.</remarks>
+    function GetAutoCheckProgramFrequency: Word;
+
+    ///  <summary>Sets frequency, in days, that the program should automatically
+    ///  check for program updates.</summary>
+    ///  <remarks>Method of IPreferences.</remarks>
+    procedure SetAutoCheckProgramFrequency(const Value: Word);
+
+    ///  <summary>Gets frequency, in days, that the program should automatically
+    ///  check for database updates.</summary>
+    ///  <remarks>Method of IPreferences.</remarks>
+    function GetAutoCheckDatabaseFrequency: Word;
+
+    ///  <summary>Sets frequency, in days, that the program should automatically
+    ///  check for database updates.</summary>
+    ///  <remarks>Method of IPreferences.</remarks>
+    procedure SetAutoCheckDatabaseFrequency(const Value: Word);
 
     ///  <summary>Assigns the properties of the given object to this object.
     ///  </summary>
@@ -650,9 +658,8 @@
   Self.SetWarnings(SrcPref.Warnings);
   Self.SetNewsAge(SrcPref.NewsAge);
   Self.SetPageStructures(SrcPref.PageStructures);
-  Self.fAutoCheckProgramUpdates := SrcPref.AutoCheckProgramUpdates;
-  Self.fAutoCheckDatabaseUpdates := SrcPref.AutoCheckDatabaseUpdates;
-
+  Self.fAutoCheckProgramFrequency := SrcPref.AutoCheckProgramFrequency;
+  Self.fAutoCheckDatabaseFrequency := SrcPref.AutoCheckDatabaseFrequency;
 end;
 
 constructor TPreferences.Create;
@@ -674,14 +681,14 @@
   inherited;
 end;
 
-function TPreferences.GetAutoCheckDatabaseUpdates: Boolean;
-begin
-  Result := fAutoCheckDatabaseUpdates;
-end;
-
-function TPreferences.GetAutoCheckProgramUpdates: Boolean;
-begin
-  Result := fAutoCheckProgramUpdates;
+function TPreferences.GetAutoCheckDatabaseFrequency: Word;
+begin
+  Result := fAutoCheckDatabaseFrequency;
+end;
+
+function TPreferences.GetAutoCheckProgramFrequency: Word;
+begin
+  Result := fAutoCheckProgramFrequency;
 end;
 
 function TPreferences.GetCustomHiliteColours: IStringList;
@@ -775,14 +782,14 @@
   Result := fWarnings;
 end;
 
-procedure TPreferences.SetAutoCheckDatabaseUpdates(const Value: Boolean);
-begin
-  fAutoCheckDatabaseUpdates := Value;
-end;
-
-procedure TPreferences.SetAutoCheckProgramUpdates(const Value: Boolean);
-begin
-  fAutoCheckProgramUpdates := Value;
+procedure TPreferences.SetAutoCheckDatabaseFrequency(const Value: Word);
+begin
+  fAutoCheckDatabaseFrequency := Value;
+end;
+
+procedure TPreferences.SetAutoCheckProgramFrequency(const Value: Word);
+begin
+  fAutoCheckProgramFrequency := Value;
 end;
 
 procedure TPreferences.SetCustomHiliteColours(const Colours: IStringList);
@@ -908,8 +915,8 @@
   NewPref.Warnings := Self.GetWarnings;
   NewPref.NewsAge := Self.fNewsAge;
   NewPref.PageStructures := Self.fPageStructures;
-  NewPref.AutoCheckProgramUpdates := Self.fAutoCheckProgramUpdates;
-  NewPref.AutoCheckDatabaseUpdates := Self.fAutoCheckDatabaseUpdates;
+  NewPref.AutoCheckProgramFrequency := Self.fAutoCheckProgramFrequency;
+  NewPref.AutoCheckDatabaseFrequency := Self.fAutoCheckDatabaseFrequency;
 end;
 
 constructor TPreferencesPersist.Create;
@@ -1000,9 +1007,12 @@
 
   // Read updating section
   Storage := Settings.ReadSection(ssPreferences, cUpdating);
-  fAutoCheckProgramUpdates := Storage.GetBoolean('AutoCheckProgram', True);
-  fAutoCheckDatabaseUpdates := Storage.GetBoolean('AutoCheckDatabase', True);
-
+  fAutoCheckProgramFrequency := Storage.GetInteger(
+    'AutoCheckProgramFrequency', 1
+  );
+  fAutoCheckDatabaseFrequency := Storage.GetInteger(
+    'AutoCheckDatabaseFrequency', 1
+  );
 end;
 
 destructor TPreferencesPersist.Destroy;
@@ -1077,8 +1087,8 @@
 
   // Write updating section
   Storage := Settings.EmptySection(ssPreferences, cUpdating);
-  Storage.SetBoolean('AutoCheckProgram', fAutoCheckProgramUpdates);
-  Storage.SetBoolean('AutoCheckDatabase', fAutoCheckDatabaseUpdates);
+  Storage.SetInteger('AutoCheckProgramFrequency', fAutoCheckProgramFrequency);
+  Storage.SetInteger('AutoCheckDatabaseFrequency', fAutoCheckDatabaseFrequency);
   Storage.Save;
 
   inherited;