OSDN Git Service

終了時の設定保存をOnCloseQueryに移動。再起動しても保存されるようになる。副作用があるかもしれない。
authoreggcake <eggcake>
Wed, 22 Oct 2008 09:29:00 +0000 (09:29 +0000)
committereggcake <eggcake>
Wed, 22 Oct 2008 09:29:00 +0000 (09:29 +0000)
Giko.pas

index 4448633..901e585 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -424,6 +424,7 @@ type
     N84: TMenuItem;
                                procedure FormCreate(Sender: TObject);
                procedure FormDestroy(Sender: TObject);
+        procedure SaveSettingAll();
                procedure BrowserStatusTextChange(Sender: TObject;
                        const Text: WideString);
                procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@@ -1553,37 +1554,23 @@ begin
        Application.UnhookMainWindow(Hook);
     //\83A\83v\83\8a\83P\81[\83V\83\87\83\93\8fI\97¹\82Ì\91O\82É\83_\83E\83\93\83\8d\81[\83h\83X\83\8c\83b\83h\82É\90³\8fí\8fI\97¹\82ð\91£\82·
     FControlThread.Terminate;
+
+    //OnDestory\82¾\82Æ\8dÄ\8bN\93®\82ð\82©\82¯\82½\82Æ\82«\82È\82Ç\82É\95Û\91\82³\82ê\82È\82¢\82Ì\82ÅOnCloseQuery\82Å\90Ý\92è\95Û\91
+    SaveSettingAll();
+    
        Application.Terminate;
 end;
 
-procedure TGikoForm.FormDestroy(Sender: TObject);
+procedure TGikoForm.SaveSettingAll();
 var
-       i                               : Integer;
        wp                      : TWindowPlacement;
-       tmpBool : Boolean;
     WindowPlacement: TWindowPlacement;
 begin
-    // \83^\83X\83N\83g\83\8c\83C\82Ì\83A\83C\83R\83\93\8dí\8f\9c
-    if (FIconData.uID <> 0) then begin
-        Shell_NotifyIcon(NIM_DELETE, @FIconData);
-    end;
-
-       // \83}\83E\83X\83W\83F\83X\83`\83\83\81[\8aJ\95ú
-       try
-        if GikoSys.Setting.GestureEnabled then begin
-               MouseGesture.OnGestureStart := nil;
-                   MouseGesture.OnGestureMove := nil;
-                   MouseGesture.OnGestureEnd := nil;
-        end;
-        MouseGesture.Clear;
-               MouseGesture.UnHook;
-        MouseGesture.Free;
-       except
-       end;
        try
                ActiveListColumnSave;
        except
        end;
+
        try
         WindowPlacement.length := SizeOf(TWindowPlacement);
         GetWindowPlacement(Self.Handle, @WindowPlacement);
@@ -1616,20 +1603,23 @@ begin
                        GikoSys.Setting.ResRange := FResRangeMenuSelect;
        except
        end;
-       if WindowState <> wsNormal then
-               WindowState := wsNormal;
-       SaveCoolBarSettings;
+
+    //\88ê\8e\9e\93I\82É\92Ê\8fí\83X\83^\83C\83\8b\82É\96ß\82µ\82ÄCoolBar\82Ì\88Ê\92u\81A\83E\83B\83\93\83h\83E\82Ì\88Ê\92u\82ð\95Û\91
+        //\81¦\92\8d\88Ó\81FOnDestroy\81AOnCloseQuery\82Å\8eg\82¤\82±\82Æ\82µ\82©\8dl\97\82³\82ê\82Ä\82¢\82È\82¢
+       if WindowState <> wsNormal then begin
+               WindowState := wsNormal;
+    end;
+
+    try
+       SaveCoolBarSettings;
+    except
+    end;
+
        try
                GikoSys.Setting.WriteWindowSettingFile;
                GikoSys.Setting.WriteNameMailSettingFile;
        except
        end;
-       // \83\8a\83A\83\8b\83^\83C\83\80\82É\95Û\91\82³\82ê\82é\82Ì\82Å\81A\82Ü\82½\81A\83E\83B\83\93\83h\83E\83T\83C\83Y\82ª CoolBar \82æ\82è
-       // \8f¬\82³\82­\82È\82Á\82Ä\82¢\82é\82Æ\82«\82É\95Û\91\82·\82é\82Æ\92l\82ª\8fã\8f\91\82«\82³\82ê\82Ä\82µ\82Ü\82¤\82Ì\82Å\82±\82±\82Å\82Í\95Û\91\82µ\82È\82¢
-
-               // \81ªFormDestroy\92\86\82É\88Ú\93®\82µ\82½\82Ì\82Å\81A\82±\82±\82Å\95Û\91\82µ\82È\82¢\82Æ\82¢\82¯\82È\82¢\82Æ\8ev\82¤\81B\81i\82à\82\82ã\81@2004/04/09\81j
-       // CoolBar \95Û\91
-       //if (GikoForm.WindowState <> wsMinimized) and (GikoForm.WindowState <> wsMaximized) then
 
        //\93ü\97Í\83A\83V\83X\83g\8b@\8d\\82Ì\90Ý\92è\82Ì\95Û\91
        InputAssistDM.SaveToFile(GikoSys.GetInputAssistFileName);
