// <FS:CR Threaded Filepickers> //BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename) BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename, bool blocking) // </FS:CR Threaded Filepickers> { if( mLocked ) return FALSE; BOOL success = FALSE; OSStatus error = noErr; // if local file browsing is turned off, return without opening dialog if ( check_local_file_access_enabled() == false ) { return FALSE; } reset(); mNavOptions.optionFlags &= ~kNavAllowMultipleFiles; // Modal, so pause agent send_agent_pause(); { error = doNavSaveDialog(filter, filename); } send_agent_resume(); if (error == noErr) { if (getFileCount()) success = true; } // Account for the fact that the app has been stalled. LLFrameTimer::updateFrameTime(); return success; }
BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename) { if( mLocked ) return FALSE; BOOL success = FALSE; OSStatus error = noErr; reset(); mNavOptions.optionFlags &= ~kNavAllowMultipleFiles; // Modal, so pause agent send_agent_pause(); { error = doNavSaveDialog(filter, filename); } send_agent_resume(); if (error == noErr) { if (mFiles.size()) success = true; } // Account for the fact that the app has been stalled. LLFrameTimer::updateFrameTime(); return success; }
bool LLFilePickerBase::getSaveFile(ESaveFilter filter, std::string const& filename, std::string const& folder) { if( mLocked ) return FALSE; bool success = FALSE; OSStatus error = noErr; reset(); mNavOptions.optionFlags &= ~kNavAllowMultipleFiles; { error = doNavSaveDialog(filter, filename, folder); } if (error == noErr) { if (getFileCount()) success = true; } return success; }