void LLFloaterPreference::refreshEnabledState() { LLCheckBoxCtrl* ctrl_reflections = getChild<LLCheckBoxCtrl>("Reflections"); LLRadioGroup* radio_reflection_detail = getChild<LLRadioGroup>("ReflectionDetailRadio"); // Reflections BOOL reflections = gSavedSettings.getBOOL("VertexShaderEnable") && gGLManager.mHasCubeMap && LLCubeMap::sUseCubeMaps; ctrl_reflections->setEnabled(reflections); // Bump & Shiny bool bumpshiny = gGLManager.mHasCubeMap && LLCubeMap::sUseCubeMaps && LLFeatureManager::getInstance()->isFeatureAvailable("RenderObjectBump"); getChild<LLCheckBoxCtrl>("BumpShiny")->setEnabled(bumpshiny ? TRUE : FALSE); radio_reflection_detail->setEnabled(ctrl_reflections->get() && reflections); // Avatar Mode // Enable Avatar Shaders LLCheckBoxCtrl* ctrl_avatar_vp = getChild<LLCheckBoxCtrl>("AvatarVertexProgram"); // Avatar Render Mode LLCheckBoxCtrl* ctrl_avatar_cloth = getChild<LLCheckBoxCtrl>("AvatarCloth"); S32 max_avatar_shader = LLViewerShaderMgr::instance()->mMaxAvatarShaderLevel; ctrl_avatar_vp->setEnabled((max_avatar_shader > 0) ? TRUE : FALSE); if (gSavedSettings.getBOOL("VertexShaderEnable") == FALSE || gSavedSettings.getBOOL("RenderAvatarVP") == FALSE) { ctrl_avatar_cloth->setEnabled(false); } else { ctrl_avatar_cloth->setEnabled(true); } // Vertex Shaders // Global Shader Enable LLCheckBoxCtrl* ctrl_shader_enable = getChild<LLCheckBoxCtrl>("BasicShaders"); // radio set for terrain detail mode LLRadioGroup* mRadioTerrainDetail = getChild<LLRadioGroup>("TerrainDetailRadio"); // can be linked with control var ctrl_shader_enable->setEnabled(LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable")); BOOL shaders = ctrl_shader_enable->get(); if (shaders) { mRadioTerrainDetail->setValue(1); mRadioTerrainDetail->setEnabled(FALSE); } else { mRadioTerrainDetail->setEnabled(TRUE); } // WindLight LLCheckBoxCtrl* ctrl_wind_light = getChild<LLCheckBoxCtrl>("WindLightUseAtmosShaders"); // *HACK just checks to see if we can use shaders... // maybe some cards that use shaders, but don't support windlight ctrl_wind_light->setEnabled(ctrl_shader_enable->getEnabled() && shaders); // now turn off any features that are unavailable disableUnavailableSettings(); }
void LLPanelPermissions::refresh() { LLStringUtil::format_map_t argsCurrency; argsCurrency["[CURRENCY]"] = gHippoGridManager->getConnectedGrid()->getCurrencySymbol(); LLButton* BtnDeedToGroup = getChild<LLButton>("button deed"); if(BtnDeedToGroup) { std::string deedText; if (gSavedSettings.getWarning("DeedObject")) { deedText = getString("text deed continued"); } else { deedText = getString("text deed"); } BtnDeedToGroup->setLabelSelected(deedText); BtnDeedToGroup->setLabelUnselected(deedText); } BOOL root_selected = TRUE; LLSelectNode* nodep = LLSelectMgr::getInstance()->getSelection()->getFirstRootNode(); S32 object_count = LLSelectMgr::getInstance()->getSelection()->getRootObjectCount(); if(!nodep || 0 == object_count) { nodep = LLSelectMgr::getInstance()->getSelection()->getFirstNode(); object_count = LLSelectMgr::getInstance()->getSelection()->getObjectCount(); root_selected = FALSE; } //BOOL attachment_selected = LLSelectMgr::getInstance()->getSelection()->isAttachment(); //attachment_selected = false; LLViewerObject* objectp = NULL; if(nodep) objectp = nodep->getObject(); if(!nodep || !objectp)// || attachment_selected) { // ...nothing selected childSetEnabled("perm_modify",false); childSetText("perm_modify",LLStringUtil::null); childSetEnabled("Creator:",false); childSetText("Creator Name",LLStringUtil::null); childSetEnabled("Creator Name",false); childSetEnabled("button creator profile",false); childSetEnabled("Owner:",false); childSetText("Owner Name",LLStringUtil::null); childSetEnabled("Owner Name",false); childSetEnabled("button owner profile",false); childSetEnabled("Last Owner:",false); childSetText("Last Owner Name",LLStringUtil::null); childSetEnabled("Last Owner Name",false); childSetEnabled("button last owner profile",false); childSetEnabled("Group:",false); childSetText("Group Name",LLStringUtil::null); childSetEnabled("Group Name",false); childSetEnabled("button set group",false); childSetText("Object Name",LLStringUtil::null); childSetEnabled("Object Name",false); childSetEnabled("Name:",false); childSetText("Group Name",LLStringUtil::null); childSetEnabled("Group Name",false); childSetEnabled("Description:",false); childSetText("Object Description",LLStringUtil::null); childSetEnabled("Object Description",false); childSetEnabled("Permissions:",false); childSetValue("checkbox share with group",FALSE); childSetEnabled("checkbox share with group",false); childSetEnabled("button deed",false); childSetValue("checkbox allow everyone move",FALSE); childSetEnabled("checkbox allow everyone move",false); childSetValue("checkbox allow everyone copy",FALSE); childSetEnabled("checkbox allow everyone copy",false); //Next owner can: childSetEnabled("Next owner can:",false); childSetValue("checkbox next owner can modify",FALSE); childSetEnabled("checkbox next owner can modify",false); childSetValue("checkbox next owner can copy",FALSE); childSetEnabled("checkbox next owner can copy",false); childSetValue("checkbox next owner can transfer",FALSE); childSetEnabled("checkbox next owner can transfer",false); //checkbox for sale childSetValue("checkbox for sale",FALSE); childSetEnabled("checkbox for sale",false); //checkbox include in search childSetValue("search_check", FALSE); childSetEnabled("search_check", false); LLRadioGroup* RadioSaleType = getChild<LLRadioGroup>("sale type"); if(RadioSaleType) { RadioSaleType->setSelectedIndex(-1); RadioSaleType->setEnabled(FALSE); } childSetEnabled("Cost",false); childSetText("Cost", getString("Cost Default", argsCurrency)); childSetText("Edit Cost",LLStringUtil::null); childSetEnabled("Edit Cost",false); childSetEnabled("label click action",false); LLComboBox* ComboClickAction = getChild<LLComboBox>("clickaction"); if(ComboClickAction) { ComboClickAction->setEnabled(FALSE); ComboClickAction->clear(); } childSetVisible("B:",false); childSetVisible("O:",false); childSetVisible("G:",false); childSetVisible("E:",false); childSetVisible("N:",false); childSetVisible("F:",false); return; } // figure out a few variables BOOL is_one_object = (object_count == 1); // BUG: fails if a root and non-root are both single-selected. BOOL is_perm_modify = (LLSelectMgr::getInstance()->getSelection()->getFirstRootNode() && LLSelectMgr::getInstance()->selectGetRootsModify()) || LLSelectMgr::getInstance()->selectGetModify(); const LLView* keyboard_focus_view = gFocusMgr.getKeyboardFocus(); S32 string_index = 0; std::string MODIFY_INFO_STRINGS[] = { getString("text modify info 1"), getString("text modify info 2"), getString("text modify info 3"), getString("text modify info 4") }; if(!is_perm_modify) { string_index += 2; } if(!is_one_object) { ++string_index; } childSetEnabled("perm_modify",true); childSetText("perm_modify",MODIFY_INFO_STRINGS[string_index]); childSetEnabled("Permissions:",true); // Update creator text field childSetEnabled("Creator:",true); BOOL creators_identical; std::string creator_name; creators_identical = LLSelectMgr::getInstance()->selectGetCreator(mCreatorID, creator_name); childSetText("Creator Name",creator_name); childSetEnabled("Creator Name",TRUE); childSetEnabled("button creator profile", creators_identical && mCreatorID.notNull() ); // Update owner text field childSetEnabled("Owner:",true); BOOL owners_identical; std::string owner_name; owners_identical = LLSelectMgr::getInstance()->selectGetOwner(mOwnerID, owner_name); // llinfos << "owners_identical " << (owners_identical ? "TRUE": "FALSE") << llendl; std::string last_owner_name; LLSelectMgr::getInstance()->selectGetLastOwner(mLastOwnerID, last_owner_name); if (mOwnerID.isNull()) { if(LLSelectMgr::getInstance()->selectIsGroupOwned()) { // Group owned already displayed by selectGetOwner } else { // Display last owner if public //std::string last_owner_name; //LLSelectMgr::getInstance()->selectGetLastOwner(mLastOwnerID, last_owner_name); // It should never happen that the last owner is null and the owner // is null, but it seems to be a bug in the simulator right now. JC if (!mLastOwnerID.isNull() && !last_owner_name.empty()) { owner_name.append(", last "); owner_name.append( last_owner_name ); } } } // [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) bool fRlvEnableOwner = true; if ( (rlv_handler_t::isEnabled()) && (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ) { // Only filter the owner name if: the selection is all owned by the same avie and not group owned if ( (owners_identical) && (!LLSelectMgr::getInstance()->selectIsGroupOwned()) ) { owner_name = gRlvHandler.getAnonym(owner_name); fRlvEnableOwner = false; } } // [/RLVa:KB] childSetText("Owner Name",owner_name); childSetEnabled("Owner Name",TRUE); // childSetEnabled("button owner profile",owners_identical && (mOwnerID.notNull() || LLSelectMgr::getInstance()->selectIsGroupOwned())); // [RLVa:KB] - Checked: 2009-07-08 (RLVa-1.0.0e) childSetEnabled("button owner profile", fRlvEnableOwner && owners_identical && (mOwnerID.notNull() || LLSelectMgr::getInstance()->selectIsGroupOwned())); // [/RLVa:KB] //if (owner_name != last_owner_name) // [RLVa:KB] if ( (owner_name != last_owner_name) && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ) // [/RLVa:KB] { childSetEnabled("Last Owner:", TRUE); childSetText("Last Owner Name", last_owner_name); childSetEnabled("Last Owner Name", TRUE); childSetEnabled("button last owner profile", TRUE); } else { childSetEnabled("Last Owner:", FALSE); childSetText("Last Owner Name", LLStringUtil::null); childSetEnabled("Last Owner Name", FALSE); childSetEnabled("button last owner profile", FALSE); } // update group text field childSetEnabled("Group:",true); childSetText("Group Name",LLStringUtil::null); LLUUID group_id; BOOL groups_identical = LLSelectMgr::getInstance()->selectGetGroup(group_id); if (groups_identical) { if(mLabelGroupName) { mLabelGroupName->setNameID(group_id, TRUE); mLabelGroupName->setEnabled(TRUE); } } else { if(mLabelGroupName) { mLabelGroupName->setNameID(LLUUID::null, TRUE); mLabelGroupName->refresh(LLUUID::null, LLStringUtil::null, LLStringUtil::null, TRUE); mLabelGroupName->setEnabled(FALSE); } } childSetEnabled("button set group",owners_identical && (mOwnerID == gAgent.getID())); // figure out the contents of the name, description, & category BOOL edit_name_desc = FALSE; if(is_one_object && objectp->permModify()) { edit_name_desc = TRUE; } childSetEnabled("Name:",true); LLLineEditor* LineEditorObjectName = getChild<LLLineEditor>("Object Name"); childSetEnabled("Description:",true); LLLineEditor* LineEditorObjectDesc = getChild<LLLineEditor>("Object Description"); if(is_one_object) { if(keyboard_focus_view != LineEditorObjectName) { childSetText("Object Name",nodep->mName); } if(LineEditorObjectDesc) { if(keyboard_focus_view != LineEditorObjectDesc) { LineEditorObjectDesc->setText(nodep->mDescription); } } } else { childSetText("Object Name",LLStringUtil::null); LineEditorObjectDesc->setText(LLStringUtil::null); } if(edit_name_desc) { childSetEnabled("Object Name",true); childSetEnabled("Object Description",true); } else { childSetEnabled("Object Name",false); childSetEnabled("Object Description",false); } S32 total_sale_price = 0; S32 individual_sale_price = 0; BOOL is_for_sale_mixed = FALSE; BOOL is_sale_price_mixed = FALSE; U32 num_for_sale = FALSE; LLSelectMgr::getInstance()->selectGetAggregateSaleInfo(num_for_sale, is_for_sale_mixed, is_sale_price_mixed, total_sale_price, individual_sale_price); const BOOL self_owned = (gAgent.getID() == mOwnerID); const BOOL group_owned = LLSelectMgr::getInstance()->selectIsGroupOwned() ; const BOOL public_owned = (mOwnerID.isNull() && !LLSelectMgr::getInstance()->selectIsGroupOwned()); const BOOL can_transfer = LLSelectMgr::getInstance()->selectGetRootsTransfer(); const BOOL can_copy = LLSelectMgr::getInstance()->selectGetRootsCopy(); if(!owners_identical) { childSetEnabled("Cost",false); childSetText("Edit Cost",LLStringUtil::null); childSetEnabled("Edit Cost",false); } // You own these objects. else if(self_owned || (group_owned && gAgent.hasPowerInGroup(group_id,GP_OBJECT_SET_SALE))) { // If there are multiple items for sale then set text to PRICE PER UNIT. if (num_for_sale > 1) { childSetText("Cost",getString("Cost Per Unit", argsCurrency)); } else { childSetText("Cost",getString("Cost Default", argsCurrency)); } LLLineEditor *editPrice = getChild<LLLineEditor>("Edit Cost"); if(keyboard_focus_view != editPrice) { // If the sale price is mixed then set the cost to MIXED, otherwise // set to the actual cost. if (num_for_sale > 0 && is_for_sale_mixed) { childSetText("Edit Cost",getString("Sale Mixed")); } else if (num_for_sale > 0 && is_sale_price_mixed) { childSetText("Edit Cost",getString("Cost Mixed")); } else { childSetText("Edit Cost",llformat("%d",individual_sale_price)); } } // The edit fields are only enabled if you can sell this object // and the sale price is not mixed. bool enable_edit = (num_for_sale && can_transfer) ? !is_for_sale_mixed : false; childSetEnabled("Cost",enable_edit); childSetEnabled("Edit Cost",enable_edit); } // Someone, not you, owns these objects. else if(!public_owned) { childSetEnabled("Cost",false); childSetEnabled("Edit Cost",false); // Don't show a price if none of the items are for sale. if (num_for_sale) childSetText("Edit Cost",llformat("%d",total_sale_price)); else childSetText("Edit Cost",LLStringUtil::null); // If multiple items are for sale, set text to TOTAL PRICE. if (num_for_sale > 1) childSetText("Cost", getString("Cost Total", argsCurrency)); else childSetText("Cost", getString("Cost Default", argsCurrency)); } // This is a public object. else { childSetEnabled("Cost",false); childSetText("Cost", getString("Cost Default", argsCurrency)); childSetText("Edit Cost",LLStringUtil::null); childSetEnabled("Edit Cost",false); } // Enable and disable the permissions checkboxes // based on who owns the object. // TODO: Creator permissions BOOL valid_base_perms = FALSE; BOOL valid_owner_perms = FALSE; BOOL valid_group_perms = FALSE; BOOL valid_everyone_perms = FALSE; BOOL valid_next_perms = FALSE; U32 base_mask_on; U32 base_mask_off; U32 owner_mask_on; U32 owner_mask_off; U32 group_mask_on; U32 group_mask_off; U32 everyone_mask_on; U32 everyone_mask_off; U32 next_owner_mask_on = 0; U32 next_owner_mask_off = 0; valid_base_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_BASE, &base_mask_on, &base_mask_off); valid_owner_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_OWNER, &owner_mask_on, &owner_mask_off); valid_group_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_GROUP, &group_mask_on, &group_mask_off); valid_everyone_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_EVERYONE, &everyone_mask_on, &everyone_mask_off); valid_next_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_NEXT_OWNER, &next_owner_mask_on, &next_owner_mask_off); if( gSavedSettings.getBOOL("DebugPermissions") ) { std::string perm_string; if (valid_base_perms) { perm_string = "B: "; perm_string += mask_to_string(base_mask_on); childSetText("B:",perm_string); childSetVisible("B:",true); perm_string = "O: "; perm_string += mask_to_string(owner_mask_on); childSetText("O:",perm_string); childSetVisible("O:",true); perm_string = "G: "; perm_string += mask_to_string(group_mask_on); childSetText("G:",perm_string); childSetVisible("G:",true); perm_string = "E: "; perm_string += mask_to_string(everyone_mask_on); childSetText("E:",perm_string); childSetVisible("E:",true); perm_string = "N: "; perm_string += mask_to_string(next_owner_mask_on); childSetText("N:",perm_string); childSetVisible("N:",true); } perm_string = "F: "; U32 flag_mask = 0x0; if (objectp->permMove()) flag_mask |= PERM_MOVE; if (objectp->permModify()) flag_mask |= PERM_MODIFY; if (objectp->permCopy()) flag_mask |= PERM_COPY; if (objectp->permTransfer()) flag_mask |= PERM_TRANSFER; perm_string += mask_to_string(flag_mask); childSetText("F:",perm_string); childSetVisible("F:",true); } else { childSetVisible("B:",false); childSetVisible("O:",false); childSetVisible("G:",false); childSetVisible("E:",false); childSetVisible("N:",false); childSetVisible("F:",false); } bool has_change_perm_ability = false; bool has_change_sale_ability = false; if(valid_base_perms && (self_owned || (group_owned && gAgent.hasPowerInGroup(group_id, GP_OBJECT_MANIPULATE)))) { has_change_perm_ability = true; } if(valid_base_perms && (self_owned || (group_owned && gAgent.hasPowerInGroup(group_id, GP_OBJECT_SET_SALE)))) { has_change_sale_ability = true; } if (!has_change_perm_ability && !has_change_sale_ability && !root_selected) { // ...must select root to choose permissions childSetValue("perm_modify", getString("text modify warning")); } if (has_change_perm_ability) { childSetEnabled("checkbox share with group",true); childSetEnabled("checkbox allow everyone move",owner_mask_on & PERM_MOVE); childSetEnabled("checkbox allow everyone copy",owner_mask_on & PERM_COPY && owner_mask_on & PERM_TRANSFER); } else { childSetEnabled("checkbox share with group", FALSE); childSetEnabled("checkbox allow everyone move", FALSE); childSetEnabled("checkbox allow everyone copy", FALSE); } if (has_change_sale_ability && (owner_mask_on & PERM_TRANSFER)) { childSetEnabled("checkbox for sale", can_transfer || (!can_transfer && num_for_sale)); // Set the checkbox to tentative if the prices of each object selected // are not the same. childSetTentative("checkbox for sale", is_for_sale_mixed); childSetEnabled("sale type",num_for_sale && can_transfer && !is_sale_price_mixed); childSetEnabled("Next owner can:", TRUE); childSetEnabled("checkbox next owner can modify",base_mask_on & PERM_MODIFY); childSetEnabled("checkbox next owner can copy",base_mask_on & PERM_COPY); childSetEnabled("checkbox next owner can transfer",next_owner_mask_on & PERM_COPY); } else { childSetEnabled("checkbox for sale",FALSE); childSetEnabled("sale type",FALSE); childSetEnabled("Next owner can:",FALSE); childSetEnabled("checkbox next owner can modify",FALSE); childSetEnabled("checkbox next owner can copy",FALSE); childSetEnabled("checkbox next owner can transfer",FALSE); } if(valid_group_perms) { if((group_mask_on & PERM_COPY) && (group_mask_on & PERM_MODIFY) && (group_mask_on & PERM_MOVE)) { childSetValue("checkbox share with group",TRUE); childSetTentative("checkbox share with group",FALSE); childSetEnabled("button deed",gAgent.hasPowerInGroup(group_id, GP_OBJECT_DEED) && (owner_mask_on & PERM_TRANSFER) && !group_owned && can_transfer); } else if((group_mask_off & PERM_COPY) && (group_mask_off & PERM_MODIFY) && (group_mask_off & PERM_MOVE)) { childSetValue("checkbox share with group",FALSE); childSetTentative("checkbox share with group",false); childSetEnabled("button deed",false); } else { childSetValue("checkbox share with group",TRUE); childSetTentative("checkbox share with group",true); childSetEnabled("button deed",gAgent.hasPowerInGroup(group_id, GP_OBJECT_DEED) && (group_mask_on & PERM_MOVE) && (owner_mask_on & PERM_TRANSFER) && !group_owned && can_transfer); } } if(valid_everyone_perms) { // Move if(everyone_mask_on & PERM_MOVE) { childSetValue("checkbox allow everyone move",TRUE); childSetTentative("checkbox allow everyone move",false); } else if(everyone_mask_off & PERM_MOVE) { childSetValue("checkbox allow everyone move",FALSE); childSetTentative("checkbox allow everyone move",false); } else { childSetValue("checkbox allow everyone move",TRUE); childSetTentative("checkbox allow everyone move",true); } // Copy == everyone can't copy if(everyone_mask_on & PERM_COPY) { childSetValue("checkbox allow everyone copy",TRUE); childSetTentative("checkbox allow everyone copy",!can_copy || !can_transfer); } else if(everyone_mask_off & PERM_COPY) { childSetValue("checkbox allow everyone copy",FALSE); childSetTentative("checkbox allow everyone copy",false); } else { childSetValue("checkbox allow everyone copy",TRUE); childSetTentative("checkbox allow everyone copy",true); } } if(valid_next_perms) { // Modify == next owner canot modify if(next_owner_mask_on & PERM_MODIFY) { childSetValue("checkbox next owner can modify",TRUE); childSetTentative("checkbox next owner can modify",false); } else if(next_owner_mask_off & PERM_MODIFY) { childSetValue("checkbox next owner can modify",FALSE); childSetTentative("checkbox next owner can modify",false); } else { childSetValue("checkbox next owner can modify",TRUE); childSetTentative("checkbox next owner can modify",true); } // Copy == next owner cannot copy if(next_owner_mask_on & PERM_COPY) { childSetValue("checkbox next owner can copy",TRUE); childSetTentative("checkbox next owner can copy",!can_copy); } else if(next_owner_mask_off & PERM_COPY) { childSetValue("checkbox next owner can copy",FALSE); childSetTentative("checkbox next owner can copy",FALSE); } else { childSetValue("checkbox next owner can copy",TRUE); childSetTentative("checkbox next owner can copy",TRUE); } // Transfer == next owner cannot transfer if(next_owner_mask_on & PERM_TRANSFER) { childSetValue("checkbox next owner can transfer",TRUE); childSetTentative("checkbox next owner can transfer",!can_transfer); } else if(next_owner_mask_off & PERM_TRANSFER) { childSetValue("checkbox next owner can transfer",FALSE); childSetTentative("checkbox next owner can transfer",FALSE); } else { childSetValue("checkbox next owner can transfer",TRUE); childSetTentative("checkbox next owner can transfer",TRUE); } } // reflect sale information LLSaleInfo sale_info; BOOL valid_sale_info = LLSelectMgr::getInstance()->selectGetSaleInfo(sale_info); LLSaleInfo::EForSale sale_type = sale_info.getSaleType(); LLRadioGroup* RadioSaleType = getChild<LLRadioGroup>("sale type"); if(RadioSaleType) { if (valid_sale_info) { RadioSaleType->setSelectedIndex((S32)sale_type - 1); RadioSaleType->setTentative(FALSE); // unfortunately this doesn't do anything at the moment. } else { // default option is sell copy, determined to be safest RadioSaleType->setSelectedIndex((S32)LLSaleInfo::FS_COPY - 1); RadioSaleType->setTentative(TRUE); // unfortunately this doesn't do anything at the moment. } } childSetValue("checkbox for sale", num_for_sale != 0); // HACK: There are some old objects in world that are set for sale, // but are no-transfer. We need to let users turn for-sale off, but only // if for-sale is set. bool cannot_actually_sell = !can_transfer || (!can_copy && sale_type == LLSaleInfo::FS_COPY); if (num_for_sale && has_change_sale_ability && cannot_actually_sell) { childSetEnabled("checkbox for sale", true); } // Check search status of objects BOOL all_volume = LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME ); bool include_in_search; bool all_include_in_search = LLSelectMgr::getInstance()->selectionGetIncludeInSearch(&include_in_search); childSetEnabled("search_check", has_change_sale_ability && all_volume); childSetValue("search_check", include_in_search); childSetTentative("search_check", ! all_include_in_search); // Click action (touch, sit, buy) U8 click_action = 0; if (LLSelectMgr::getInstance()->selectionGetClickAction(&click_action)) { LLComboBox* ComboClickAction = getChild<LLComboBox>("clickaction"); if(ComboClickAction) { ComboClickAction->setCurrentByIndex((S32)click_action); } } childSetEnabled("label click action",is_perm_modify && all_volume); childSetEnabled("clickaction",is_perm_modify && all_volume); }
void LLPanelPermissions::disableAll() { getChildView("perm_modify")->setEnabled(FALSE); getChild<LLUICtrl>("perm_modify")->setValue(LLStringUtil::null); getChildView("pathfinding_attributes_value")->setEnabled(FALSE); getChild<LLUICtrl>("pathfinding_attributes_value")->setValue(LLStringUtil::null); getChildView("Creator:")->setEnabled(FALSE); getChild<LLUICtrl>("Creator Name")->setValue(LLStringUtil::null); getChildView("Creator Name")->setEnabled(FALSE); getChildView("button creator profile")->setEnabled(FALSE); getChildView("Owner:")->setEnabled(FALSE); getChild<LLUICtrl>("Owner Name")->setValue(LLStringUtil::null); getChildView("Owner Name")->setEnabled(FALSE); getChildView("button owner profile")->setEnabled(FALSE); getChildView("Last Owner:")->setEnabled(FALSE); getChild<LLUICtrl>("Last Owner Name")->setValue(LLStringUtil::null); getChildView("Last Owner Name")->setEnabled(FALSE); getChildView("button last owner profile")->setEnabled(FALSE); getChildView("Group:")->setEnabled(FALSE); getChild<LLUICtrl>("Group Name Proxy")->setValue(LLStringUtil::null); getChildView("Group Name Proxy")->setEnabled(FALSE); getChildView("button set group")->setEnabled(FALSE); getChildView("button open group")->setEnabled(FALSE); LLLineEditor* ed = getChild<LLLineEditor>("Object Name"); ed->setValue(LLStringUtil::null); ed->setEnabled(FALSE); ed->setLabel(LLStringUtil::null); getChildView("Name:")->setEnabled(FALSE); //getChild<LLUICtrl>("Group Name")->setValue(LLStringUtil::null); //getChildView("Group Name")->setEnabled(FALSE); getChildView("Description:")->setEnabled(FALSE); ed = getChild<LLLineEditor>("Object Description"); ed->setEnabled(FALSE); ed->setValue(LLStringUtil::null); ed->setLabel(LLStringUtil::null); getChildView("Permissions:")->setEnabled(FALSE); getChild<LLUICtrl>("checkbox share with group")->setValue(FALSE); getChildView("checkbox share with group")->setEnabled(FALSE); getChildView("button deed")->setEnabled(FALSE); getChildView("text anyone can")->setEnabled(FALSE); getChild<LLUICtrl>("checkbox allow everyone move")->setValue(FALSE); getChildView("checkbox allow everyone move")->setEnabled(FALSE); getChild<LLUICtrl>("checkbox allow everyone copy")->setValue(FALSE); getChildView("checkbox allow everyone copy")->setEnabled(FALSE); getChild<LLUICtrl>("checkbox allow export")->setValue(FALSE); getChildView("checkbox allow export")->setEnabled(FALSE); //Next owner can: getChildView("Next owner can:")->setEnabled(FALSE); getChild<LLUICtrl>("checkbox next owner can modify")->setValue(FALSE); getChildView("checkbox next owner can modify")->setEnabled(FALSE); getChild<LLUICtrl>("checkbox next owner can copy")->setValue(FALSE); getChildView("checkbox next owner can copy")->setEnabled(FALSE); getChild<LLUICtrl>("checkbox next owner can transfer")->setValue(FALSE); getChildView("checkbox next owner can transfer")->setEnabled(FALSE); //checkbox for sale getChild<LLUICtrl>("checkbox for sale")->setValue(FALSE); getChildView("checkbox for sale")->setEnabled(FALSE); //checkbox include in search getChild<LLUICtrl>("search_check")->setValue(FALSE); getChildView("search_check")->setEnabled(FALSE); LLRadioGroup* RadioSaleType = getChild<LLRadioGroup>("sale type"); if(RadioSaleType) { RadioSaleType->setSelectedIndex(-1); RadioSaleType->setEnabled(FALSE); } getChildView("Cost")->setEnabled(FALSE); getChild<LLUICtrl>("Cost")->setValue(getString("Cost Default")); getChild<LLUICtrl>("Edit Cost")->setValue(LLStringUtil::null); getChildView("Edit Cost")->setEnabled(FALSE); getChildView("label click action")->setEnabled(FALSE); LLComboBox* combo_click_action = getChild<LLComboBox>("clickaction"); if (combo_click_action) { combo_click_action->setEnabled(FALSE); combo_click_action->clear(); } getChildView("B:")->setVisible( FALSE); //getChildView("O:")->setVisible( FALSE); getChildView("G:")->setVisible( FALSE); getChildView("E:")->setVisible( FALSE); getChildView("N:")->setVisible( FALSE); getChildView("F:")->setVisible( FALSE); }