Pull and merge from ssh://stinson@hg.lindenlab.com/richard/viewer-chui.
commit
09163617c2
|
|
@ -561,7 +561,7 @@ void LLAvatarNameCache::eraseUnrefreshed()
|
|||
{
|
||||
const LLUUID& agent_id = it->first;
|
||||
LL_DEBUGS("AvNameCache") << agent_id
|
||||
<< " user '" << av_name.getUserName() << "' "
|
||||
<< " user '" << av_name.getAccountName() << "' "
|
||||
<< "expired " << now - av_name.mExpires << " secs ago"
|
||||
<< LL_ENDL;
|
||||
sCache.erase(it++);
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@
|
|||
|
||||
#include "lllocalcliprect.h"
|
||||
#include "llpanel.h"
|
||||
#include "llresizebar.h"
|
||||
#include "llcriticaldamp.h"
|
||||
#include "boost/foreach.hpp"
|
||||
|
||||
|
|
@ -796,6 +795,11 @@ void LLLayoutStack::updatePanelRect( LLLayoutPanel* resized_panel, const LLRect&
|
|||
}
|
||||
else
|
||||
{
|
||||
if (new_auto_resize_headroom < 1.f)
|
||||
{
|
||||
new_auto_resize_headroom = 1.f;
|
||||
}
|
||||
|
||||
F32 new_fractional_size = llclamp(total_visible_fraction * (F32)(panelp->mTargetDim - panelp->getRelevantMinDim() + delta_auto_resize_headroom)
|
||||
/ new_auto_resize_headroom,
|
||||
MIN_FRACTIONAL_SIZE,
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
#define LL_LLLAYOUTSTACK_H
|
||||
|
||||
#include "llpanel.h"
|
||||
#include "llresizebar.h"
|
||||
|
||||
|
||||
class LLLayoutPanel;
|
||||
|
|
@ -178,6 +179,7 @@ public:
|
|||
F32 getAutoResizeFactor() const;
|
||||
F32 getVisibleAmount() const;
|
||||
S32 getVisibleDim() const;
|
||||
LLResizeBar* getResizeBar() { return mResizeBar; }
|
||||
|
||||
bool isCollapsed() const { return mCollapsed;}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,8 +41,8 @@ LLMultiFloater::LLMultiFloater(const LLSD& key, const LLFloater::Params& params)
|
|||
mTabContainer(NULL),
|
||||
mTabPos(LLTabContainer::TOP),
|
||||
mAutoResize(TRUE),
|
||||
mOrigMinWidth(0),
|
||||
mOrigMinHeight(0)
|
||||
mOrigMinWidth(params.min_width),
|
||||
mOrigMinHeight(params.min_height)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,8 @@ LLResizeBar::LLResizeBar(const LLResizeBar::Params& p)
|
|||
mSide( p.side ),
|
||||
mSnappingEnabled(p.snapping_enabled),
|
||||
mAllowDoubleClickSnapping(p.allow_double_click_snapping),
|
||||
mResizingView(p.resizing_view)
|
||||
mResizingView(p.resizing_view),
|
||||
mResizeListener(NULL)
|
||||
{
|
||||
setFollowsNone();
|
||||
// set up some generically good follow code.
|
||||
|
|
@ -261,6 +262,11 @@ BOOL LLResizeBar::handleHover(S32 x, S32 y, MASK mask)
|
|||
}
|
||||
}
|
||||
|
||||
if (mResizeListener)
|
||||
{
|
||||
mResizeListener(NULL);
|
||||
}
|
||||
|
||||
return handled;
|
||||
} // end LLResizeBar::handleHover
|
||||
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ public:
|
|||
void setEnableSnapping(BOOL enable) { mSnappingEnabled = enable; }
|
||||
void setAllowDoubleClickSnapping(BOOL allow) { mAllowDoubleClickSnapping = allow; }
|
||||
bool canResize() { return getEnabled() && mMaxSize > mMinSize; }
|
||||
void setResizeListener(boost::function<void(void*)> listener) {mResizeListener = listener;}
|
||||
|
||||
private:
|
||||
S32 mDragLastScreenX;
|
||||
|
|
@ -84,6 +85,7 @@ private:
|
|||
BOOL mSnappingEnabled;
|
||||
BOOL mAllowDoubleClickSnapping;
|
||||
LLView* mResizingView;
|
||||
boost::function<void(void*)> mResizeListener;
|
||||
};
|
||||
|
||||
#endif // LL_RESIZEBAR_H
|
||||
|
|
|
|||
|
|
@ -1841,7 +1841,7 @@ void LLScrollListCtrl::copyNameToClipboard(std::string id, bool is_group)
|
|||
{
|
||||
LLAvatarName av_name;
|
||||
LLAvatarNameCache::get(LLUUID(id), &av_name);
|
||||
name = av_name.getUserName();
|
||||
name = av_name.getAccountName();
|
||||
}
|
||||
LLUrlAction::copyURLToClipboard(name);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -613,7 +613,7 @@ LLUrlEntryAgentUserName::LLUrlEntryAgentUserName()
|
|||
|
||||
std::string LLUrlEntryAgentUserName::getName(const LLAvatarName& avatar_name)
|
||||
{
|
||||
return avatar_name.getUserName();
|
||||
return avatar_name.getAccountName();
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
|||
|
|
@ -55,6 +55,8 @@
|
|||
#include "lltexteditor.h"
|
||||
#include "lltextbox.h"
|
||||
|
||||
static const S32 LINE_HEIGHT = 15;
|
||||
|
||||
S32 LLView::sDepth = 0;
|
||||
bool LLView::sDebugRects = false;
|
||||
bool LLView::sDebugRectsShowNames = true;
|
||||
|
|
@ -1203,11 +1205,24 @@ void LLView::drawDebugRect()
|
|||
&& preview_iter == sPreviewHighlightedElements.end()
|
||||
&& sDebugRectsShowNames)
|
||||
{
|
||||
//char temp[256];
|
||||
S32 x, y;
|
||||
gGL.color4fv( border_color.mV );
|
||||
x = debug_rect.getWidth()/2;
|
||||
y = debug_rect.getHeight()/2;
|
||||
|
||||
x = debug_rect.getWidth() / 2;
|
||||
|
||||
S32 rect_height = debug_rect.getHeight();
|
||||
S32 lines = rect_height / LINE_HEIGHT + 1;
|
||||
|
||||
S32 depth = 0;
|
||||
LLView * viewp = this;
|
||||
while (NULL != viewp)
|
||||
{
|
||||
viewp = viewp->getParent();
|
||||
depth++;
|
||||
}
|
||||
|
||||
y = rect_height - LINE_HEIGHT * (depth % lines + 1);
|
||||
|
||||
std::string debug_text = llformat("%s (%d x %d)", getName().c_str(),
|
||||
debug_rect.getWidth(), debug_rect.getHeight());
|
||||
LLFontGL::getFontSansSerifSmall()->renderUTF8(debug_text, 0, (F32)x, (F32)y, border_color,
|
||||
|
|
|
|||
|
|
@ -191,7 +191,8 @@ LLConversationLog::LLConversationLog()
|
|||
if (ctrl)
|
||||
{
|
||||
ctrl->getSignal()->connect(boost::bind(&LLConversationLog::enableLogging, this, _2));
|
||||
if (ctrl->getValue().asBoolean())
|
||||
if (ctrl->getValue().asBoolean()
|
||||
&& gSavedSettings.getBOOL("KeepConversationLogTranscripts"))
|
||||
{
|
||||
enableLogging(true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,14 +98,20 @@ LLConversationViewSession::~LLConversationViewSession()
|
|||
mFlashTimer->unset();
|
||||
}
|
||||
|
||||
void LLConversationViewSession::setFlashState(bool flash_state)
|
||||
{
|
||||
mFlashStateOn = flash_state;
|
||||
(flash_state ? mFlashTimer->startFlashing() : mFlashTimer->stopFlashing());
|
||||
}
|
||||
|
||||
bool LLConversationViewSession::isHighlightAllowed()
|
||||
{
|
||||
return mFlashTimer->isFlashingInProgress() || mIsSelected;
|
||||
return mFlashStateOn || mIsSelected;
|
||||
}
|
||||
|
||||
bool LLConversationViewSession::isHighlightActive()
|
||||
{
|
||||
return mFlashTimer->isFlashingInProgress() ? mFlashTimer->isCurrentlyHighlighted() : mIsCurSelection;
|
||||
return (mFlashStateOn ? (mFlashTimer->isFlashingInProgress() ? mFlashTimer->isCurrentlyHighlighted() : true) : mIsCurSelection);
|
||||
}
|
||||
|
||||
BOOL LLConversationViewSession::postBuild()
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ public:
|
|||
|
||||
virtual void refresh();
|
||||
|
||||
LLFlashTimer * getFlashTimer() { return mFlashTimer; }
|
||||
void setFlashState(bool flash_state);
|
||||
|
||||
private:
|
||||
|
||||
|
|
@ -94,6 +94,7 @@ private:
|
|||
LLTextBox* mSessionTitle;
|
||||
LLOutputMonitorCtrl* mSpeakingIndicator;
|
||||
LLFlashTimer* mFlashTimer;
|
||||
bool mFlashStateOn;
|
||||
|
||||
bool mCollapsedMode;
|
||||
bool mHasArrow;
|
||||
|
|
|
|||
|
|
@ -1520,8 +1520,8 @@ void LLFavoritesOrderStorage::saveFavoritesSLURLs()
|
|||
|
||||
LLAvatarName av_name;
|
||||
LLAvatarNameCache::get( gAgentID, &av_name );
|
||||
lldebugs << "Saved favorites for " << av_name.getUserName() << llendl;
|
||||
fav_llsd[av_name.getUserName()] = user_llsd;
|
||||
lldebugs << "Saved favorites for " << av_name.getAccountName() << llendl;
|
||||
fav_llsd[av_name.getAccountName()] = user_llsd;
|
||||
|
||||
llofstream file;
|
||||
file.open(filename);
|
||||
|
|
@ -1539,10 +1539,10 @@ void LLFavoritesOrderStorage::removeFavoritesRecordOfUser()
|
|||
|
||||
LLAvatarName av_name;
|
||||
LLAvatarNameCache::get( gAgentID, &av_name );
|
||||
lldebugs << "Removed favorites for " << av_name.getUserName() << llendl;
|
||||
if (fav_llsd.has(av_name.getUserName()))
|
||||
lldebugs << "Removed favorites for " << av_name.getAccountName() << llendl;
|
||||
if (fav_llsd.has(av_name.getAccountName()))
|
||||
{
|
||||
fav_llsd.erase(av_name.getUserName());
|
||||
fav_llsd.erase(av_name.getAccountName());
|
||||
}
|
||||
|
||||
llofstream out_file;
|
||||
|
|
|
|||
|
|
@ -67,7 +67,8 @@ BOOL LLFloaterConversationLog::postBuild()
|
|||
if (ctrl)
|
||||
{
|
||||
ctrl->getSignal()->connect(boost::bind(&LLFloaterConversationLog::onCallLoggingEnabledDisabled, this, _2));
|
||||
onCallLoggingEnabledDisabled(ctrl->getValue().asBoolean());
|
||||
onCallLoggingEnabledDisabled(ctrl->getValue().asBoolean()
|
||||
&& gSavedSettings.getBOOL("KeepConversationLogTranscripts"));
|
||||
}
|
||||
|
||||
return LLFloater::postBuild();
|
||||
|
|
|
|||
|
|
@ -51,8 +51,8 @@
|
|||
#include "llconversationview.h"
|
||||
#include "llcallbacklist.h"
|
||||
#include "llworld.h"
|
||||
|
||||
#include "llsdserialize.h"
|
||||
|
||||
//
|
||||
// LLFloaterIMContainer
|
||||
//
|
||||
|
|
@ -171,6 +171,9 @@ BOOL LLFloaterIMContainer::postBuild()
|
|||
// Open IM session with selected participant on double click event
|
||||
mConversationsListPanel->setDoubleClickCallback(boost::bind(&LLFloaterIMContainer::doToSelected, this, LLSD("im")));
|
||||
|
||||
// The resize limits for LLFloaterIMContainer should be updated, based on current values of width of conversation and message panels
|
||||
mConversationsPane->getResizeBar()->setResizeListener(boost::bind(&LLFloaterIMContainer::assignResizeLimits, this));
|
||||
|
||||
// Create the root model and view for all conversation sessions
|
||||
LLConversationItem* base_item = new LLConversationItem(getRootViewModel());
|
||||
|
||||
|
|
@ -247,6 +250,7 @@ void LLFloaterIMContainer::onOpen(const LLSD& key)
|
|||
{
|
||||
LLMultiFloater::onOpen(key);
|
||||
openNearbyChat();
|
||||
assignResizeLimits();
|
||||
}
|
||||
|
||||
// virtual
|
||||
|
|
@ -308,26 +312,6 @@ void LLFloaterIMContainer::onCloseFloater(LLUUID& id)
|
|||
setFocus(TRUE);
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLFloaterIMContainer::computeResizeLimits(S32& new_min_width, S32& new_min_height)
|
||||
{
|
||||
// possibly increase floater's minimum height according to children's minimums
|
||||
for (S32 tab_idx = 0; tab_idx < mTabContainer->getTabCount(); ++tab_idx)
|
||||
{
|
||||
LLFloater* floaterp = dynamic_cast<LLFloater*>(mTabContainer->getPanelByIndex(tab_idx));
|
||||
if (floaterp)
|
||||
{
|
||||
new_min_height = llmax(new_min_height, floaterp->getMinHeight());
|
||||
}
|
||||
}
|
||||
|
||||
S32 conversations_pane_min_dim = mConversationsPane->getRelevantMinDim();
|
||||
S32 messages_pane_min_dim = mMessagesPane->getRelevantMinDim();
|
||||
|
||||
// set floater's minimum width according to relevant minimal children's dimensionals
|
||||
new_min_width = conversations_pane_min_dim + messages_pane_min_dim + LLPANEL_BORDER_WIDTH*2;
|
||||
}
|
||||
|
||||
void LLFloaterIMContainer::onNewMessageReceived(const LLSD& data)
|
||||
{
|
||||
LLUUID session_id = data["session_id"].asUUID();
|
||||
|
|
@ -728,6 +712,15 @@ void LLFloaterIMContainer::updateState(bool collapse, S32 delta_width)
|
|||
setResizeLimits(expanded_min_size, expanded_min_size);
|
||||
}
|
||||
|
||||
assignResizeLimits();
|
||||
}
|
||||
|
||||
void LLFloaterIMContainer::assignResizeLimits()
|
||||
{
|
||||
const LLRect& conv_rect = mConversationsPane->isCollapsed() ? LLRect() : mConversationsPane->getRect();
|
||||
S32 msg_limits = mMessagesPane->isCollapsed() ? 0 : mMessagesPane->getExpandedMinDim();
|
||||
S32 x_limits = conv_rect.getWidth() + msg_limits;
|
||||
setResizeLimits(x_limits + LLPANEL_BORDER_WIDTH * 3, getMinHeight());
|
||||
}
|
||||
|
||||
void LLFloaterIMContainer::onAddButtonClicked()
|
||||
|
|
@ -1247,6 +1240,17 @@ BOOL LLFloaterIMContainer::selectConversationPair(const LLUUID& session_id, bool
|
|||
BOOL handled = TRUE;
|
||||
LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(session_id);
|
||||
|
||||
// On selection, stop the flash state on all conversation widgets
|
||||
conversations_widgets_map::iterator widget_it = mConversationsWidgets.begin();
|
||||
for (;widget_it != mConversationsWidgets.end(); ++widget_it)
|
||||
{
|
||||
LLConversationViewSession* widget = dynamic_cast<LLConversationViewSession*>(widget_it->second);
|
||||
if (widget)
|
||||
{
|
||||
widget->setFlashState(false);
|
||||
}
|
||||
}
|
||||
|
||||
/* widget processing */
|
||||
if (select_widget)
|
||||
{
|
||||
|
|
@ -1723,16 +1727,7 @@ void LLFloaterIMContainer::flashConversationItemWidget(const LLUUID& session_id,
|
|||
|
||||
if (widget)
|
||||
{
|
||||
//Start flash
|
||||
if (is_flashes)
|
||||
{
|
||||
widget->getFlashTimer()->startFlashing();
|
||||
}
|
||||
//Stop flash
|
||||
else
|
||||
{
|
||||
widget->getFlashTimer()->stopFlashing();
|
||||
}
|
||||
widget->setFlashState(is_flashes);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ private:
|
|||
avatarID_panel_map_t mSessions;
|
||||
boost::signals2::connection mNewMessageConnection;
|
||||
|
||||
/*virtual*/ void computeResizeLimits(S32& new_min_width, S32& new_min_height);
|
||||
/*virtual*/ void computeResizeLimits(S32& new_min_width, S32& new_min_height) {}
|
||||
|
||||
void onNewMessageReceived(const LLSD& data);
|
||||
|
||||
|
|
@ -153,6 +153,7 @@ private:
|
|||
void toggleAllowTextChat(const LLUUID& participant_uuid);
|
||||
void toggleMute(const LLUUID& participant_id, U32 flags);
|
||||
void openNearbyChat();
|
||||
void assignResizeLimits();
|
||||
|
||||
LLButton* mExpandCollapseBtn;
|
||||
LLButton* mStubCollapseBtn;
|
||||
|
|
|
|||
|
|
@ -113,8 +113,8 @@ BOOL LLFloaterIMNearbyChat::postBuild()
|
|||
BOOL result = LLFloaterIMSessionTab::postBuild();
|
||||
|
||||
mInputEditor->setCommitCallback(boost::bind(&LLFloaterIMNearbyChat::onChatBoxCommit, this));
|
||||
mInputEditor->setKeystrokeCallback(boost::bind(&onChatBoxKeystroke, _1, this));
|
||||
mInputEditor->setFocusLostCallback(boost::bind(&onChatBoxFocusLost, _1, this));
|
||||
mInputEditor->setKeystrokeCallback(boost::bind(&LLFloaterIMNearbyChat::onChatBoxKeystroke, this));
|
||||
mInputEditor->setFocusLostCallback(boost::bind(&LLFloaterIMNearbyChat::onChatBoxFocusLost, this));
|
||||
mInputEditor->setFocusReceivedCallback(boost::bind(&LLFloaterIMNearbyChat::onChatBoxFocusReceived, this));
|
||||
mInputEditor->setLabel(LLTrans::getString("NearbyChatTitle"));
|
||||
|
||||
|
|
@ -354,13 +354,11 @@ BOOL LLFloaterIMNearbyChat::matchChatTypeTrigger(const std::string& in_str, std:
|
|||
return string_was_found;
|
||||
}
|
||||
|
||||
void LLFloaterIMNearbyChat::onChatBoxKeystroke(LLTextEditor* caller, void* userdata)
|
||||
void LLFloaterIMNearbyChat::onChatBoxKeystroke()
|
||||
{
|
||||
LLFirstUse::otherAvatarChatFirst(false);
|
||||
|
||||
LLFloaterIMNearbyChat* self = (LLFloaterIMNearbyChat *)userdata;
|
||||
|
||||
LLWString raw_text = self->mInputEditor->getWText();
|
||||
LLWString raw_text = mInputEditor->getWText();
|
||||
|
||||
// Can't trim the end, because that will cause autocompletion
|
||||
// to eat trailing spaces that might be part of a gesture.
|
||||
|
|
@ -386,8 +384,8 @@ void LLFloaterIMNearbyChat::onChatBoxKeystroke(LLTextEditor* caller, void* userd
|
|||
// the selection will already be deleted, but we need to trim
|
||||
// off the character before
|
||||
std::string new_text = raw_text.substr(0, length-1);
|
||||
self->mInputEditor->setText( new_text );
|
||||
self->mInputEditor->setCursorToEnd();
|
||||
mInputEditor->setText( new_text );
|
||||
mInputEditor->setCursorToEnd();
|
||||
length = length - 1;
|
||||
}
|
||||
*/
|
||||
|
|
@ -407,17 +405,17 @@ void LLFloaterIMNearbyChat::onChatBoxKeystroke(LLTextEditor* caller, void* userd
|
|||
if (LLGestureMgr::instance().matchPrefix(utf8_trigger, &utf8_out_str))
|
||||
{
|
||||
std::string rest_of_match = utf8_out_str.substr(utf8_trigger.size());
|
||||
self->mInputEditor->setText(utf8_trigger + rest_of_match); // keep original capitalization for user-entered part
|
||||
mInputEditor->setText(utf8_trigger + rest_of_match); // keep original capitalization for user-entered part
|
||||
|
||||
// Select to end of line, starting from the character
|
||||
// after the last one the user typed.
|
||||
self->mInputEditor->selectNext(rest_of_match, false);
|
||||
mInputEditor->selectNext(rest_of_match, false);
|
||||
}
|
||||
else if (matchChatTypeTrigger(utf8_trigger, &utf8_out_str))
|
||||
{
|
||||
std::string rest_of_match = utf8_out_str.substr(utf8_trigger.size());
|
||||
self->mInputEditor->setText(utf8_trigger + rest_of_match + " "); // keep original capitalization for user-entered part
|
||||
self->mInputEditor->endOfDoc();
|
||||
mInputEditor->setText(utf8_trigger + rest_of_match + " "); // keep original capitalization for user-entered part
|
||||
mInputEditor->endOfDoc();
|
||||
}
|
||||
|
||||
//llinfos << "GESTUREDEBUG " << trigger
|
||||
|
|
@ -428,7 +426,7 @@ void LLFloaterIMNearbyChat::onChatBoxKeystroke(LLTextEditor* caller, void* userd
|
|||
}
|
||||
|
||||
// static
|
||||
void LLFloaterIMNearbyChat::onChatBoxFocusLost(LLFocusableElement* caller, void* userdata)
|
||||
void LLFloaterIMNearbyChat::onChatBoxFocusLost()
|
||||
{
|
||||
// stop typing animation
|
||||
gAgent.stopTyping();
|
||||
|
|
|
|||
|
|
@ -83,8 +83,8 @@ public:
|
|||
|
||||
protected:
|
||||
static BOOL matchChatTypeTrigger(const std::string& in_str, std::string* out_str);
|
||||
static void onChatBoxKeystroke(LLTextEditor* caller, void* userdata);
|
||||
static void onChatBoxFocusLost(LLFocusableElement* caller, void* userdata);
|
||||
void onChatBoxKeystroke();
|
||||
void onChatBoxFocusLost();
|
||||
void onChatBoxFocusReceived();
|
||||
|
||||
void sendChat( EChatType type );
|
||||
|
|
|
|||
|
|
@ -533,7 +533,7 @@ void LLFriendCardsManager::addFriendCardToInventory(const LLUUID& avatarID)
|
|||
bool shouldBeAdded = true;
|
||||
LLAvatarName av_name;
|
||||
LLAvatarNameCache::get(avatarID, &av_name);
|
||||
const std::string& name = av_name.getUserName();
|
||||
const std::string& name = av_name.getAccountName();
|
||||
|
||||
lldebugs << "Processing buddy name: " << name
|
||||
<< ", id: " << avatarID
|
||||
|
|
|
|||
|
|
@ -857,7 +857,8 @@ bool LLIMModel::addToHistory(const LLUUID& session_id, const std::string& from,
|
|||
|
||||
bool LLIMModel::logToFile(const std::string& file_name, const std::string& from, const LLUUID& from_id, const std::string& utf8_text)
|
||||
{
|
||||
if (gSavedPerAccountSettings.getBOOL("LogInstantMessages"))
|
||||
if (gSavedPerAccountSettings.getBOOL("LogInstantMessages")
|
||||
&& gSavedSettings.getBOOL("KeepConversationLogTranscripts"))
|
||||
{
|
||||
std::string from_name = from;
|
||||
|
||||
|
|
@ -2477,8 +2478,8 @@ void LLIMMgr::addMessage(
|
|||
new_session_id = computeSessionID(dialog, other_participant_id);
|
||||
}
|
||||
|
||||
// Open conversation log if offline messages are present
|
||||
if (is_offline_msg)
|
||||
// Open conversation log if offline messages are present and user allows a Call Log
|
||||
if (is_offline_msg && gSavedSettings.getBOOL("KeepConversationLogTranscripts"))
|
||||
{
|
||||
LLFloaterConversationLog* floater_log =
|
||||
LLFloaterReg::getTypedInstance<LLFloaterConversationLog>("conversation");
|
||||
|
|
|
|||
|
|
@ -224,7 +224,7 @@ void LLPanelBlockedList::onFilterEdit(const std::string& search_string)
|
|||
void LLPanelBlockedList::callbackBlockPicked(const uuid_vec_t& ids, const std::vector<LLAvatarName> names)
|
||||
{
|
||||
if (names.empty() || ids.empty()) return;
|
||||
LLMute mute(ids[0], names[0].getUserName(), LLMute::AGENT);
|
||||
LLMute mute(ids[0], names[0].getAccountName(), LLMute::AGENT);
|
||||
LLMuteList::getInstance()->add(mute);
|
||||
showPanelAndSelect(mute.mID);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -482,7 +482,7 @@ void LLPanelGroupInvite::addUsers(uuid_vec_t& agent_ids)
|
|||
}
|
||||
else
|
||||
{
|
||||
names.push_back(av_name.getUserName());
|
||||
names.push_back(av_name.getAccountName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -495,7 +495,7 @@ void LLPanelGroupInvite::addUserCallback(const LLUUID& id, const LLAvatarName& a
|
|||
std::vector<std::string> names;
|
||||
uuid_vec_t agent_ids;
|
||||
agent_ids.push_back(id);
|
||||
names.push_back(av_name.getUserName());
|
||||
names.push_back(av_name.getAccountName());
|
||||
|
||||
mImplementation->addUsers(names, agent_ids);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1613,7 +1613,7 @@ void LLPanelGroupMembersSubTab::onNameCache(const LLUUID& update_id, LLGroupMemb
|
|||
}
|
||||
|
||||
// trying to avoid unnecessary hash lookups
|
||||
if (matchesSearchFilter(av_name.getUserName()))
|
||||
if (matchesSearchFilter(av_name.getAccountName()))
|
||||
{
|
||||
addMemberToList(member);
|
||||
if(!mMembersList->getEnabled())
|
||||
|
|
@ -1667,7 +1667,7 @@ void LLPanelGroupMembersSubTab::updateMembers()
|
|||
LLAvatarName av_name;
|
||||
if (LLAvatarNameCache::get(mMemberProgress->first, &av_name))
|
||||
{
|
||||
if (matchesSearchFilter(av_name.getUserName()))
|
||||
if (matchesSearchFilter(av_name.getAccountName()))
|
||||
{
|
||||
addMemberToList(mMemberProgress->second);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -541,6 +541,7 @@ void LLVoiceClient::setMuteMic(bool muted)
|
|||
{
|
||||
mMuteMic = muted;
|
||||
updateMicMuteLogic();
|
||||
mMicroChangedSignal();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2668,7 +2668,7 @@ void LLVivoxVoiceClient::checkFriend(const LLUUID& id)
|
|||
// *NOTE: For now, we feed legacy names to Vivox because I don't know
|
||||
// if their service can support a mix of new and old clients with
|
||||
// different sorts of names.
|
||||
std::string name = av_name.getUserName();
|
||||
std::string name = av_name.getAccountName();
|
||||
|
||||
const LLRelationship* relationInfo = LLAvatarTracker::instance().getBuddyInfo(id);
|
||||
bool canSeeMeOnline = false;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
title="CONVERSATIONS"
|
||||
bottom="-50"
|
||||
right="-5"
|
||||
width="450">
|
||||
width="500">
|
||||
<string
|
||||
name="collapse_icon"
|
||||
value="Conv_toolbar_collapse"/>
|
||||
|
|
@ -24,22 +24,21 @@
|
|||
value="Conv_toolbar_expand"/>
|
||||
<layout_stack
|
||||
animate="true"
|
||||
bottom="-1"
|
||||
follows="all"
|
||||
height="230"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="conversations_stack"
|
||||
orientation="horizontal"
|
||||
top="0"
|
||||
width="450">
|
||||
right="-1"
|
||||
top="0">
|
||||
<layout_panel
|
||||
auto_resize="false"
|
||||
user_resize="true"
|
||||
height="430"
|
||||
name="conversations_layout_panel"
|
||||
min_dim="38"
|
||||
width="268"
|
||||
expanded_min_dim="120">
|
||||
width="225"
|
||||
expanded_min_dim="200">
|
||||
<layout_stack
|
||||
animate="false"
|
||||
follows="left|top|right"
|
||||
|
|
@ -48,8 +47,8 @@
|
|||
left="0"
|
||||
name="conversations_pane_buttons_stack"
|
||||
orientation="horizontal"
|
||||
top="0"
|
||||
width="268">
|
||||
right="-1"
|
||||
top="0">
|
||||
<layout_panel
|
||||
auto_resize="true"
|
||||
height="35"
|
||||
|
|
@ -123,32 +122,30 @@
|
|||
top_pad="0"
|
||||
left="5"
|
||||
height="390"
|
||||
width="263"/>
|
||||
right="-1"/>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
height="430"
|
||||
name="messages_layout_panel"
|
||||
width="412"
|
||||
expanded_min_dim="225">
|
||||
<panel_container
|
||||
bottom="-1"
|
||||
follows="all"
|
||||
height="430"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="im_box_tab_container"
|
||||
top="0"
|
||||
width="412">
|
||||
right="-1"
|
||||
top="0">
|
||||
<panel
|
||||
bottom="-1"
|
||||
follows="all"
|
||||
layout="topleft"
|
||||
name="stub_panel"
|
||||
opaque="true"
|
||||
top_pad="0"
|
||||
left="0"
|
||||
height="430"
|
||||
width="412">
|
||||
right="-1">
|
||||
<button
|
||||
follows="right|top"
|
||||
height="25"
|
||||
|
|
|
|||
Loading…
Reference in New Issue