From 4a78501add1e8522d7b95e03a995a2cf2db03766 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 11 Dec 2014 09:40:03 +0000 Subject: Actman 30: setting saving and unused macro deleting fix git-svn-id: http://svn.miranda-ng.org/main/trunk@11322 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Actman30/i_options.inc | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'plugins') diff --git a/plugins/Actman30/i_options.inc b/plugins/Actman30/i_options.inc index 488d8a903c..539270be2d 100644 --- a/plugins/Actman30/i_options.inc +++ b/plugins/Actman30/i_options.inc @@ -40,7 +40,7 @@ end; procedure SaveMacros; var Macro:pMacroRecord; - NumMacro:integer; + NumMacros:integer; i:integer; section:array [0..127] of AnsiChar; p,p1:PAnsiChar; @@ -48,11 +48,11 @@ begin // even if crap in settings, skip on read DBWriteByte(0,DBBranch,'version' ,3); - DBDeleteGroup(0,DBBranch,opt_group); //!! + OldNumMacros:=DBReadWord(0,DBBranch,opt_nummacro,0); Macro:=MacroList[0]; i:=MacroList.Count; - NumMacro:=0; + NumMacros:=0; p1:=StrCopyE(section,opt_group); while i>0 do @@ -72,13 +72,21 @@ begin SaveActions(Macro,section); - inc(NumMacro); + inc(NumMacros); end; end; inc(Macro); dec(i); end; - DBWriteWord(0,DBBranch,opt_nummacro,NumMacro); + DBWriteWord(0,DBBranch,opt_nummacro,NumMacros); + + // deleting old unused macro settings + while OldNumMacros>NumMacros do + begin + dec(OldNumMacro); + p:=IntToStr(p1,OldNumMacro); + DBDeleteGroup(0,DBBranch,section); + end; end; //===== Load settings ===== -- cgit v1.2.3