Remove unnecessary listeners for the MiniMap
New class ToggleControl is used in place of the removed listeners. Much cleaner code for the MiniMap chat rings. Remove redundant debug setting: MiniMapChatRings. -Thanks Liru for the advices.
This commit is contained in:
@@ -4788,7 +4788,7 @@ This should be as low as possible, but too low may break functionality</string>
|
|||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
<string>U32</string>
|
<string>U32</string>
|
||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<integer>8</integer>
|
<integer>32</integer>
|
||||||
</map>
|
</map>
|
||||||
<key>CurlTimeoutDNSLookup</key>
|
<key>CurlTimeoutDNSLookup</key>
|
||||||
<map>
|
<map>
|
||||||
@@ -10068,17 +10068,6 @@ This should be as low as possible, but too low may break functionality</string>
|
|||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
</map>
|
</map>
|
||||||
<key>MiniMapChatRings</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Display chat distance rings on mini map</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>Boolean</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</map>
|
|
||||||
<key>MiniMapWhisperRing</key>
|
<key>MiniMapWhisperRing</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
|
|||||||
@@ -113,14 +113,8 @@ LLNetMap::LLNetMap(const std::string& name) :
|
|||||||
(new LLScaleMap())->registerListener(this, "MiniMap.ZoomLevel");
|
(new LLScaleMap())->registerListener(this, "MiniMap.ZoomLevel");
|
||||||
(new LLCenterMap())->registerListener(this, "MiniMap.Center");
|
(new LLCenterMap())->registerListener(this, "MiniMap.Center");
|
||||||
(new LLCheckCenterMap())->registerListener(this, "MiniMap.CheckCenter");
|
(new LLCheckCenterMap())->registerListener(this, "MiniMap.CheckCenter");
|
||||||
(new LLRotateMap())->registerListener(this, "MiniMap.Rotate");
|
|
||||||
(new LLCheckRotateMap())->registerListener(this, "MiniMap.CheckRotate");
|
|
||||||
(new LLShowObjects())->registerListener(this, "MiniMap.ShowObjects");
|
|
||||||
(new LLCheckShowObjects())->registerListener(this, "MiniMap.CheckShowObjects");
|
|
||||||
(new LLChatRings())->registerListener(this, "MiniMap.ChatRings");
|
(new LLChatRings())->registerListener(this, "MiniMap.ChatRings");
|
||||||
(new LLWhisperRing())->registerListener(this, "MiniMap.WhisperRing");
|
(new LLCheckChatRings())->registerListener(this, "MiniMap.CheckChatRings");
|
||||||
(new LLChatRing())->registerListener(this, "MiniMap.ChatRing");
|
|
||||||
(new LLShoutRing())->registerListener(this, "MiniMap.ShoutRing");
|
|
||||||
(new LLStopTracking())->registerListener(this, "MiniMap.StopTracking");
|
(new LLStopTracking())->registerListener(this, "MiniMap.StopTracking");
|
||||||
(new LLEnableTracking())->registerListener(this, "MiniMap.EnableTracking");
|
(new LLEnableTracking())->registerListener(this, "MiniMap.EnableTracking");
|
||||||
(new LLShowAgentProfile())->registerListener(this, "MiniMap.ShowProfile");
|
(new LLShowAgentProfile())->registerListener(this, "MiniMap.ShowProfile");
|
||||||
@@ -133,6 +127,7 @@ LLNetMap::LLNetMap(const std::string& name) :
|
|||||||
(new mmsetcustom())->registerListener(this, "MiniMap.setcustom");
|
(new mmsetcustom())->registerListener(this, "MiniMap.setcustom");
|
||||||
(new mmsetunmark())->registerListener(this, "MiniMap.setunmark");
|
(new mmsetunmark())->registerListener(this, "MiniMap.setunmark");
|
||||||
(new mmenableunmark())->registerListener(this, "MiniMap.enableunmark");
|
(new mmenableunmark())->registerListener(this, "MiniMap.enableunmark");
|
||||||
|
(new LLToggleControl())->registerListener(this, "MiniMap.ToggleControl");
|
||||||
|
|
||||||
LLUICtrlFactory::getInstance()->buildPanel(this, "panel_mini_map.xml");
|
LLUICtrlFactory::getInstance()->buildPanel(this, "panel_mini_map.xml");
|
||||||
|
|
||||||
@@ -1163,95 +1158,29 @@ bool LLNetMap::LLCheckCenterMap::handleEvent(LLPointer<LLEvent> event, const LLS
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool LLNetMap::LLRotateMap::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
|
||||||
{
|
|
||||||
BOOL rotate = gSavedSettings.getBOOL("MiniMapRotate");
|
|
||||||
gSavedSettings.setBOOL("MiniMapRotate", !rotate);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool LLNetMap::LLCheckRotateMap::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
|
||||||
{
|
|
||||||
LLNetMap *self = mPtr;
|
|
||||||
BOOL enabled = gSavedSettings.getBOOL("MiniMapRotate");
|
|
||||||
self->findControl(userdata["control"].asString())->setValue(enabled);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool LLNetMap::LLShowObjects::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
|
||||||
{
|
|
||||||
BOOL showobjects = gSavedSettings.getBOOL("ShowMiniMapObjects");
|
|
||||||
gSavedSettings.setBOOL("ShowMiniMapObjects", !showobjects);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool LLNetMap::LLCheckShowObjects::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
|
||||||
{
|
|
||||||
LLNetMap *self = mPtr;
|
|
||||||
BOOL enabled = gSavedSettings.getBOOL("ShowMiniMapObjects");
|
|
||||||
self->findControl(userdata["control"].asString())->setValue(enabled);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool LLNetMap::LLChatRings::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
bool LLNetMap::LLChatRings::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||||
{
|
{
|
||||||
BOOL all_enabled = gSavedSettings.getBOOL("MiniMapChatRings");
|
BOOL whisper_enabled = gSavedSettings.getBOOL("MiniMapWhisperRing");
|
||||||
gSavedSettings.setBOOL("MiniMapChatRings", !all_enabled);
|
BOOL chat_enabled = gSavedSettings.getBOOL("MiniMapChatRing");
|
||||||
|
BOOL shout_enabled = gSavedSettings.getBOOL("MiniMapShoutRing");
|
||||||
|
BOOL all_enabled = whisper_enabled && chat_enabled && shout_enabled;
|
||||||
|
|
||||||
gSavedSettings.setBOOL("MiniMapWhisperRing", !all_enabled);
|
gSavedSettings.setBOOL("MiniMapWhisperRing", !all_enabled);
|
||||||
gSavedSettings.setBOOL("MiniMapChatRing", !all_enabled);
|
gSavedSettings.setBOOL("MiniMapChatRing", !all_enabled);
|
||||||
gSavedSettings.setBOOL("MiniMapShoutRing", !all_enabled);
|
gSavedSettings.setBOOL("MiniMapShoutRing", !all_enabled);
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool LLNetMap::LLWhisperRing::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
|
||||||
{
|
|
||||||
BOOL all_enabled = gSavedSettings.getBOOL("MiniMapChatRings");
|
|
||||||
BOOL whisper_enabled = gSavedSettings.getBOOL("MiniMapWhisperRing");
|
|
||||||
BOOL chat_enabled = gSavedSettings.getBOOL("MiniMapChatRing");
|
|
||||||
BOOL shout_enabled = gSavedSettings.getBOOL("MiniMapShoutRing");
|
|
||||||
|
|
||||||
gSavedSettings.setBOOL("MiniMapWhisperRing", !whisper_enabled);
|
|
||||||
|
|
||||||
if(all_enabled)
|
|
||||||
gSavedSettings.setBOOL("MiniMapChatRings", !all_enabled);
|
|
||||||
else if(!whisper_enabled && chat_enabled && shout_enabled)
|
|
||||||
gSavedSettings.setBOOL("MiniMapChatRings", TRUE);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool LLNetMap::LLChatRing::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
bool LLNetMap::LLCheckChatRings::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||||
{
|
{
|
||||||
BOOL all_enabled = gSavedSettings.getBOOL("MiniMapChatRings");
|
|
||||||
BOOL whisper_enabled = gSavedSettings.getBOOL("MiniMapWhisperRing");
|
BOOL whisper_enabled = gSavedSettings.getBOOL("MiniMapWhisperRing");
|
||||||
BOOL chat_enabled = gSavedSettings.getBOOL("MiniMapChatRing");
|
BOOL chat_enabled = gSavedSettings.getBOOL("MiniMapChatRing");
|
||||||
BOOL shout_enabled = gSavedSettings.getBOOL("MiniMapShoutRing");
|
BOOL shout_enabled = gSavedSettings.getBOOL("MiniMapShoutRing");
|
||||||
|
BOOL all_enabled = whisper_enabled && chat_enabled && shout_enabled;
|
||||||
|
|
||||||
gSavedSettings.setBOOL("MiniMapChatRing", !chat_enabled);
|
LLNetMap *self = mPtr;
|
||||||
|
self->findControl(userdata["control"].asString())->setValue(all_enabled);
|
||||||
if(all_enabled)
|
|
||||||
gSavedSettings.setBOOL("MiniMapChatRings", !all_enabled);
|
|
||||||
else if(whisper_enabled && !chat_enabled && shout_enabled)
|
|
||||||
gSavedSettings.setBOOL("MiniMapChatRings", TRUE);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool LLNetMap::LLShoutRing::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
|
||||||
{
|
|
||||||
BOOL all_enabled = gSavedSettings.getBOOL("MiniMapChatRings");
|
|
||||||
BOOL whisper_enabled = gSavedSettings.getBOOL("MiniMapWhisperRing");
|
|
||||||
BOOL chat_enabled = gSavedSettings.getBOOL("MiniMapChatRing");
|
|
||||||
BOOL shout_enabled = gSavedSettings.getBOOL("MiniMapShoutRing");
|
|
||||||
|
|
||||||
gSavedSettings.setBOOL("MiniMapShoutRing", !shout_enabled);
|
|
||||||
|
|
||||||
if(all_enabled)
|
|
||||||
gSavedSettings.setBOOL("MiniMapChatRings", !all_enabled);
|
|
||||||
else if(whisper_enabled && chat_enabled && !shout_enabled)
|
|
||||||
gSavedSettings.setBOOL("MiniMapChatRings", TRUE);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1300,3 +1229,11 @@ bool LLNetMap::LLEnableProfile::handleEvent(LLPointer<LLEvent> event, const LLSD
|
|||||||
//self->findControl(userdata["control"].asString())->setValue(self->isAgentUnderCursor());
|
//self->findControl(userdata["control"].asString())->setValue(self->isAgentUnderCursor());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool LLNetMap::LLToggleControl::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||||
|
{
|
||||||
|
std::string control_name = userdata.asString();
|
||||||
|
gSavedSettings.setBOOL(control_name, !gSavedSettings.getBOOL(control_name));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -147,49 +147,13 @@ private:
|
|||||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||||
};
|
};
|
||||||
|
|
||||||
class LLRotateMap : public LLMemberListener<LLNetMap>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
|
||||||
};
|
|
||||||
|
|
||||||
class LLCheckRotateMap : public LLMemberListener<LLNetMap>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
|
||||||
};
|
|
||||||
|
|
||||||
class LLCheckShowObjects : public LLMemberListener<LLNetMap>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
|
||||||
};
|
|
||||||
|
|
||||||
class LLShowObjects : public LLMemberListener<LLNetMap>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
|
||||||
};
|
|
||||||
|
|
||||||
class LLChatRings : public LLMemberListener<LLNetMap>
|
class LLChatRings : public LLMemberListener<LLNetMap>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||||
};
|
};
|
||||||
|
|
||||||
class LLWhisperRing : public LLMemberListener<LLNetMap>
|
class LLCheckChatRings : public LLMemberListener<LLNetMap>
|
||||||
{
|
|
||||||
public:
|
|
||||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
|
||||||
};
|
|
||||||
|
|
||||||
class LLChatRing : public LLMemberListener<LLNetMap>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
|
||||||
};
|
|
||||||
|
|
||||||
class LLShoutRing : public LLMemberListener<LLNetMap>
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||||
@@ -268,6 +232,13 @@ private:
|
|||||||
public:
|
public:
|
||||||
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class LLToggleControl : public LLMemberListener<LLNetMap>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -21,32 +21,32 @@
|
|||||||
</menu_item_check>
|
</menu_item_check>
|
||||||
<menu_item_check bottom_delta="-18" enabled="true" height="18" label="Rotate Mini-Map"
|
<menu_item_check bottom_delta="-18" enabled="true" height="18" label="Rotate Mini-Map"
|
||||||
left="0" mouse_opaque="true" name="Rotate Mini-Map" width="128">
|
left="0" mouse_opaque="true" name="Rotate Mini-Map" width="128">
|
||||||
<on_click function="MiniMap.Rotate" userdata="" />
|
<on_click function="MiniMap.ToggleControl" userdata="MiniMapRotate" />
|
||||||
<on_check function="MiniMap.CheckRotate" userdata="" />
|
<on_check control="MiniMapRotate" />
|
||||||
</menu_item_check>
|
</menu_item_check>
|
||||||
<menu_item_check bottom_delta="-18" enabled="false" height="18" label="Show Objects"
|
<menu_item_check bottom_delta="-18" enabled="false" height="18" label="Show Objects"
|
||||||
left="0" mouse_opaque="true" name="Show Objects" width="128">
|
left="0" mouse_opaque="true" name="Show Objects" width="128">
|
||||||
<on_click function="MiniMap.ShowObjects" userdata="" />
|
<on_click function="MiniMap.ToggleControl" userdata="ShowMiniMapObjects" />
|
||||||
<on_check function="MiniMap.CheckShowObjects" userdata="" />
|
<on_check control="ShowMiniMapObjects" />
|
||||||
</menu_item_check>
|
</menu_item_check>
|
||||||
<menu bottom_delta="0" color="MenuDefaultBgColor" drop_shadow="true" height="175" left="0"
|
<menu bottom_delta="0" color="MenuDefaultBgColor" drop_shadow="true" height="175" left="0"
|
||||||
mouse_opaque="false" name="Chat Distance Rings" opaque="true" tear_off="false" width="125">
|
mouse_opaque="false" name="Chat Distance Rings" opaque="true" tear_off="false" width="125">
|
||||||
<menu_item_check label="Show All" name="Show All">
|
<menu_item_check label="Show All" name="Show All">
|
||||||
<on_check control="MiniMapChatRings" />
|
<on_check function="MiniMap.CheckChatRings" userdata="MiniMapChatRings" />
|
||||||
<on_click function="MiniMap.ChatRings" userdata="MiniMapChatRings" />
|
<on_click function="MiniMap.ChatRings" userdata="MiniMapChatRings" />
|
||||||
</menu_item_check>
|
</menu_item_check>
|
||||||
<menu_item_separator />
|
<menu_item_separator />
|
||||||
<menu_item_check label="Show Whisper Ring" name="Show Whisper Ring">
|
<menu_item_check label="Show Whisper Ring" name="Show Whisper Ring">
|
||||||
<on_check control="MiniMapWhisperRing" />
|
<on_check control="MiniMapWhisperRing" />
|
||||||
<on_click function="MiniMap.WhisperRing" userdata="MiniMapWhisperRing" />
|
<on_click function="MiniMap.ToggleControl" userdata="MiniMapWhisperRing" />
|
||||||
</menu_item_check>
|
</menu_item_check>
|
||||||
<menu_item_check label="Show Chat Ring" name="Show Chat Ring">
|
<menu_item_check label="Show Chat Ring" name="Show Chat Ring">
|
||||||
<on_check control="MiniMapChatRing" />
|
<on_check control="MiniMapChatRing" />
|
||||||
<on_click function="MiniMap.ChatRing" userdata="MiniMapChatRing" />
|
<on_click function="MiniMap.ToggleControl" userdata="MiniMapChatRing" />
|
||||||
</menu_item_check>
|
</menu_item_check>
|
||||||
<menu_item_check label="Show Shout Ring" name="Show Shout Ring">
|
<menu_item_check label="Show Shout Ring" name="Show Shout Ring">
|
||||||
<on_check control="MiniMapShoutRing" />
|
<on_check control="MiniMapShoutRing" />
|
||||||
<on_click function="MiniMap.ShoutRing" userdata="MiniMapShoutRing" />
|
<on_click function="MiniMap.ToggleControl" userdata="MiniMapShoutRing" />
|
||||||
</menu_item_check>
|
</menu_item_check>
|
||||||
</menu>
|
</menu>
|
||||||
<menu_item_separator />
|
<menu_item_separator />
|
||||||
|
|||||||
Reference in New Issue
Block a user