OSDN Git Service

お気に入りに修正があるときだけ、メインメニューのお気に入りのメニューを作り
authorh677 <h677>
Mon, 12 Dec 2005 14:52:57 +0000 (14:52 +0000)
committerh677 <h677>
Mon, 12 Dec 2005 14:52:57 +0000 (14:52 +0000)
直すように修正

Favorite.pas
Giko.pas
GikoDataModule.pas

index 0c92c2b..e3107ec 100644 (file)
@@ -50,7 +50,7 @@ type
                { Private \90é\8c¾ }
                FStack: TStack;
                FTreeView: TTreeView;
-
+               FModified: boolean;
                procedure ReadNode(Node: IXMLNode);
                procedure AddSaveString(Node: TTreeNode; SaveList: TStringList);
 //             procedure AddSaveString(Node: TTreeNode; XMLNode: IXMLNode);
@@ -61,14 +61,15 @@ type
 //             procedure SAXCharacters(Sender: TObject; const PCh: SAXString);
        public
                { Public \90é\8c¾ }
-        procedure Clear;
-                               function GetFavoriteFilePath() : String;
-                               function SaveFavoriteFile(FileName: String) : Boolean;
+               procedure Clear;
+               function GetFavoriteFilePath() : String;
+               function SaveFavoriteFile(FileName: String) : Boolean;
                procedure SetFavTreeView(TreeView: TTreeView);
                procedure ReadFavorite;
                procedure WriteFavorite;
-        procedure URLReplace(oldURLs: TStringList; newURLs: TStringList);
+               procedure URLReplace(oldURLs: TStringList; newURLs: TStringList);
                property TreeView: TTreeView read FTreeView;
+               property Modified: boolean read FModified write FModified;
        end;
 
 var
@@ -287,7 +288,8 @@ begin
        end;
                TreeView.Items.Clear;
                TreeView.Items.EndUpdate;
-    //TreeView.Free;
+
+    FavoriteDM.Modified := true;
 end;
 
 procedure TFavoriteDM.SetFavTreeView(TreeView: TTreeView);
@@ -305,7 +307,7 @@ var
        FavFolder: TFavoriteFolder;
        LinkExists: Boolean;
 begin
-
+       FavoriteDM.Modified := true;
        FileName := GikoSys.GetConfigDir + FAVORITE_FILE_NAME;
 
        FavFolder := TFavoriteFolder.Create;
@@ -477,6 +479,7 @@ var
        SaveList: TStringList;
 
 begin
+    FavoriteDM.Modified := true;
        FileName := GikoSys.GetConfigDir + FAVORITE_FILE_NAME;
        if FileExists(FileName) then begin
                tmpFileName := GikoSys.GetConfigDir + '~' + FAVORITE_FILE_NAME;
@@ -488,7 +491,10 @@ begin
        try
                SaveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>');
                SaveList.Add('<favorite>');
-               AddSaveString(TreeView.Items.GetFirstNode.getFirstChild, SaveList);
+               try
+                       AddSaveString(TreeView.Items.GetFirstNode.getFirstChild, SaveList);
+               except
+               end;
                SaveList.Add('</favorite>');
                SaveList.SaveToFile(FileName);
        finally
index 44cf2df..7ac1138 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -4325,22 +4325,25 @@ procedure TGikoForm.FavoriteMenuClick(Sender: TObject);
 var
        NewMenu: TMenuItem;
 begin
-       FavoriteMenu.Clear;
+       if FavoriteDM.Modified then begin
+               FavoriteMenu.Clear;
 
