Remove old junk from FSFloaterNearbyChat and replace it with a nice options menu with more or less useful options to start with
parent
3cb5b4994e
commit
4bc01a9965
|
|
@ -90,6 +90,9 @@ FSFloaterNearbyChat::FSFloaterNearbyChat(const LLSD& key)
|
|||
,mUnreadMessages(0)
|
||||
,mUnreadMessagesMuted(0)
|
||||
{
|
||||
//menu
|
||||
mEnableCallbackRegistrar.add("ChatOptions.Check", boost::bind(&FSFloaterNearbyChat::onChatOptionsCheckContextMenuItem, this, _2));
|
||||
mCommitCallbackRegistrar.add("ChatOptions.Action", boost::bind(&FSFloaterNearbyChat::onChatOptionsContextMenuItemClicked, this, _2));
|
||||
}
|
||||
|
||||
FSFloaterNearbyChat::~FSFloaterNearbyChat()
|
||||
|
|
@ -115,21 +118,6 @@ void FSFloaterNearbyChat::updateFSUseNearbyChatConsole(const LLSD &data)
|
|||
BOOL FSFloaterNearbyChat::postBuild()
|
||||
{
|
||||
setIsSingleInstance(TRUE);
|
||||
|
||||
//menu
|
||||
LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar;
|
||||
LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registrar;
|
||||
|
||||
enable_registrar.add("NearbyChat.Check", boost::bind(&FSFloaterNearbyChat::onNearbyChatCheckContextMenuItem, this, _2));
|
||||
registrar.add("NearbyChat.Action", boost::bind(&FSFloaterNearbyChat::onNearbyChatContextMenuItemClicked, this, _2));
|
||||
|
||||
LLMenuGL* menu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_nearby_chat.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance());
|
||||
if (menu)
|
||||
{
|
||||
mPopupMenuHandle = menu->getHandle();
|
||||
}
|
||||
|
||||
gSavedSettings.declareS32("nearbychat_showicons_and_names", 2, "NearByChat header settings");
|
||||
|
||||
mInputEditor = getChild<LLChatEntry>("chat_box");
|
||||
mInputEditor->setAutoreplaceCallback(boost::bind(&LLAutoReplace::autoreplaceCallback, LLAutoReplace::getInstance(), _1, _2, _3, _4, _5));
|
||||
|
|
@ -302,13 +290,6 @@ BOOL FSFloaterNearbyChat::focusFirstItem(BOOL prefer_text_fields, BOOL focus_fla
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void FSFloaterNearbyChat::onNearbySpeakers()
|
||||
{
|
||||
LLSD param;
|
||||
param["people_panel_tab_name"] = "nearby_panel";
|
||||
LLFloaterSidePanelContainer::showPanel("people", "panel_people", param);
|
||||
}
|
||||
|
||||
void FSFloaterNearbyChat::onHistoryButtonClicked()
|
||||
{
|
||||
if (gSavedSettings.getBOOL("FSUseBuiltInHistory"))
|
||||
|
|
@ -321,17 +302,48 @@ void FSFloaterNearbyChat::onHistoryButtonClicked()
|
|||
}
|
||||
}
|
||||
|
||||
void FSFloaterNearbyChat::onNearbyChatContextMenuItemClicked(const LLSD& userdata)
|
||||
void FSFloaterNearbyChat::onChatOptionsContextMenuItemClicked(const LLSD& userdata)
|
||||
{
|
||||
std::string option = userdata.asString();
|
||||
|
||||
if (option == "blocklist")
|
||||
{
|
||||
if (gSavedSettings.getBOOL("FSUseStandaloneBlocklistFloater"))
|
||||
{
|
||||
LLFloaterReg::toggleInstance("fs_blocklist");
|
||||
}
|
||||
else
|
||||
{
|
||||
LLPanel* panel = LLFloaterSidePanelContainer::getPanel("people", "panel_people");
|
||||
if (!panel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (panel->isInVisibleChain())
|
||||
{
|
||||
LLFloaterReg::hideInstance("people");
|
||||
}
|
||||
else
|
||||
{
|
||||
LLFloaterSidePanelContainer::showPanel("people", "panel_people", LLSD().with("people_panel_tab_name", "blocked_panel"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool FSFloaterNearbyChat::onNearbyChatCheckContextMenuItem(const LLSD& userdata)
|
||||
bool FSFloaterNearbyChat::onChatOptionsCheckContextMenuItem(const LLSD& userdata)
|
||||
{
|
||||
std::string str = userdata.asString();
|
||||
if (str == "nearby_people")
|
||||
std::string option = userdata.asString();
|
||||
|
||||
if (option == "blocklist")
|
||||
{
|
||||
onNearbySpeakers();
|
||||
if (gSavedSettings.getBOOL("FSUseStandaloneBlocklistFloater"))
|
||||
{
|
||||
return LLFloaterReg::instanceVisible("fs_blocklist");
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,16 +49,16 @@ public:
|
|||
FSFloaterNearbyChat(const LLSD& key);
|
||||
~FSFloaterNearbyChat();
|
||||
|
||||
BOOL postBuild ();
|
||||
BOOL postBuild();
|
||||
|
||||
/** @param archive true - to save a message to the chat history log */
|
||||
void addMessage (const LLChat& message,bool archive = true, const LLSD &args = LLSD());
|
||||
void onNearbyChatContextMenuItemClicked(const LLSD& userdata);
|
||||
bool onNearbyChatCheckContextMenuItem(const LLSD& userdata);
|
||||
void addMessage(const LLChat& message,bool archive = true, const LLSD &args = LLSD());
|
||||
void onChatOptionsContextMenuItemClicked(const LLSD& userdata);
|
||||
bool onChatOptionsCheckContextMenuItem(const LLSD& userdata);
|
||||
|
||||
/*virtual*/ void onOpen (const LLSD& key);
|
||||
/*virtual*/ void onOpen(const LLSD& key);
|
||||
/*virtual*/ void setVisible(BOOL visible);
|
||||
|
||||
/*virtual*/ void setVisible(BOOL visible);
|
||||
void openFloater(const LLSD& key);
|
||||
|
||||
void clearChatHistory();
|
||||
|
|
@ -115,10 +115,6 @@ protected:
|
|||
static S32 sLastSpecialChatChannel;
|
||||
|
||||
private:
|
||||
void onNearbySpeakers();
|
||||
|
||||
private:
|
||||
LLHandle<LLView> mPopupMenuHandle;
|
||||
FSChatHistory* mChatHistory;
|
||||
FSChatHistory* mChatHistoryMuted;
|
||||
LLChatEntry* mInputEditor;
|
||||
|
|
|
|||
|
|
@ -613,8 +613,6 @@ BOOL LLFloaterPreference::postBuild()
|
|||
{
|
||||
// <FS:Ansariel> [FS communication UI]
|
||||
//gSavedSettings.getControl("ChatFontSize")->getSignal()->connect(boost::bind(&LLFloaterIMSessionTab::processChatHistoryStyleUpdate, false));
|
||||
gSavedSettings.getControl("PlainTextChatHistory")->getSignal()->connect(boost::bind(&FSFloaterIM::processChatHistoryStyleUpdate, _2));
|
||||
gSavedSettings.getControl("PlainTextChatHistory")->getSignal()->connect(boost::bind(&FSFloaterNearbyChat::processChatHistoryStyleUpdate, _2));
|
||||
gSavedSettings.getControl("ChatFontSize")->getSignal()->connect(boost::bind(&FSFloaterIM::processChatHistoryStyleUpdate, _2));
|
||||
gSavedSettings.getControl("ChatFontSize")->getSignal()->connect(boost::bind(&FSFloaterNearbyChat::processChatHistoryStyleUpdate, _2));
|
||||
// </FS:Ansariel> [FS communication UI]
|
||||
|
|
|
|||
|
|
@ -81,6 +81,8 @@
|
|||
|
||||
// Firestorm inclues
|
||||
#include "fsfloatercontacts.h"
|
||||
#include "fsfloaterim.h"
|
||||
#include "fsfloaternearbychat.h"
|
||||
#include "fsfloaterposestand.h"
|
||||
#include "fsfloaterteleporthistory.h"
|
||||
#include "fslslbridge.h"
|
||||
|
|
@ -1024,6 +1026,10 @@ void settings_setup_listeners()
|
|||
|
||||
gSavedSettings.getControl("FSUseAzertyKeyboardLayout")->getCommitSignal()->connect(boost::bind(&handleKeyboardLayoutChanged, _2));
|
||||
|
||||
// <FS:Ansariel> [FS communication UI]
|
||||
gSavedSettings.getControl("PlainTextChatHistory")->getSignal()->connect(boost::bind(&FSFloaterIM::processChatHistoryStyleUpdate, _2));
|
||||
gSavedSettings.getControl("PlainTextChatHistory")->getSignal()->connect(boost::bind(&FSFloaterNearbyChat::processChatHistoryStyleUpdate, _2));
|
||||
|
||||
gSavedSettings.getControl(RLV_SETTING_MAIN)->getSignal()->connect(boost::bind(&RlvSettings::onChangedSettingMain, _2));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@
|
|||
<layout_panel name="lp_chat_history_muted_btn">
|
||||
<button name="chat_history_muted_btn" tool_tip="Ignorierten Chat in Chat in der Nähe anzeigen"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="lp_options_btn">
|
||||
<button name="chat_options_btn" tool_tip="Optionen für Chat in der Nähe"/>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
<layout_stack name="ls_chat">
|
||||
<layout_panel name="panel_im_control_lp">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<toggleable_menu name="NearBy Chat Menu">
|
||||
<menu_item_check label="Radar anzeigen..." name="nearby_people"/>
|
||||
<menu_item_check label="Stimmen in der Nähe anzeigen..." name="nearby_voice"/>
|
||||
<menu_item_check label="Blockierliste anzeigen..." name="block_list"/>
|
||||
<menu_item_check label="V1-Stil für Chatverlauf verwenden" name="plain_text_chat_history"/>
|
||||
</toggleable_menu>
|
||||
|
|
@ -105,6 +105,29 @@
|
|||
image_unselected="Toolbar_Middle_Off"
|
||||
tool_tip="Shows the muted chat in nearby chat transcript."
|
||||
name="chat_history_muted_btn"/>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
name="lp_options_btn"
|
||||
auto_resize="false"
|
||||
user_resize="false"
|
||||
top="0"
|
||||
layout="topleft"
|
||||
height="20"
|
||||
width="26"
|
||||
follows="left|top">
|
||||
<menu_button
|
||||
menu_filename="menu_fs_nearby_chat.xml"
|
||||
follows="left|top"
|
||||
top="0"
|
||||
width="24"
|
||||
height="20"
|
||||
left_delta="2"
|
||||
image_overlay="Conv_toolbar_sort"
|
||||
image_hover_unselected="Toolbar_Middle_Over"
|
||||
image_selected="Toolbar_Middle_Selected"
|
||||
image_unselected="Toolbar_Middle_Off"
|
||||
tool_tip="Nearby Chat Options"
|
||||
name="chat_options_btn"/>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
name="lp_bar"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<toggleable_menu name="NearBy Chat Menu" opaque="true" visible="false">
|
||||
<menu_item_check
|
||||
label="Show Radar..."
|
||||
name="nearby_people">
|
||||
<menu_item_check.on_click
|
||||
function="Floater.Toggle"
|
||||
userdata="fs_radar"/>
|
||||
<menu_item_check.on_check
|
||||
function="Floater.Visible"
|
||||
userdata="fs_radar"/>
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
label="Show Nearby Voice..."
|
||||
name="nearby_voice">
|
||||
<menu_item_check.on_click
|
||||
function="Floater.Toggle"
|
||||
userdata="fs_voice_controls"/>
|
||||
<menu_item_check.on_check
|
||||
function="Floater.Visible"
|
||||
userdata="fs_voice_controls"/>
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
label="Show Block List..."
|
||||
name="block_list">
|
||||
<menu_item_check.on_click
|
||||
function="ChatOptions.Action"
|
||||
userdata="blocklist"/>
|
||||
<menu_item_check.on_check
|
||||
function="ChatOptions.Check"
|
||||
userdata="blocklist"/>
|
||||
</menu_item_check>
|
||||
<menu_item_separator/>
|
||||
<menu_item_check
|
||||
label="Use V1 style chat headers"
|
||||
name="plain_text_chat_history">
|
||||
<menu_item_check.on_check
|
||||
function="CheckControl"
|
||||
parameter="PlainTextChatHistory" />
|
||||
<menu_item_check.on_click
|
||||
function="ToggleControl"
|
||||
parameter="PlainTextChatHistory" />
|
||||
</menu_item_check>
|
||||
</toggleable_menu>
|
||||
|
|
@ -102,8 +102,29 @@
|
|||
image_selected="PushButton_Selected_Press"
|
||||
tool_tip="Shows the muted chat in nearby chat transcript."
|
||||
name="chat_history_muted_btn">
|
||||
</button>
|
||||
|
||||
</button>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
name="lp_options_btn"
|
||||
auto_resize="false"
|
||||
user_resize="false"
|
||||
top="0"
|
||||
layout="topleft"
|
||||
height="26"
|
||||
width="26"
|
||||
follows="left|top">
|
||||
<menu_button
|
||||
menu_filename="menu_fs_nearby_chat.xml"
|
||||
follows="left|top"
|
||||
top="2"
|
||||
width="24"
|
||||
height="24"
|
||||
image_overlay="Conv_toolbar_sort"
|
||||
image_pressed="PushButton_Press"
|
||||
image_pressed_selected="PushButton_Selected_Press"
|
||||
image_selected="PushButton_Selected_Press"
|
||||
tool_tip="Nearby Chat Options"
|
||||
name="chat_options_btn"/>
|
||||
</layout_panel>
|
||||
|
||||
</layout_stack>
|
||||
|
|
|
|||
Loading…
Reference in New Issue