MCPcopy Create free account
hub / github.com/bumptop/BumpTop / isSourceValid

Method isSourceValid

trunk/win/Source/BT_FileSystemActor.cpp:942–995  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

940}
941
942bool FileSystemActor::isSourceValid()
943{
944 FileSystemActor *fsData = NULL;
945 Actor *data = NULL;
946
947 for (uint i = 0; i < source.size(); i++)
948 {
949 // Check to see if the icon is a filesystem icon
950 if (source[i]->isBumpObjectType(BumpActor))
951 {
952 data = (Actor *) source[i];
953
954 if (data->isActorType(FileSystem))
955 {
956 fsData = (FileSystemActor *) source[i];
957
958 // Exclude Virtual folders
959 if (fsData->isFileSystemType(Virtual)) return false;
960 if (fsData->isFileSystemType(LogicalVolume)) return false;
961 if (fsData == this) return false;
962 }
963 else if (data->isActorType(Webpage) && RecycleBin == winOS->GetIconTypeFromFileName(getFullPath()))
964 return true; // can drop WebActor into Recycling Bin to delete
965 else
966 return false;
967
968 }else if (source[i]->isBumpObjectType(BumpPile))
969 {
970 Pile *pile = (Pile *) source[i];
971
972 // Check for any items that cannot be moved (ie. Virtual folders)
973 for (uint i = 0; i < pile->getNumItems(); i++)
974 {
975 if (!(*pile)[i]->isPilable(HardPile))
976 {
977 return false;
978 }
979 }
980
981 // Ignore gridded items because they are on the dynamic plane, above
982 // all other items on the floor.
983 if (pile->getPileState() == Grid) return false;
984
985 // Allow Piles
986 return true;
987
988 }else{
989 // Logical items are not allowed
990 return false;
991 }
992 }
993
994 return true;
995}
996
997QString FileSystemActor::getLinkTarget() const
998{

Callers

nothing calls this directly

Calls 4

isFileSystemTypeMethod · 0.80
sizeMethod · 0.45
isPilableMethod · 0.45

Tested by

no test coverage detected