-       //\82¨\8bC\82É\93ü\82è\82Ì\92Ç\89Á
-       NewMenu := TMenuItem.Create(MainMenu);
-       NewMenu.Action := GikoDM.FavoriteAddAction;
-       FavoriteMenu.Add(NewMenu);
-       //\82¨\8bC\82É\93ü\82è\82Ì\90®\97\9d
-       NewMenu := TMenuItem.Create(FavoriteMenu);
-       NewMenu.Action := GikoDM.FavoriteArrangeAction;
-       FavoriteMenu.Add(NewMenu);
-       //\83Z\83p\83\8c\81[\83^
-       NewMenu := TMenuItem.Create(FavoriteMenu);
-       NewMenu.Caption := '-';
-       FavoriteMenu.Add(NewMenu);
+               //\82¨\8bC\82É\93ü\82è\82Ì\92Ç\89Á
+               NewMenu := TMenuItem.Create(MainMenu);
+               NewMenu.Action := GikoDM.FavoriteAddAction;
+               FavoriteMenu.Add(NewMenu);
+               //\82¨\8bC\82É\93ü\82è\82Ì\90®\97\9d
+               NewMenu := TMenuItem.Create(FavoriteMenu);
+               NewMenu.Action := GikoDM.FavoriteArrangeAction;
+               FavoriteMenu.Add(NewMenu);
+               //\83Z\83p\83\8c\81[\83^
+               NewMenu := TMenuItem.Create(FavoriteMenu);
+               NewMenu.Caption := '-';
+               FavoriteMenu.Add(NewMenu);
 
-       CreateFavMenu(FavoriteDM.TreeView.Items.GetFirstNode, FavoriteMenu);
+               CreateFavMenu(FavoriteDM.TreeView.Items.GetFirstNode, FavoriteMenu);
+               FavoriteDM.Modified := false;
+       end;
 end;
 
 procedure TGikoForm.CreateFavMenu(Node: TTreeNode; MenuItem: TMenuItem);
@@ -6036,6 +6039,8 @@ begin
                        FDropSpaceNode := nil;
                end;
        end;
+       //\8dX\90V\82µ\82½\82±\82Æ\82ð\8b³\82¦\82é
+       FavoriteDM.Modified := true;
 
        SetLinkBar;
 
@@ -6044,6 +6049,8 @@ end;
 procedure TGikoForm.FavoriteTreeViewEdited(Sender: TObject;
        Node: TTreeNode; var S: String);
 begin
+       //\8dX\90V\82µ\82½\82±\82Æ\82ð\8b³\82¦\82é
+       FavoriteDM.Modified := true;
 
        FavoriteTreeView.ReadOnly := True;
        SetLinkBar;
@@ -6310,6 +6317,8 @@ begin
                finally
                        FDropSpaceNode := nil;
                end;
+               //\8dX\90V\82µ\82½\82±\82Æ\82ð\8b³\82¦\82é
+               FavoriteDM.Modified := true;
                SetLinkBar;
        end;
 
index 6c3380c..9e00e73 100644 (file)
@@ -610,7 +610,8 @@ begin
        end else begin
                GikoForm.ClickNode.Text := InputBox( '\96¼\91O\82Ì\95Ï\8dX', '\82¨\8bC\82É\93ü\82è\82Ì\90V\82µ\82¢\96¼\91O\82ð\93ü\97Í\82µ\82Ä\82­\82¾\82³\82¢', GikoForm.ClickNode.Text );
        end;
-
+       //\8dX\90V\82µ\82½\82±\82Æ\82ð\8b³\82¦\82é
+       FavoriteDM.Modified := true;
        GikoForm.SetLinkBar;
 end;
 // *************************************************************************
@@ -638,6 +639,8 @@ begin
        //                      FClickNode.Selected.Expanded := True;
                GikoForm.FavoriteTreeView.Selected := Node;
                GikoForm.ClickNode := Node;
+               //\8dX\90V\82µ\82½\82±\82Æ\82ð\8b³\82¦\82é
+               FavoriteDM.Modified := true;
                FavoriteTreeViewRenameAction.Execute;
        finally
        end;
@@ -668,6 +671,8 @@ begin
        end;
 
        GikoForm.ClickNode.Delete;
+       //\8dX\90V\82µ\82½\82±\82Æ\82ð\8b³\82¦\82é
+       FavoriteDM.Modified := true;
 
        GikoForm.SetLinkBar;