MCPcopy Create free account
hub / github.com/KangLin/RabbitRemoteControl / setData

Method setData

Plugins/FileTransfer/RemoteFileSystemModel.cpp:656–686  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

654}
655
656bool CRemoteFileSystemModel::setData(
657 const QModelIndex &index, const QVariant &value, int role)
658{
659 qDebug(log) << Q_FUNC_INFO << index << value << role;
660 if(!index.isValid())
661 return false;
662 if(Qt::EditRole != role) {
663 return QAbstractItemModel::setData(index, value, role);
664 }
665
666 // Rename
667 auto p = GetRemoteFileSystemFromIndex(index);
668 QString szName = value.toString();
669 if(p && !p->GetPath().isEmpty() && p->GetName() != szName) {
670 QFileInfo fi(p->GetPath());
671 szName = fi.path() + "/" + szName;
672 emit sigRename(p->GetPath(), szName);
673 auto pParent = p->GetParent();
674 if(pParent) {
675 Q_ASSERT(pParent == GetRemoteFileSystemFromIndex(index.parent()));
676 int nIdx = pParent->IndexOf(p);
677 beginRemoveRows(index.parent(), nIdx, nIdx);
678 pParent->RemoveChild(nIdx);
679 DeleteRemoteFileSystem(p);
680 endRemoveRows();
681 pParent->SetState(CRemoteFileSystem::State::No);
682 fetchMore(index.parent());
683 }
684 }
685 return true;
686}
687
688Qt::ItemFlags CRemoteFileSystemModel::flags(const QModelIndex &index) const
689{

Callers

nothing calls this directly

Calls 9

isValidMethod · 0.80
GetPathMethod · 0.80
GetParentMethod · 0.80
IndexOfMethod · 0.80
SetStateMethod · 0.80
isEmptyMethod · 0.45
GetNameMethod · 0.45
parentMethod · 0.45
RemoveChildMethod · 0.45

Tested by

no test coverage detected