Make TreeView sorting unrecursivable

And update coding style.
This commit is contained in:
Don HO 2020-03-26 14:54:04 +01:00
parent 0c80bf8cb9
commit 585cc27b1f
No known key found for this signature in database
GPG Key ID: 6C429F1D8D84F46E
4 changed files with 27 additions and 22 deletions

View File

@ -262,10 +262,11 @@ INT_PTR CALLBACK FileBrowser::run_dlgProc(UINT message, WPARAM wParam, LPARAM lP
generic_string addedFilePath = file2Change[0].substr(0, sepPos + 1);
addedFilePath += pathSuffix;
bool isAdded = addInTree(rootPath, addedFilePath, nullptr, linarPathArray);
if (not isAdded)
if (!isAdded)
{
//MessageBox(NULL, addedFilePath.c_str(), TEXT("file/folder is not added"), MB_OK);
}
break;
}
@ -287,7 +288,7 @@ INT_PTR CALLBACK FileBrowser::run_dlgProc(UINT message, WPARAM wParam, LPARAM lP
// search recursively and modify the tree structure
bool isRemoved = deleteFromTree(rootPath, nullptr, linarPathArray);
if (not isRemoved)
if (!isRemoved)
{
//MessageBox(NULL, file2Change[0].c_str(), TEXT("file/folder is not removed"), MB_OK);
}
@ -318,7 +319,7 @@ INT_PTR CALLBACK FileBrowser::run_dlgProc(UINT message, WPARAM wParam, LPARAM lP
vector<generic_string> linarPathArray2 = split(pathSuffix2, '\\');
bool isRenamed = renameInTree(rootPath, nullptr, linarPathArray, linarPathArray2[linarPathArray2.size() - 1]);
if (not isRenamed)
if (!isRenamed)
{
//MessageBox(NULL, file2Change[0].c_str(), TEXT("file/folder is not removed"), MB_OK);
}
@ -464,7 +465,7 @@ void FileBrowser::destroyMenus()
generic_string FileBrowser::getNodePath(HTREEITEM node) const
{
if (not node) return TEXT("");
if (!node) return TEXT("");
vector<generic_string> fullPathArray;
generic_string fullPath;
@ -760,7 +761,7 @@ void FileBrowser::popupMenuCmd(int cmdID)
//
case IDM_FILEBROWSER_REMOVEROOTFOLDER:
{
if (not selectedNode) return;
if (!selectedNode) return;
generic_string *rootPath = (generic_string *)_treeView.getItemParam(selectedNode);
if (_treeView.getParent(selectedNode) != nullptr || rootPath == nullptr)
@ -782,7 +783,7 @@ void FileBrowser::popupMenuCmd(int cmdID)
case IDM_FILEBROWSER_EXPLORERHERE:
{
if (not selectedNode) return;
if (!selectedNode) return;
generic_string path = getNodePath(selectedNode);
if (::PathFileExists(path.c_str()))
@ -800,7 +801,7 @@ void FileBrowser::popupMenuCmd(int cmdID)
case IDM_FILEBROWSER_CMDHERE:
{
if (not selectedNode) return;
if (!selectedNode) return;
if (getNodeType(selectedNode) == browserNodeType_file)
selectedNode = _treeView.getParent(selectedNode);
@ -816,7 +817,7 @@ void FileBrowser::popupMenuCmd(int cmdID)
case IDM_FILEBROWSER_COPYPATH:
{
if (not selectedNode) return;
if (!selectedNode) return;
generic_string path = getNodePath(selectedNode);
str2Clipboard(path, _hParent);
}
@ -824,7 +825,7 @@ void FileBrowser::popupMenuCmd(int cmdID)
case IDM_FILEBROWSER_COPYFILENAME:
{
if (not selectedNode) return;
if (!selectedNode) return;
generic_string fileName = getNodeName(selectedNode);
str2Clipboard(fileName, _hParent);
}
@ -832,7 +833,7 @@ void FileBrowser::popupMenuCmd(int cmdID)
case IDM_FILEBROWSER_FINDINFILES:
{
if (not selectedNode) return;
if (!selectedNode) return;
generic_string path = getNodePath(selectedNode);
::SendMessage(_hParent, NPPM_LAUNCHFINDINFILESDLG, reinterpret_cast<WPARAM>(path.c_str()), 0);
}
@ -1149,7 +1150,7 @@ bool FileBrowser::addInTree(const generic_string& rootPath, const generic_string
if (linarPathArray.size() == 1)
{
// Of course item to add should be exist on the disk
if (not::PathFileExists(addItemFullPath.c_str()))
if (!::PathFileExists(addItemFullPath.c_str()))
return false;
// Search : if no found, add
@ -1166,6 +1167,7 @@ bool FileBrowser::addInTree(const generic_string& rootPath, const generic_string
{
_treeView.addItem(linarPathArray[0].c_str(), node, INDEX_LEAF);
}
return true;
}
else
@ -1251,6 +1253,7 @@ bool FileBrowser::renameInTree(const generic_string& rootPath, HTREEITEM node, c
// found it, rename it
_treeView.renameItem(foundItem, renameTo.c_str());
return true;
}
@ -1476,7 +1479,7 @@ DWORD WINAPI FolderUpdater::watching(void *params)
break;
case FILE_ACTION_RENAMED_NEW_NAME:
if (not oldName.empty())
if (!oldName.empty())
{
file2Change.push_back(oldName);
file2Change.push_back(wstrFilename);

View File

@ -198,7 +198,7 @@ void FunctionListPanel::sortOrUnsort()
{
bool doSort = shouldSort();
if (doSort)
_pTreeView->sort(_pTreeView->getRoot());
_pTreeView->sort(_pTreeView->getRoot(), true);
else
{
TCHAR text2search[MAX_PATH] ;
@ -369,7 +369,7 @@ void FunctionListPanel::reload()
bool isSort = (previousParams->_searchParameters)._doSort;
setSort(isSort);
if (isSort)
_pTreeView->sort(_pTreeView->getRoot());
_pTreeView->sort(_pTreeView->getRoot(), true);
}
}
@ -627,7 +627,7 @@ void FunctionListPanel::searchFuncAndSwitchView()
}
if (doSort)
_pTreeView->sort(_pTreeView->getRoot());
_pTreeView->sort(_pTreeView->getRoot(), true);
}
static WNDPROC oldFunclstToolbarProc = NULL;

View File

@ -103,7 +103,7 @@ bool TreeView::setItemParam(HTREEITEM Item2Set, const TCHAR *paramStr)
LPARAM TreeView::getItemParam(HTREEITEM Item2Get) const
{
if (not Item2Get)
if (!Item2Get)
return false;
//TCHAR textBuffer[MAX_PATH];
TVITEM tvItem;
@ -117,7 +117,7 @@ LPARAM TreeView::getItemParam(HTREEITEM Item2Get) const
generic_string TreeView::getItemDisplayName(HTREEITEM Item2Set) const
{
if (not Item2Set)
if (!Item2Set)
return TEXT("");
TCHAR textBuffer[MAX_PATH];
TVITEM tvItem;
@ -131,7 +131,7 @@ generic_string TreeView::getItemDisplayName(HTREEITEM Item2Set) const
bool TreeView::renameItem(HTREEITEM Item2Set, const TCHAR *newName)
{
if (not Item2Set || not newName)
if (!Item2Set || !newName)
return false;
TVITEM tvItem;
@ -712,10 +712,12 @@ bool TreeView::restoreFoldingStateFrom(const TreeStateNode & treeState2Compare,
return isOk;
}
void TreeView::sort(HTREEITEM hTreeItem)
void TreeView::sort(HTREEITEM hTreeItem, bool isRecusive)
{
::SendMessage(_hSelf, TVM_SORTCHILDREN, TRUE, reinterpret_cast<LPARAM>(hTreeItem));
if (!isRecusive)
return;
for (HTREEITEM hItem = getChildFrom(hTreeItem); hItem != NULL; hItem = getNextSibling(hItem))
sort(hItem);
sort(hItem, isRecusive);
}

View File

@ -125,7 +125,7 @@ public:
bool restoreFoldingStateFrom(const TreeStateNode & treeState2Compare, HTREEITEM treeviewNode);
bool retrieveFoldingStateTo(TreeStateNode & treeState2Construct, HTREEITEM treeviewNode);
bool searchLeafAndBuildTree(TreeView & tree2Build, const generic_string & text2Search, int index2Search);
void sort(HTREEITEM hTreeItem);
void sort(HTREEITEM hTreeItem, bool isRecusive);
protected:
WNDPROC _defaultProc;