From: <jfu...@us...> - 2006-11-21 23:44:34
|
Revision: 11023 http://svn.sourceforge.net/jvcl/?rev=11023&view=rev Author: jfudickar Date: 2006-11-21 15:44:33 -0800 (Tue, 21 Nov 2006) Log Message: ----------- property TJvCustomPropertyStore.SynchronizeStoreProperties Added to the ignorelist Modified Paths: -------------- trunk/jvcl/run/JvPropertyStore.pas Modified: trunk/jvcl/run/JvPropertyStore.pas =================================================================== --- trunk/jvcl/run/JvPropertyStore.pas 2006-11-21 01:23:47 UTC (rev 11022) +++ trunk/jvcl/run/JvPropertyStore.pas 2006-11-21 23:44:33 UTC (rev 11023) @@ -303,7 +303,7 @@ constructor TJvCustomPropertyStore.Create(AOwner: TComponent); const - IgnorePropertyList: array [1..16] of string = + IgnorePropertyList: array [1..17] of string = ( 'AboutJVCL', 'AppStorage', @@ -320,7 +320,8 @@ 'OnBeforeLoadProperties', 'OnAfterLoadProperties', 'OnBeforeStoreProperties', - 'OnAfterStoreProperties' + 'OnAfterStoreProperties', + 'SynchronizeStoreProperties' ); var I: Integer; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jfu...@us...> - 2007-08-13 23:47:48
|
Revision: 11455 http://jvcl.svn.sourceforge.net/jvcl/?rev=11455&view=rev Author: jfudickar Date: 2007-08-13 16:47:45 -0700 (Mon, 13 Aug 2007) Log Message: ----------- Changed CreateObject to abstract Modified Paths: -------------- trunk/jvcl/run/JvPropertyStore.pas Modified: trunk/jvcl/run/JvPropertyStore.pas =================================================================== --- trunk/jvcl/run/JvPropertyStore.pas 2007-08-13 21:43:34 UTC (rev 11454) +++ trunk/jvcl/run/JvPropertyStore.pas 2007-08-13 23:47:45 UTC (rev 11455) @@ -135,7 +135,7 @@ procedure DeleteSLOItems(Sender: TJvCustomAppStorage; const Path: string; const List: TObject; const First, Last: Integer; const ItemName: string); function CreateItemList: TStringList; virtual; - function CreateObject: TObject; virtual; + function CreateObject: TObject; virtual; abstract; function GetSorted: Boolean; procedure SetSorted(Value: Boolean); function GetDuplicates: TDuplicates; @@ -767,11 +767,6 @@ Result := TStringList.Create; end; -function TJvCustomPropertyListStore.CreateObject: TObject; -begin - Result := nil; -end; - function TJvCustomPropertyListStore.GetString(Index: Integer): string; begin if Assigned(Items) then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jfu...@us...> - 2007-09-10 23:04:55
|
Revision: 11501 http://jvcl.svn.sourceforge.net/jvcl/?rev=11501&view=rev Author: jfudickar Date: 2007-09-10 16:04:50 -0700 (Mon, 10 Sep 2007) Log Message: ----------- Added function StorePropertiesNow to define if the properties should be stored in this moment or Not Modified Paths: -------------- trunk/jvcl/run/JvPropertyStore.pas Modified: trunk/jvcl/run/JvPropertyStore.pas =================================================================== --- trunk/jvcl/run/JvPropertyStore.pas 2007-09-10 23:04:00 UTC (rev 11500) +++ trunk/jvcl/run/JvPropertyStore.pas 2007-09-10 23:04:50 UTC (rev 11501) @@ -87,6 +87,8 @@ procedure LoadProperties; virtual; procedure Assign(Source: TPersistent); override; procedure Clear; virtual; + //1 // This function defines, if the properties should be stored in this moment + function StorePropertiesNow: Boolean; virtual; function TranslatePropertyName(AName: string): string; virtual; property AppStorage: TJvCustomAppStorage read FAppStorage write SetAppStorage; property CombinedIgnoreProperties: TStringList read GetCombinedIgnoreProperties; @@ -655,17 +657,23 @@ UpdateChildPaths; DisableAutoLoadDown; SaveProperties := IgnoreLastLoadTime or (GetLastSaveTime < FLastLoadTime); - if DeleteBeforeStore then - AppStorage.DeleteSubTree(AppStoragePath); - if not IgnoreLastLoadTime then - AppStorage.WriteString(AppStorage.ConcatPaths([AppStoragePath, cLastSaveTime]), DateTimeToStr(Now)); - if Assigned(FOnBeforeStoreProperties) then - FOnBeforeStoreProperties(Self); if SaveProperties then - StoreData; - AppStorage.WritePersistent(AppStoragePath, Self, True, CombinedIgnoreProperties); - if Assigned(FOnAfterStoreProperties) then - FOnAfterStoreProperties(Self); + begin + if DeleteBeforeStore then + AppStorage.DeleteSubTree(AppStoragePath); + if StorePropertiesNow then + begin + if not IgnoreLastLoadTime then + AppStorage.WriteString(AppStorage.ConcatPaths([AppStoragePath, cLastSaveTime]), DateTimeToStr(Now)); + if Assigned(FOnBeforeStoreProperties) then + FOnBeforeStoreProperties(Self); + if SaveProperties then + StoreData; + AppStorage.WritePersistent(AppStoragePath, Self, True, CombinedIgnoreProperties); + if Assigned(FOnAfterStoreProperties) then + FOnAfterStoreProperties(Self); + end; + end; finally AppStorage.EndUpdate; end; @@ -708,6 +716,11 @@ begin end; +function TJvCustomPropertyStore.StorePropertiesNow: Boolean; +begin + Result := True; +end; + //=== { TJvCustomPropertyListStore } ========================================= constructor TJvCustomPropertyListStore.Create(AOwner: TComponent); @@ -719,7 +732,7 @@ FItemName := cItem; FIntIgnoreProperties.Add('ItemName'); FIntIgnoreProperties.Add('FreeObjects'); - FIntIgnoreProperties.Add('CreateListEntries'); + FIntIgnoreProperties.Add('CreateListEntries') end; destructor TJvCustomPropertyListStore.Destroy; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jfu...@us...> - 2007-09-30 20:47:19
|
Revision: 11525 http://jvcl.svn.sourceforge.net/jvcl/?rev=11525&view=rev Author: jfudickar Date: 2007-09-30 13:47:10 -0700 (Sun, 30 Sep 2007) Log Message: ----------- Smaller Fixes/Improvements Modified Paths: -------------- trunk/jvcl/run/JvPropertyStore.pas Modified: trunk/jvcl/run/JvPropertyStore.pas =================================================================== --- trunk/jvcl/run/JvPropertyStore.pas 2007-09-29 13:54:11 UTC (rev 11524) +++ trunk/jvcl/run/JvPropertyStore.pas 2007-09-30 20:47:10 UTC (rev 11525) @@ -40,6 +40,7 @@ type TJvIgnorePropertiesStringList = class(TStringList) public + constructor Create; procedure AddDelete(AItem: string; ADelete: Boolean); end; @@ -210,6 +211,7 @@ constructor TCombinedStrings.Create; begin inherited Create; + Sorted := True; FList := TList.Create; end; @@ -292,6 +294,12 @@ begin end; +constructor TJvIgnorePropertiesStringList.Create; +begin + inherited Create; + Sorted := True; +end; + //=== { TJvIgnorePropertiesStringList } ====================================== procedure TJvIgnorePropertiesStringList.AddDelete(AItem: string; ADelete: Boolean); @@ -374,9 +382,14 @@ end; function TJvCustomPropertyStore.GetCombinedIgnoreProperties: TStringList; +var + I: Integer; begin - FCombinedIgnoreProperties.Assign(FIntIgnoreProperties); - FCombinedIgnoreProperties.AddStrings(FIgnoreProperties); + FCombinedIgnoreProperties.clear; + for I := 0 to FIntIgnoreProperties.Count - 1 do + FCombinedIgnoreProperties.Add(FIntIgnoreProperties[i]); + for I := 0 to FIgnoreProperties.Count - 1 do + FCombinedIgnoreProperties.Add(FIgnoreProperties[i]); Result := FCombinedIgnoreProperties; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jfu...@us...> - 2007-12-18 22:34:37
|
Revision: 11632 http://jvcl.svn.sourceforge.net/jvcl/?rev=11632&view=rev Author: jfudickar Date: 2007-12-18 14:34:35 -0800 (Tue, 18 Dec 2007) Log Message: ----------- New Functions IndexOf and IndexOfObject Modified Paths: -------------- trunk/jvcl/run/JvPropertyStore.pas Modified: trunk/jvcl/run/JvPropertyStore.pas =================================================================== --- trunk/jvcl/run/JvPropertyStore.pas 2007-12-18 21:37:49 UTC (rev 11631) +++ trunk/jvcl/run/JvPropertyStore.pas 2007-12-18 22:34:35 UTC (rev 11632) @@ -149,6 +149,8 @@ constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Clear; override; + function IndexOf(const s: String): Integer; + function IndexOfObject(AObject: TObject): Integer; property Strings[Index: Integer]: string read GetString write SetString; property Objects[Index: Integer]: TObject read GetObject write SetObject; property Items: TStringList read GetItems; @@ -934,6 +936,16 @@ Sender.DeleteValue(Sender.ConcatPaths([Path, ItemName + IntToStr(I)])); end; +function TJvCustomPropertyListStore.IndexOf(const s: String): Integer; +begin + Result := FItems.IndexOf(s); +end; + +function TJvCustomPropertyListStore.IndexOfObject(AObject: TObject): Integer; +begin + Result := FItems.IndexOfObject(AObject); +end; + {$IFDEF UNITVERSIONING} initialization RegisterUnitVersion(HInstance, UnitVersioning); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jfu...@us...> - 2008-03-11 22:22:21
|
Revision: 11762 http://jvcl.svn.sourceforge.net/jvcl/?rev=11762&view=rev Author: jfudickar Date: 2008-03-11 15:22:20 -0700 (Tue, 11 Mar 2008) Log Message: ----------- Fixed TJvCustomPropertyListStore.Clear Modified Paths: -------------- trunk/jvcl/run/JvPropertyStore.pas Modified: trunk/jvcl/run/JvPropertyStore.pas =================================================================== --- trunk/jvcl/run/JvPropertyStore.pas 2008-03-11 22:21:22 UTC (rev 11761) +++ trunk/jvcl/run/JvPropertyStore.pas 2008-03-11 22:22:20 UTC (rev 11762) @@ -947,16 +947,20 @@ procedure TJvCustomPropertyListStore.Clear; var I: Integer; + obj : TObject; begin - if FreeObjects then - for I := 0 to Count - 1 do - if Assigned(Objects[I]) then - begin - Objects[I].Free; - Objects[I] := nil; - end; if Assigned(Items) then + begin + if FreeObjects then + for I := Count - 1 downto 0 do + if Assigned(Objects[I]) then + begin + obj := Objects[I]; + Objects[I] := nil; + obj.Free; + end; Items.Clear; + end; inherited Clear; end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |