OSDN Git Service

ツリービューで常に選択状態で表示されるアイテムがあったバグを修正。微修正。
authorsirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Sat, 17 Oct 2009 02:32:14 +0000 (02:32 +0000)
committersirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Sat, 17 Oct 2009 02:32:14 +0000 (02:32 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@56 9df91469-1e22-0410-86e7-ea8537beb833

src/frontend/frm_main.cpp
src/frontend/functions.cpp

index c519148..1454609 100644 (file)
@@ -388,11 +388,11 @@ void MainFrame::OnArcOpen(wxCommandEvent& e)
        wxTreeItemId
                idRoot = this->tree_ctrl->AddRoot(wxEmptyString),
 #ifdef __WINDOWS__
-               idArchive = this->tree_ctrl->InsertItem(idRoot, idRoot, piInfo.fiInfo.fnFileName.GetFullName(), g_hIconT.Add(GetFileTypeIcon(piInfo.fiInfo.fnFileName))),
+               idArchive = this->tree_ctrl->AppendItem(idRoot, piInfo.fiInfo.fnFileName.GetFullName(), g_hIconT.Add(GetFileTypeIcon(piInfo.fiInfo.fnFileName))),
 #else
-               idArchive = this->tree_ctrl->InsertItem(idRoot, idRoot, piInfo.fiInfo.fnFileName.GetFullName(), g_hIconT.Add(GetFileTypeIcon(piInfo.fiInfo.fnFileName).ConvertToImage().Rescale(16, 16))),
+               idArchive = this->tree_ctrl->AppendItem(idRoot, piInfo.fiInfo.fnFileName.GetFullName(), g_hIconT.Add(GetFileTypeIcon(piInfo.fiInfo.fnFileName).ConvertToImage().Rescale(16, 16))),
 #endif
-               idArcRoot = this->tree_ctrl->InsertItem(idRoot, idArchive, wxT("-----"), 0, 1);
+               idArcRoot = this->tree_ctrl->AppendItem(idRoot, wxT("-----"), 0, 1);
 
        // \83t\83@\83C\83\8b\8fî\95ñ\82ð\83\8d\81[\83h\81B
        if (tpi.GetFileInformation(& piInfo.fiInfo, true) == TPI_ERROR_SUCCESS)
index bf041b0..45e5449 100644 (file)
@@ -38,26 +38,22 @@ bool TreeView_CheckNewerItem(wxTreeCtrl * tree_ctrl, wxTreeItemId idParent, cons
        wxTreeItemIdValue idv;\r
        wxTreeItemId idChild = tree_ctrl->GetFirstChild(idParent, idv);\r
        wxChar cSep = wxFileName::GetPathSeparator();\r
-       if (idChild.IsOk())\r
+       while (idChild.IsOk())\r
        {\r
-               do\r
+               // \83A\83C\83e\83\80\82Æ\96¼\91O\82ª\93¯\82\82È\82çOK\81B\r
+               if (tree_ctrl->GetItemText(idChild) == szDirPath.BeforeFirst(cSep))\r
                {\r
-                       // \83A\83C\83e\83\80\82Æ\96¼\91O\82ª\93¯\82\82È\82çOK\81B\r
-                       if (tree_ctrl->GetItemText(idChild) == szDirPath.BeforeFirst(cSep))\r
+                       // \82±\82ê\88È\89º\82Ì\8aK\91w\82ª\96³\82¢\8fê\8d\87\81B\r
+                       if (szDirPath.Find(cSep) == wxNOT_FOUND)\r
                        {\r
-                               // \82±\82ê\88È\89º\82Ì\8aK\91w\82ª\96³\82¢\8fê\8d\87\81B\r
-                               if (szDirPath.Find(cSep) == wxNOT_FOUND)\r
-                               {\r
-                                       return bReallyMake;\r
-                               }\r
-\r
-                               // \82Ü\82¾\8aK\91w\82ª\97L\82é\8fê\8d\87\81A\8dÄ\8bA\81B\r
-                               return TreeView_CheckNewerItem(tree_ctrl, idChild, szDirPath.AfterFirst(cSep), bReallyMake);\r
+                               return bReallyMake;\r
                        }\r
 \r
-                       idChild = tree_ctrl->GetNextSibling(idChild);\r
+                       // \82Ü\82¾\8aK\91w\82ª\97L\82é\8fê\8d\87\81A\8dÄ\8bA\81B\r
+                       return TreeView_CheckNewerItem(tree_ctrl, idChild, szDirPath.AfterFirst(cSep), bReallyMake);\r
                }\r
-               while (idChild.IsOk());\r
+\r
+               idChild = tree_ctrl->GetNextSibling(idChild);\r
        }\r
 \r
        // \91Î\8fÛ\82ª\96³\82¢\8fê\8d\87\82É\82Í\8dì\90¬\81B\r
@@ -83,7 +79,7 @@ bool TreeView_CheckNewerItem(wxTreeCtrl * tree_ctrl, wxTreeItemId idParent, cons
                // \8dÅ\8cã\82É\8bó\82Å\82È\82¢\8fê\8d\87\82É\82Í\82à\82¤1\8aK\91w\8dì\90¬\81B\r
                if (! szTemp.IsEmpty())\r
                {\r
-                       tree_ctrl->AppendItem(idTemp, szTemp, 1, -1);\r
+                       tree_ctrl->AppendItem(idTemp, szTemp, 0, 1);\r
                }\r
        }\r
 \r