@@ -1641,10 +1631,58 @@ begin
         if not (FavoriteDM.AbEnd) then begin
                FavoriteDM.WriteFavorite;
         end;
+       except
+       end;
+
+       //\83A\83h\83\8c\83X\97\9a\97ð\95Û\91
+       try
+               //AddressHistoryDM\82Í\8e©\93®\90\90¬\83t\83H\81[\83\80\82È\82Ì\82Å\81A\89ð\95ú\82Í\8e©\93®\93I\82É\82³\82ê\82é\81B
+               AddressHistoryDM.WriteHistory(AddressComboBox.Items, GikoSys.Setting.MaxRecordCount);
+       except
+       end;
+
+       //\83q\83X\83g\83\8a\83\8a\83X\83g\95Û\91
+       try
+               FHistoryList.SaveToFile(GikoSys.GetConfigDir + 'History.xml');
+       except
+       end;
+
+       //\8f\84\89ñ\83\8a\83X\83g\95Û\91
+       try
+               RoundList.SaveRoundFile;
+       except
+       end;
+end;
+
+procedure TGikoForm.FormDestroy(Sender: TObject);
+var
+       i                               : Integer;
+       tmpBool : Boolean;
+begin
+    // \83^\83X\83N\83g\83\8c\83C\82Ì\83A\83C\83R\83\93\8dí\8f\9c
+    if (FIconData.uID <> 0) then begin
+        Shell_NotifyIcon(NIM_DELETE, @FIconData);
+    end;
+
+       // \83}\83E\83X\83W\83F\83X\83`\83\83\81[\8aJ\95ú
+       try
+        if GikoSys.Setting.GestureEnabled then begin
+               MouseGesture.OnGestureStart := nil;
+                   MouseGesture.OnGestureMove := nil;
+                   MouseGesture.OnGestureEnd := nil;
+        end;
+        MouseGesture.Clear;
+               MouseGesture.UnHook;
+        MouseGesture.Free;
+       except
+       end;
+
+       //\82¨\8bC\82É\93ü\82è\94j\8aü
+       try
                FavoriteDM.Clear;
        except
        end;
-       //LockWindowUpdate(Self.Handle);
+
        try
                //\83^\83u\83N\83\8d\81[\83Y
                tmpBool := GikoSys.Setting.ShowDialogForAllTabClose;
@@ -1653,6 +1691,7 @@ begin
                GikoSys.Setting.ShowDialogForAllTabClose := tmpBool;
        except
        end;
+
        try
                for i := FBrowsers.Count - 1 downto 0 do begin
             GikoSys.ShowRefCount('browser' + IntToStr(i), TWebBrowser(FBrowsers[i]).ControlInterface);
@@ -1667,6 +1706,7 @@ begin
        finally
                FBrowsers.Free;
        end;
+
        try
                if BrowserNullTab <> nil then begin
                        BrowserNullTab.Browser := nil;  {*BrowserNullTab\82ÌBrowser\82Í\90Ý\8cv\8e\9e\82É\93\\82è\95t\82¯\82Ä\82é\93z
@@ -1685,18 +1725,6 @@ begin
        except
        end;
 
-       //\83A\83h\83\8c\83X\97\9a\97ð\95Û\91
-       try
-               //AddressHistoryDM\82Í\8e©\93®\90\90¬\83t\83H\81[\83\80\82È\82Ì\82Å\81A\89ð\95ú\82Í\8e©\93®\93I\82É\82³\82ê\82é\81B
-               AddressHistoryDM.WriteHistory(AddressComboBox.Items, GikoSys.Setting.MaxRecordCount);
-       except
-       end;
-
-       //\83q\83X\83g\83\8a\83\8a\83X\83g\95Û\91
-       try
-               FHistoryList.SaveToFile(GikoSys.GetConfigDir + 'History.xml');
-       except
-       end;
        try
                try
                        FHistoryList.Clear;
@@ -1706,11 +1734,7 @@ begin
                FHistoryList.Free;
        end;
 
-       //\8f\84\89ñ\83\8a\83X\83g\95Û\91¶&\94j\8aü
-       try
-               RoundList.SaveRoundFile;
-       except
-       end;
+
        try
                try
                        RoundList.Clear;
@@ -1774,7 +1798,6 @@ begin
                end;
        except
        end;
-       //LockWindowUpdate(0);
 end;
 
 // \8ae\8f\8a\82É\82 \82é\83L\83\83\83r\83l\83b\83g\81E BBS \83\81\83j\83\85\81[\82ð\83Z\83b\83g\81^\8dX\90V