summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorWilliam Todd Stinson <stinson@lindenlab.com>2012-12-19 10:26:17 -0800
committerWilliam Todd Stinson <stinson@lindenlab.com>2012-12-19 10:26:17 -0800
commit865981c59f37c3d355ba00dc31004e56e293a360 (patch)
tree281913cecb41469ac9dcc2fe4f3f19ba8077fe3f /indra/newview
parentbd6d34d312c3e3322ab62f3a60253fb88fcbc9e3 (diff)
parentb34e3a1b40fd72b4c4cdc1553c3f5934e9e9cef5 (diff)
Pull and merge from ssh://stinson@hg.lindenlab.com/richard/viewer-chui.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llfloaterimcontainer.cpp7
-rw-r--r--indra/newview/llfloaterimsessiontab.cpp13
-rw-r--r--indra/newview/llfloaterimsessiontab.h1
-rw-r--r--indra/newview/llimview.cpp42
-rw-r--r--indra/newview/skins/default/colors.xml3
-rw-r--r--indra/newview/skins/default/xui/en/widgets/toolbar.xml12
6 files changed, 40 insertions, 38 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index ba5ec363d6..390eec84f6 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -1412,17 +1412,18 @@ bool LLFloaterIMContainer::removeConversationListItem(const LLUUID& uuid, bool c
// Delete the widget and the associated conversation item
// Note : since the mConversationsItems is also the listener to the widget, deleting
// the widget will also delete its listener
- bool isWidgetSelected = false;
+ bool is_widget_selected = false;
LLFolderViewItem* new_selection = NULL;
LLFolderViewItem* widget = get_ptr_in_map(mConversationsWidgets,uuid);
if (widget)
{
- isWidgetSelected = widget->isSelected();
+ is_widget_selected = widget->isSelected();
new_selection = mConversationsRoot->getNextFromChild(widget);
if(new_selection == NULL)
{
new_selection = mConversationsRoot->getPreviousFromChild(widget);
}
+
widget->destroyView();
}
@@ -1445,7 +1446,7 @@ bool LLFloaterIMContainer::removeConversationListItem(const LLUUID& uuid, bool c
}
}
}
- return isWidgetSelected;
+ return is_widget_selected;
}
LLConversationViewSession* LLFloaterIMContainer::createConversationItemWidget(LLConversationItem* item)
diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index d6955f37f2..7984034ded 100644
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -748,19 +748,6 @@ void LLFloaterIMSessionTab::onOpen(const LLSD& key)
}
}
-// virtual
-void LLFloaterIMSessionTab::onClose(bool app_quitting)
-{
- // Always suppress the IM from the conversations list on close if present for any reason
- if (LLFloaterIMSessionTab::isChatMultiTab())
- {
- LLFloaterIMContainer* im_box = LLFloaterIMContainer::findInstance();
- if (im_box)
- {
- im_box->removeConversationListItem(mKey);
- }
- }
-}
void LLFloaterIMSessionTab::onTearOffClicked()
{
diff --git a/indra/newview/llfloaterimsessiontab.h b/indra/newview/llfloaterimsessiontab.h
index a452c77224..0fa99a46be 100644
--- a/indra/newview/llfloaterimsessiontab.h
+++ b/indra/newview/llfloaterimsessiontab.h
@@ -77,7 +77,6 @@ public:
// LLFloater overrides
/*virtual*/ void onOpen(const LLSD& key);
- /*virtual*/ void onClose(bool app_quitting);
/*virtual*/ BOOL postBuild();
/*virtual*/ void draw();
/*virtual*/ void setVisible(BOOL visible);
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 7e02915b43..5b4d5466a1 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -160,10 +160,16 @@ void on_new_message(const LLSD& msg)
LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(session_id);
//session floater not focused (visible or not)
- bool sessionFloaterNotFocused = session_floater && !session_floater->hasFocus();
+ bool session_floater_not_focused = session_floater && !session_floater->hasFocus();
+ //conv. floater is closed
+ bool conversation_floater_is_closed =
+ !( im_box
+ && im_box->isInVisibleChain()
+ && !im_box->isMinimized());
//conversation floater not focused (visible or not)
- bool conversationFloaterNotFocused = im_box && !im_box->hasFocus();
+ bool conversation_floater_not_focused =
+ conversation_floater_is_closed || !im_box->hasFocus();
if ("toast" == action)
{
@@ -187,12 +193,12 @@ void on_new_message(const LLSD& msg)
}
//User is not focused on conversation containing the message
- if(sessionFloaterNotFocused)
+ if(session_floater_not_focused)
{
im_box->flashConversationItemWidget(session_id, true);
//The conversation floater isn't focused/open
- if(conversationFloaterNotFocused)
+ if(conversation_floater_not_focused)
{
gToolBarView->flashCommand(LLCommandId("chat"), true);
@@ -204,23 +210,29 @@ void on_new_message(const LLSD& msg)
}
}
}
+
else if ("flash" == action)
{
- //User is not focused on conversation containing the message
- if(sessionFloaterNotFocused && conversationFloaterNotFocused)
- {
- gToolBarView->flashCommand(LLCommandId("chat"), true);
- }
- //conversation floater is open but a different conversation is focused
- else if(sessionFloaterNotFocused)
- {
- im_box->flashConversationItemWidget(session_id, true);
- }
+ if (session_floater_not_focused)
+ {
+ //User is not focused on conversation containing the message
+
+ if(conversation_floater_not_focused)
+ {
+ gToolBarView->flashCommand(LLCommandId("chat"), true);
+ }
+ //conversation floater is open but a different conversation is focused
+ else
+ {
+ im_box->flashConversationItemWidget(session_id, true);
+ }
+ }
}
+
else if("openconversations" == action)
{
//User is not focused on conversation containing the message
- if(sessionFloaterNotFocused)
+ if(session_floater_not_focused)
{
//Flash line item
im_box->flashConversationItemWidget(session_id, true);
diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml
index 05230b8bd5..afd8ee4ba1 100644
--- a/indra/newview/skins/default/colors.xml
+++ b/indra/newview/skins/default/colors.xml
@@ -11,6 +11,9 @@
<color
name="EmphasisColor_35"
value="0.38 0.694 0.573 0.35" />
+ <color
+ name="BeaconColor"
+ value="1 .67 .2 1" />
<color
name="White"
value="1 1 1 1" />
diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml
index 053b213ef4..0ace37a5dc 100644
--- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml
+++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml
@@ -30,9 +30,9 @@
image_overlay_alignment="left"
use_ellipses="true"
auto_resize="true"
- button_flash_count="3"
- button_flash_rate="0.25"
- flash_color="EmphasisColor"/>
+ button_flash_count="4"
+ button_flash_rate="0.5"
+ flash_color="BeaconColor"/>
<button_icon pad_left="10"
pad_right="10"
image_bottom_pad="10"
@@ -51,7 +51,7 @@
chrome="true"
use_ellipses="true"
auto_resize="true"
- button_flash_count="3"
- button_flash_rate="0.25"
- flash_color="EmphasisColor"/>
+ button_flash_count="4"
+ button_flash_rate="0.5"
+ flash_color="BeaconColor"/>
</toolbar>