void TrashSettingsView::RecordRevertSettings() { TrackerSettings settings; fDontMoveFilesToTrash = settings.DontMoveFilesToTrash(); fAskBeforeDeleteFile = settings.AskBeforeDeleteFile(); }
bool TrashSettingsView::IsDefaultable() const { TrackerSettings settings; return settings.DontMoveFilesToTrash() != false || settings.AskBeforeDeleteFile() != true; }
void TrashSettingsView::ShowCurrentSettings() { TrackerSettings settings; fDontMoveFilesToTrashCheckBox->SetValue(settings.DontMoveFilesToTrash()); fAskBeforeDeleteFileCheckBox->SetValue(settings.AskBeforeDeleteFile()); }
bool BPoseView::DeleteProperty(BMessage *_SCRIPTING_ONLY(specifier), int32 _SCRIPTING_ONLY(form), const char *_SCRIPTING_ONLY(property), BMessage *_SCRIPTING_ONLY(reply)) { #if _SUPPORTS_FEATURE_SCRIPTING status_t error = B_OK; bool handled = false; if (strcmp(property, kPropertySelection) == 0) { // deleting on a selection is handled as removing a part of the selection // not to be confused with deleting a selected item if (form == (int32)B_ENTRY_SPECIFIER) { entry_ref ref; // select poses specified by entries for (int32 index = 0; specifier->FindRef("refs", index, &ref) == B_OK; index++) { int32 poseIndex; BPose *pose = FindPose(&ref, form, &poseIndex); if (!pose) { error = B_ENTRY_NOT_FOUND; break; } RemovePoseFromSelection(pose); } handled = true; } else if (form == B_INDEX_SPECIFIER) { // move all poses specified by index to Trash int32 specifyingIndex; for (int32 index = 0; specifier->FindInt32("index", index, &specifyingIndex) == B_OK; index++) { BPose *pose = PoseAtIndex(specifyingIndex); if (!pose) { error = B_BAD_INDEX; break; } RemovePoseFromSelection(pose); } handled = true; } else return false; } else if (strcmp(property, kPropertyEntry) == 0) { // deleting entries is handled by moving entries to trash // build a list of entries, specified by the specifier BObjectList<entry_ref> *entryList = new BObjectList<entry_ref>(); // list will be deleted for us by the trashing thread if (form == (int32)B_ENTRY_SPECIFIER) { // move all poses specified by entry_ref to Trash entry_ref ref; for (int32 index = 0; specifier->FindRef("refs", index, &ref) == B_OK; index++) entryList->AddItem(new entry_ref(ref)); } else if (form == (int32)B_INDEX_SPECIFIER) { // move all poses specified by index to Trash int32 specifyingIndex; for (int32 index = 0; specifier->FindInt32("index", index, &specifyingIndex) == B_OK; index++) { BPose *pose = PoseAtIndex(specifyingIndex); if (!pose) { error = B_BAD_INDEX; break; } entryList->AddItem(new entry_ref(*pose->TargetModel()->EntryRef())); } } else return false; if (error == B_OK) { TrackerSettings settings; if (!settings.DontMoveFilesToTrash()) { // move the list we build into trash, don't make the trashing task // select the next item MoveListToTrash(entryList, false, false); } else Delete(entryList, false, settings.AskBeforeDeleteFile()); } handled = true; } if (error != B_OK) reply->AddInt32("error", error); return handled; #else return false; #endif }