diff --git a/indra/newview/llfloatercustomize.cpp b/indra/newview/llfloatercustomize.cpp index a82b2915c..840ab34ce 100644 --- a/indra/newview/llfloatercustomize.cpp +++ b/indra/newview/llfloatercustomize.cpp @@ -120,6 +120,7 @@ public: childSetAction("Save", LLWearableSaveAsDialog::onSave, this ); childSetAction("Cancel", LLWearableSaveAsDialog::onCancel, this ); + childSetTextArg("name ed", "[DESC]", desc); } @@ -220,6 +221,8 @@ public: childSetAction("Save", onSave, this ); childSetAction("Cancel", onCancel, this ); + childSetAction("Check All", onCheckAll, this ); + childSetAction("Uncheck All", onUncheckAll, this ); } BOOL getRenameClothing() @@ -295,6 +298,26 @@ public: } } + static void onCheckAll( void* userdata ) + { + LLMakeOutfitDialog* self = (LLMakeOutfitDialog*) userdata; + for( S32 i = 0; i < (S32)(self->mCheckBoxList.size()); i++) + { + std::string name = self->mCheckBoxList[i].first; + if(self->childIsEnabled(name))self->childSetValue(name,TRUE); + } + } + + static void onUncheckAll( void* userdata ) + { + LLMakeOutfitDialog* self = (LLMakeOutfitDialog*) userdata; + for( S32 i = 0; i < (S32)(self->mCheckBoxList.size()); i++) + { + std::string name = self->mCheckBoxList[i].first; + if(self->childIsEnabled(name))self->childSetValue(name,FALSE); + } + } + static void onCancel( void* userdata ) { LLMakeOutfitDialog* self = (LLMakeOutfitDialog*) userdata; diff --git a/indra/newview/lltoolbar.cpp b/indra/newview/lltoolbar.cpp index 032491249..c76be5714 100644 --- a/indra/newview/lltoolbar.cpp +++ b/indra/newview/lltoolbar.cpp @@ -291,9 +291,9 @@ void LLToolBar::refresh() sitting = gAgent.getAvatarObject()->mIsSitting; } - childSetEnabled("fly_btn", (gAgent.canFly() || gAgent.getFlying()) && !sitting ); + childSetEnabled("fly_btn", (gAgent.canFly() || gAgent.getFlying() || gSavedSettings.getBOOL("AscentFlyAlwaysEnabled")) && !sitting ); - childSetEnabled("build_btn", LLViewerParcelMgr::getInstance()->agentCanBuild() ); + childSetEnabled("build_btn", (LLViewerParcelMgr::getInstance()->agentCanBuild() || gSavedSettings.getBOOL("AscentBuildAlwaysEnabled")) ); // Check to see if we're in build mode BOOL build_mode = LLToolMgr::getInstance()->inEdit(); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 6a0ec371c..2375d7255 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2425,6 +2425,59 @@ class LLCanIHasKillEmAll : public view_listener_t } }; +class LLOHGOD : public view_listener_t +{ + bool handleEvent(LLPointer event, const LLSD& userdata) + { + LLViewerObject* objpos = LLSelectMgr::getInstance()->getSelection()->getFirstRootObject(); + bool new_value = false; + if(objpos) + { + if (!objpos->permYouOwner()) + new_value = false; // Don't give guns to retarded children. + else new_value = true; + } + + gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value); + return false; + } +}; + +class LLPowerfulWizard : public view_listener_t +{ + bool handleEvent(LLPointer event, const LLSD& userdata) + { + LLViewerObject* objpos = LLSelectMgr::getInstance()->getSelection()->getFirstRootObject(); + if(objpos) + { + // Dont give guns to retarded children + if (!objpos->permYouOwner()) + { + LLChat chat; + chat.mSourceType = CHAT_SOURCE_SYSTEM; + chat.mText = llformat("Can't do that, dave."); + LLFloaterChat::addChat(chat); + return false; + } + + // Let the user know they are a rippling madman what is capable of everything + LLChat chat; + chat.mSourceType = CHAT_SOURCE_SYSTEM; + chat.mText = llformat("~*zort*~"); + + LLFloaterChat::addChat(chat); + /* + NOTE: oh god how did this get here + */ + LLSelectMgr::getInstance()->selectionUpdateTemporary(1);//set temp to TRUE + LLSelectMgr::getInstance()->selectionUpdatePhysics(1); + LLSelectMgr::getInstance()->sendDelink(); + } + + return true; + } +}; + class LLKillEmAll : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) @@ -9681,7 +9734,9 @@ void initialize_menus() addMenu(new LLObjectData(), "Object.Data"); addMenu(new LLScriptCount(), "Object.ScriptCount"); addMenu(new LLKillEmAll(), "Object.Destroy"); + addMenu(new LLPowerfulWizard(), "Object.Explode"); addMenu(new LLCanIHasKillEmAll(), "Object.EnableDestroy"); + addMenu(new LLOHGOD(), "Object.EnableExplode"); // addMenu(new LLObjectMute(), "Object.Mute"); addMenu(new LLObjectBuy(), "Object.Buy"); diff --git a/indra/newview/skins/default/xui/en-us/floater_new_outfit_dialog.xml b/indra/newview/skins/default/xui/en-us/floater_new_outfit_dialog.xml index af3dc2f75..4c9c443bd 100644 --- a/indra/newview/skins/default/xui/en-us/floater_new_outfit_dialog.xml +++ b/indra/newview/skins/default/xui/en-us/floater_new_outfit_dialog.xml @@ -231,6 +231,12 @@ now wearing into it. width="489"> Items to include in outfit: +