MCPcopy Create free account
hub / github.com/davidgiven/fluxengine / OnBrowserFilenameChanged

Method OnBrowserFilenameChanged

src/gui/browserpanel.cc:464–500  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

462 }
463
464 void OnBrowserFilenameChanged(wxDataViewEvent& event) override
465 {
466 if (!(_filesystem->capabilities() & Filesystem::OP_MOVE))
467 return;
468
469 auto node = _filesystemModel->Find(event.GetItem());
470 if (!node)
471 return;
472
473 if (node->newname.empty())
474 return;
475 if (node->newname == node->dirent->filename)
476 return;
477
478 QueueJob(
479 [this, node]() mutable
480 {
481 auto oldPath = node->dirent->path;
482 auto newPath = oldPath.parent().concat(node->newname);
483
484 newPath = ResolveFileConflicts_WT(newPath);
485 if (newPath.empty())
486 return;
487
488 _filesystem->moveFile(oldPath, newPath);
489 node->newname = "";
490
491 auto dirent = _filesystem->getDirent(newPath);
492 runOnUiThread(
493 [&]()
494 {
495 _filesystemModel->Delete(oldPath);
496 _filesystemModel->Add(dirent);
497 UpdateFilesystemData();
498 });
499 });
500 }
501
502 void OnBrowserRenameMenuItem(wxCommandEvent& event) override
503 {

Callers

nothing calls this directly

Calls 10

FindMethod · 0.80
concatMethod · 0.80
parentMethod · 0.80
DeleteMethod · 0.80
AddMethod · 0.80
runOnUiThreadFunction · 0.70
capabilitiesMethod · 0.45
emptyMethod · 0.45
moveFileMethod · 0.45
getDirentMethod · 0.45

Tested by

no test coverage detected