| 940 | } |
| 941 | |
| 942 | bool 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 | |
| 997 | QString FileSystemActor::getLinkTarget() const |
| 998 | { |
nothing calls this directly
no test coverage detected