소스 검색

UPD:more clean code, current active group now mark Checked

meteu 9 년 전
부모
커밋
51f3bf7b5d
1개의 변경된 파일12개의 추가작업 그리고 0개의 파일을 삭제
  1. 12 0
      src/umaincommands.pas

+ 12 - 0
src/umaincommands.pas

@@ -1564,8 +1564,10 @@ end;
 
 
 procedure TMainCommands.cm_RestoreActiveGroup(const Params: array of string);
 procedure TMainCommands.cm_RestoreActiveGroup(const Params: array of string);
 var
 var
+  i,cnt:integer;
   AFileName:string;
   AFileName:string;
   Config: TXmlConfig;
   Config: TXmlConfig;
+  cItem:TMenuItem;
 begin
 begin
 
 
   AFileName:= 'groups.xml';
   AFileName:= 'groups.xml';
@@ -1573,9 +1575,19 @@ begin
     Config:= TXmlConfig.Create(AFileName, True);
     Config:= TXmlConfig.Create(AFileName, True);
     with frmMain do
     with frmMain do
     try
     try
+      // Uncheck all groups
+      cnt:=mnuGroups.Count;
+      for i:=0 to cnt-1 do mnuGroups.Items[i].Checked:=False;
+
+      // Load active group
       LoadGroupXml(Config,LastActiveGroup);
       LoadGroupXml(Config,LastActiveGroup);
       FrameLeft.Flags:= FrameLeft.Flags - [fvfDelayLoadingFiles];
       FrameLeft.Flags:= FrameLeft.Flags - [fvfDelayLoadingFiles];
       FrameRight.Flags:= FrameRight.Flags - [fvfDelayLoadingFiles];
       FrameRight.Flags:= FrameRight.Flags - [fvfDelayLoadingFiles];
+
+      // Check active group
+      cItem:=mnuGroups.Find(LastActiveGroup);
+      cItem.Checked:=True;
+
     finally
     finally
       Config.Free;
       Config.Free;
     end;
     end;