Feature Request: Make Inspect button a toggler~

This commit is contained in:
Inusaito Sayori
2014-06-05 23:54:15 -04:00
parent f6db6058e1
commit f63de0d0cc
10 changed files with 15 additions and 21 deletions

View File

@@ -52,7 +52,7 @@
//LLFloaterInspect* LLFloaterInspect::sInstance = NULL; //LLFloaterInspect* LLFloaterInspect::sInstance = NULL;
LLFloaterInspect::LLFloaterInspect() LLFloaterInspect::LLFloaterInspect(const LLSD&)
: LLFloater(std::string("Inspect Object")), : LLFloater(std::string("Inspect Object")),
mDirty(FALSE) mDirty(FALSE)
{ {
@@ -91,12 +91,6 @@ LLFloaterInspect::~LLFloaterInspect(void)
} }
} }
// static
void LLFloaterInspect::showInstance()
{
getInstance()->open();
}
void LLFloaterInspect::onOpen() void LLFloaterInspect::onOpen()
{ {
BOOL forcesel = LLSelectMgr::getInstance()->setForceSelection(TRUE); BOOL forcesel = LLSelectMgr::getInstance()->setForceSelection(TRUE);

View File

@@ -44,12 +44,11 @@ class LLObjectSelection;
class LLScrollListCtrl; class LLScrollListCtrl;
class LLUICtrl; class LLUICtrl;
class LLFloaterInspect : public LLFloater, public LLSingleton<LLFloaterInspect>, public LLVOInventoryListener class LLFloaterInspect : public LLFloater, public LLFloaterSingleton<LLFloaterInspect>, public LLVOInventoryListener
{ {
friend class LLSingleton<LLFloaterInspect>; friend class LLUISingleton<LLFloaterInspect, VisibilityPolicy<LLFloater> >;
public: public:
static void showInstance();
// static void show(void* ignored = NULL); // static void show(void* ignored = NULL);
void onOpen(); void onOpen();
virtual BOOL postBuild(); virtual BOOL postBuild();
@@ -73,7 +72,7 @@ protected:
// </edit> // </edit>
private: private:
LLFloaterInspect(); LLFloaterInspect(const LLSD&);
virtual ~LLFloaterInspect(void); virtual ~LLFloaterInspect(void);
LLSafeHandle<LLObjectSelection> mObjectSelection; LLSafeHandle<LLObjectSelection> mObjectSelection;

View File

@@ -190,7 +190,6 @@ struct MenuFloaterDict : public LLSingleton<MenuFloaterDict>
//Singu TODO: Re-implement f1 help. //Singu TODO: Re-implement f1 help.
//registerFloater("help f1", boost::bind(/*gViewerHtmlHelp.show*/)); //registerFloater("help f1", boost::bind(/*gViewerHtmlHelp.show*/));
registerFloater("help tutorial", boost::bind(LLFloaterHUD::showHUD)); registerFloater("help tutorial", boost::bind(LLFloaterHUD::showHUD));
registerFloater("inspect", boost::bind(LLFloaterInspect::showInstance));
registerFloater("inventory", boost::bind(LLInventoryView::toggleVisibility, (void*)NULL), boost::bind(is_visible_view, static_cast<boost::function<LLView* ()> >(LLInventoryView::getActiveInventory))); registerFloater("inventory", boost::bind(LLInventoryView::toggleVisibility, (void*)NULL), boost::bind(is_visible_view, static_cast<boost::function<LLView* ()> >(LLInventoryView::getActiveInventory)));
registerFloater("local assets", boost::bind(FloaterLocalAssetBrowser::show, (void*)0)); registerFloater("local assets", boost::bind(FloaterLocalAssetBrowser::show, (void*)0));
registerFloater("mean events", boost::bind(LLFloaterBump::show, (void*)NULL)); registerFloater("mean events", boost::bind(LLFloaterBump::show, (void*)NULL));
@@ -205,6 +204,7 @@ struct MenuFloaterDict : public LLSingleton<MenuFloaterDict>
registerFloater("RegionDebugConsole", boost::bind(handle_singleton_toggle<LLFloaterRegionDebugConsole>, (void*)NULL), boost::bind(LLFloaterRegionDebugConsole::instanceExists)); registerFloater("RegionDebugConsole", boost::bind(handle_singleton_toggle<LLFloaterRegionDebugConsole>, (void*)NULL), boost::bind(LLFloaterRegionDebugConsole::instanceExists));
registerFloater("script errors", boost::bind(LLFloaterScriptDebug::show, LLUUID::null)); registerFloater("script errors", boost::bind(LLFloaterScriptDebug::show, LLUUID::null));
registerFloater("search", boost::bind(toggle_search_floater)); registerFloater("search", boost::bind(toggle_search_floater));
registerFloater("show inspect", boost::bind(LLFloaterInspect::showInstance, LLSD()));
registerFloater("sit", boost::bind(toggle_sit)); registerFloater("sit", boost::bind(toggle_sit));
registerFloater("snapshot", boost::bind(LLFloaterSnapshot::show, (void*)NULL)); registerFloater("snapshot", boost::bind(LLFloaterSnapshot::show, (void*)NULL));
registerFloater("sound_explorer", boost::bind(LLFloaterExploreSounds::toggle), boost::bind(LLFloaterExploreSounds::visible)); registerFloater("sound_explorer", boost::bind(LLFloaterExploreSounds::toggle), boost::bind(LLFloaterExploreSounds::visible));
@@ -227,6 +227,7 @@ struct MenuFloaterDict : public LLSingleton<MenuFloaterDict>
registerFloater<LLFloaterGesture> ("gestures"); registerFloater<LLFloaterGesture> ("gestures");
registerFloater<LLFloaterMyFriends> ("groups", 1); registerFloater<LLFloaterMyFriends> ("groups", 1);
registerFloater<CommWrapper> ("im"); registerFloater<CommWrapper> ("im");
registerFloater<LLFloaterInspect> ("inspect");
registerFloater<LLFloaterLagMeter> ("lag meter"); registerFloater<LLFloaterLagMeter> ("lag meter");
registerFloater<SLFloaterMediaFilter> ("media filter"); registerFloater<SLFloaterMediaFilter> ("media filter");
registerFloater<LLFloaterMap> ("mini map"); registerFloater<LLFloaterMap> ("mini map");

View File

@@ -5709,7 +5709,7 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
if (mSelectedObjects->getNumNodes()) if (mSelectedObjects->getNumNodes())
{ {
LLUUID inspect_item_id= LLUUID::null; LLUUID inspect_item_id= LLUUID::null;
LLFloaterInspect* inspect_instance = LLFloaterInspect::instanceExists() ? LLFloaterInspect::getInstance() : NULL; LLFloaterInspect* inspect_instance = LLFloaterInspect::findInstance();
if(inspect_instance && inspect_instance->getVisible()) if(inspect_instance && inspect_instance->getVisible())
{ {
inspect_item_id = inspect_instance->getSelectedUUID(); inspect_item_id = inspect_instance->getSelectedUUID();
@@ -6447,7 +6447,7 @@ void dialog_refresh_all()
LLFloaterProperties::dirtyAll(); LLFloaterProperties::dirtyAll();
LLFloaterInspect* inspect_instance = LLFloaterInspect::instanceExists() ? LLFloaterInspect::getInstance() : NULL; LLFloaterInspect* inspect_instance = LLFloaterInspect::findInstance();
if(inspect_instance) if(inspect_instance)
{ {
inspect_instance->dirty(); inspect_instance->dirty();

View File

@@ -4376,7 +4376,7 @@ public:
if (vobj->isAvatar()) if (vobj->isAvatar())
{ {
LLVOAvatar* avatar = (LLVOAvatar*) vobj; LLVOAvatar* avatar = (LLVOAvatar*) vobj;
if (gFloaterTools->getVisible() || LLFloaterInspect::instanceExists()) if (gFloaterTools->getVisible() || LLFloaterInspect::findInstance())
{ {
LLViewerObject* hit = avatar->lineSegmentIntersectRiggedAttachments(mStart, mEnd, -1, mPickTransparent, mFaceHit, &intersection, mTexCoord, mNormal, mTangent); LLViewerObject* hit = avatar->lineSegmentIntersectRiggedAttachments(mStart, mEnd, -1, mPickTransparent, mFaceHit, &intersection, mTexCoord, mNormal, mTangent);
if (hit) if (hit)

View File

@@ -3651,7 +3651,7 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector4a& start, const LLVector4a&
if (mDrawable->isState(LLDrawable::RIGGED)) if (mDrawable->isState(LLDrawable::RIGGED))
{ {
static const LLCachedControl<bool> allow_mesh_picking("SGAllowRiggedMeshSelection"); static const LLCachedControl<bool> allow_mesh_picking("SGAllowRiggedMeshSelection");
if (allow_mesh_picking && (gFloaterTools->getVisible() || LLFloaterInspect::instanceExists())) if (allow_mesh_picking && (gFloaterTools->getVisible() || LLFloaterInspect::findInstance()))
{ {
updateRiggedVolume(); updateRiggedVolume();
//genBBoxes(FALSE); //genBBoxes(FALSE);
@@ -3833,7 +3833,7 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector4a& start, const LLVector4a&
bool LLVOVolume::treatAsRigged() bool LLVOVolume::treatAsRigged()
{ {
return (gFloaterTools->getVisible() || LLFloaterInspect::instanceExists()) && return (gFloaterTools->getVisible() || LLFloaterInspect::findInstance()) &&
isAttachment() && isAttachment() &&
mDrawable.notNull() && mDrawable.notNull() &&
mDrawable->isState(LLDrawable::RIGGED); mDrawable->isState(LLDrawable::RIGGED);

View File

@@ -55,7 +55,7 @@
</menu_item_call> </menu_item_call>
</pie_menu> </pie_menu>
<menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect"> <menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect">
<on_click function="ShowFloater" userdata="inspect" /> <on_click function="ShowFloater" userdata="show inspect" />
<on_enable function="Object.EnableInspect"/> <on_enable function="Object.EnableInspect"/>
</menu_item_call> </menu_item_call>
<menu_item_call enabled="false" label="Data" mouse_opaque="true" name="Data"> <menu_item_call enabled="false" label="Data" mouse_opaque="true" name="Data">

View File

@@ -56,7 +56,7 @@
</menu_item_call> </menu_item_call>
<menu_item_separator /> <menu_item_separator />
<menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect"> <menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect">
<on_click function="ShowFloater" userdata="inspect" /> <on_click function="ShowFloater" userdata="show inspect" />
<on_enable function="Object.EnableInspect" /> <on_enable function="Object.EnableInspect" />
</menu_item_call> </menu_item_call>
</pie_menu> </pie_menu>

View File

@@ -85,7 +85,7 @@
<on_enable function="Object.EnableMute" /> <on_enable function="Object.EnableMute" />
</menu_item_call> </menu_item_call>
<menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect"> <menu_item_call enabled="true" label="Inspect" mouse_opaque="true" name="Object Inspect">
<on_click function="ShowFloater" userdata="inspect" /> <on_click function="ShowFloater" userdata="show inspect" />
<on_enable function="Object.EnableInspect" /> <on_enable function="Object.EnableInspect" />
</menu_item_call> </menu_item_call>
<menu_item_call enabled="true" label="Derender" mouse_opaque="true" name="Derender"> <menu_item_call enabled="true" label="Derender" mouse_opaque="true" name="Derender">

View File

@@ -279,7 +279,7 @@
</menu_item_call> </menu_item_call>
</menu> </menu>
<menu bottom="-1" create_jump_keys="true" drop_shadow="true" enabled="true" <menu bottom="-1" create_jump_keys="true" drop_shadow="true" enabled="true"
height="537" label="View" left="80" mouse_opaque="false" name="View" height="537" label="View" left="80" mouse_opaque="false" name="View" scrollable="true"
opaque="true" tear_off="true" width="211"> opaque="true" tear_off="true" width="211">
<tearoff_menu bottom="-10" enabled="true" height="10" label="~~~~~~~~~~~" left="0" <tearoff_menu bottom="-10" enabled="true" height="10" label="~~~~~~~~~~~" left="0"
mouse_opaque="true" name="~~~~~~~~~~~" width="211" /> mouse_opaque="true" name="~~~~~~~~~~~" width="211" />