diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml index 8126e20b1b..ca22041671 100644 --- a/indra/newview/app_settings/settings_per_account.xml +++ b/indra/newview/app_settings/settings_per_account.xml @@ -20,7 +20,7 @@ Type String Value - The Resident you messaged is in 'busy mode' which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing. + This resident has turned on 'Do Not Disturb' and will see your message later. ConversationsExpandMessagePaneFirst diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 9c3a7ac45b..d548ca8fb9 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -1356,12 +1356,7 @@ void LLAgent::setAFK() { sendAnimationRequest(ANIM_AGENT_AWAY, ANIM_REQUEST_START); setControlFlags(AGENT_CONTROL_AWAY | AGENT_CONTROL_STOP); - LL_INFOS("AFK") << "Setting Away" << LL_ENDL; gAwayTimer.start(); - if (gAFKMenu) - { - gAFKMenu->setLabel(LLTrans::getString("AvatarSetNotAway")); - } } } @@ -1380,11 +1375,6 @@ void LLAgent::clearAFK() { sendAnimationRequest(ANIM_AGENT_AWAY, ANIM_REQUEST_STOP); clearControlFlags(AGENT_CONTROL_AWAY); - LL_INFOS("AFK") << "Clearing Away" << LL_ENDL; - if (gAFKMenu) - { - gAFKMenu->setLabel(LLTrans::getString("AvatarSetAway")); - } } } @@ -1402,13 +1392,7 @@ BOOL LLAgent::getAFK() const void LLAgent::setDoNotDisturb(bool pIsDotNotDisturb) { mIsDoNotDisturb = pIsDotNotDisturb; - EAnimRequest animRequest = (pIsDotNotDisturb ? ANIM_REQUEST_START : ANIM_REQUEST_STOP); - - sendAnimationRequest(ANIM_AGENT_DO_NOT_DISTURB, animRequest); - if (gDoNotDisturbMenu) - { - gDoNotDisturbMenu->setLabel(LLTrans::getString((pIsDotNotDisturb ? "AvatarSetAvailable" : "AvatarSetDoNotDisturb"))); - } + sendAnimationRequest(ANIM_AGENT_DO_NOT_DISTURB, (pIsDotNotDisturb ? ANIM_REQUEST_START : ANIM_REQUEST_STOP)); LLNotificationsUI::LLChannelManager::getInstance()->muteAllChannels(pIsDotNotDisturb); } diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 3495d74191..295dd2ae6d 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -207,11 +207,11 @@ BOOL LLConversationViewSession::handleMouseDown( S32 x, S32 y, MASK mask ) { LLConversationItem* item = dynamic_cast(getViewModelItem()); LLUUID session_id = item? item->getUUID() : LLUUID(); - + BOOL result = LLFolderViewFolder::handleMouseDown(x, y, mask); (LLFloaterReg::getTypedInstance("im_container"))-> selectConversationPair(session_id, false); - return LLFolderViewFolder::handleMouseDown(x, y, mask); + return result; } // virtual @@ -240,7 +240,7 @@ void LLConversationViewSession::toggleOpen() { getParentFolder()->setSelection(this, true); } - + } } @@ -504,11 +504,11 @@ BOOL LLConversationViewParticipant::handleMouseDown( S32 x, S32 y, MASK mask ) item = dynamic_cast(session_widget->getViewModelItem()); } LLUUID session_id = item? item->getUUID() : LLUUID(); + BOOL result = LLFolderViewItem::handleMouseDown(x, y, mask); + (LLFloaterReg::getTypedInstance("im_container"))-> + selectConversationPair(session_id, false); - (LLFloaterReg::getTypedInstance("im_container"))-> - selectConversationPair(session_id, false); - - return LLFolderViewItem::handleMouseDown(x, y, mask); + return result; } S32 LLConversationViewParticipant::getLabelXPos() diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index ac6110f84f..511807ec2f 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -178,9 +178,6 @@ LLContextMenu* gDetachPieMenu = NULL; LLContextMenu* gDetachScreenPieMenu = NULL; LLContextMenu* gDetachBodyPartPieMenus[8]; -LLMenuItemCallGL* gAFKMenu = NULL; -LLMenuItemCallGL* gDoNotDisturbMenu = NULL; - // // Local prototypes @@ -470,8 +467,6 @@ void init_menus() gMenuHolder->childSetLabelArg("Upload Animation", "[COST]", upload_cost); gMenuHolder->childSetLabelArg("Bulk Upload", "[COST]", upload_cost); - gAFKMenu = gMenuBarView->getChild("Set Away", TRUE); - gDoNotDisturbMenu = gMenuBarView->getChild("set_do_not_disturb", TRUE); gAttachSubMenu = gMenuBarView->findChildMenuByName("Attach Object", TRUE); gDetachSubMenu = gMenuBarView->findChildMenuByName("Detach Object", TRUE); @@ -7843,6 +7838,22 @@ class LLViewCheckRenderType : public view_listener_t } }; +class LLViewStatusAway : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + return (gAgent.isInitialized() && gAgent.getAFK()); + } +}; + +class LLViewStatusDoNotDisturb : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + return (gAgent.isInitialized() && gAgent.isDoNotDisturb()); + } +}; + class LLViewShowHUDAttachments : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -8276,8 +8287,10 @@ void initialize_menus() view_listener_t::addMenu(new LLViewCheckShowHoverTips(), "View.CheckShowHoverTips"); view_listener_t::addMenu(new LLViewCheckHighlightTransparent(), "View.CheckHighlightTransparent"); view_listener_t::addMenu(new LLViewCheckRenderType(), "View.CheckRenderType"); + view_listener_t::addMenu(new LLViewStatusAway(), "View.Status.CheckAway"); + view_listener_t::addMenu(new LLViewStatusDoNotDisturb(), "View.Status.CheckDoNotDisturb"); view_listener_t::addMenu(new LLViewCheckHUDAttachments(), "View.CheckHUDAttachments"); - + // Me > Movement view_listener_t::addMenu(new LLAdvancedAgentFlyingInfo(), "Agent.getFlying"); diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h index e8665a6ef6..139f898b76 100644 --- a/indra/newview/llviewermenu.h +++ b/indra/newview/llviewermenu.h @@ -187,8 +187,6 @@ extern LLContextMenu* gDetachPieMenu; extern LLContextMenu* gAttachBodyPartPieMenus[8]; extern LLContextMenu* gDetachBodyPartPieMenus[8]; -extern LLMenuItemCallGL* gAFKMenu; -extern LLMenuItemCallGL* gDoNotDisturbMenu; extern LLMenuItemCallGL* gMutePieMenu; extern LLMenuItemCallGL* gMuteObjectPieMenu; extern LLMenuItemCallGL* gBuyPassPieMenu; diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 47249fad70..56c9f81259 100755 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2941,9 +2941,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) } else { - // TODO: after LLTrans hits release, get "busy response" into translatable file - buffer = llformat("%s (%s): %s", name.c_str(), "busy response", message.c_str()); - gIMMgr->addMessage(session_id, from_id, name, buffer); + gIMMgr->addMessage(session_id, from_id, name, message); } break; diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index f6a307d9d0..b1e3a2d41f 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -130,19 +130,22 @@ label="Status" name="Status" tear_off="true"> - - + + - - - + + + - - + + + @@ -254,8 +257,7 @@ parameter="speak" /> + label="Conversation Log..."> @@ -318,6 +320,15 @@ function="SideTray.PanelPeopleTab" parameter="blocked_panel" /> + + + + + + -Busy mode is set. -Chat and instant messages will be hidden. Instant messages will get your Busy mode response. All teleportation offers will be declined. All inventory offers will go to your Trash. +Do Not Disturb is on. You will not be notified of incoming communications. + +- Other residents will receive your Do Not Disturb response (set in Preferences > General). +- Teleportation offers will be declined. +- Inventory offers will go to your Trash. -You are in Busy Mode, which means you will not receive any items offered in exchange for this payment. +You have turned on Do Not Disturb. You will not receive any items offered in exchange for this payment. -Would you like to leave Busy Mode before completing this transaction? +Would you like to turn off Do Not Disturb before completing this transaction? confirm
+ border="true" + follows="left|top|right|bottom" + height="408" + label="Text Chat" + layout="topleft" + left="102" + name="chat" + top="1" + width="517"> + border="false" + follows="left|top" + height="90" + layout="topleft" + top="10" + left="13" + width="517"> + control_name="PlayTypingAnim" + height="16" + initial_value="true" + label="Play typing animation when chatting" + layout="topleft" + top="0" + name="play_typing_animation" + width="330" /> + enabled="false" + height="16" + label="Email me IMs when I'm offline" + layout="topleft" + name="send_im_to_email" + top_pad="6" + width="330" /> + height="16" + label="Keep a conversation log and transcripts" + layout="topleft" + name="keep_convo_log_and_transcripts" + top_pad="6" + width="330" /> + control_name="UseChatBubbles" + follows="left|top" + height="16" + label="Bubble Chat" + layout="topleft" + top_pad="6" + name="bubble_text_chat" + width="330" /> + follows="left|top" + layout="topleft" + left="345" + height="12" + name="font_size" + width="120" + top="0"> Font size: + height="90" + layout="topleft" + left="352" + control_name="ChatFontSize" + name="chat_font_size" + top_pad="0" + width="50"> + height="16" + label="Small" + layout="topleft" + name="radio" + value="0" + top="10" + width="125" /> + height="16" + label="Medium" + layout="topleft" + name="radio2" + value="1" + top_pad="6" + width="125" /> + height="16" + label="Large" + layout="topleft" + name="radio3" + value="2" + top_pad="6" + width="125" /> + border="false" + follows="left|top" + height="198" + layout="topleft" + left="13" + width="517"> + follows="left|top" + layout="topleft" + height="12" + name="notifications" + left="0" + width="120"> Notifications: + follows="left|top" + layout="topleft" + height="12" + name="friend_ims" + width="145" + left="0" + top_pad="15"> Friend IMs: + control_name="NotificationFriendIMOptions" + height="23" + layout="topleft" + left_pad="5" + top_delta="-6" + name="FriendIMOptions" + width="223"> + label="Pop up the message" + name="0" + value="0"/> + label="Flash toolbar button" + name="1" + value="1"/> + label="None" + name="2" + value="2"/> + top_pad="15"> Non-friend IMs: + control_name="NotificationNonFriendIMOptions" + height="23" + layout="topleft" + left_pad="5" + top_delta="-6" + name="NonFriendIMOptions" + width="223"> + label="Pop up the message" + name="0" + value="0"/> + label="Flash toolbar button" + name="1" + value="1"/> + label="None" + name="2" + value="2"/> + follows="left|top" + layout="topleft" + left="0" + height="13" + name="conference_ims" + width="145" + top_pad="14"> Conference IMs: + control_name="NotificationConferenceIMOptions" + height="23" + layout="topleft" + left_pad="5" + top_delta="-6" + name="ConferenceIMOptions" + width="223"> + label="Pop up the message" + name="0" + value="0"/> + label="Flash toolbar button" + name="1" + value="1"/> + label="None" + name="2" + value="2"/> + follows="left|top" + layout="topleft" + left="0" + height="13" + name="group_chat" + width="145" + top_pad="14"> Group chat: + control_name="NotificationGroupChatOptions" + height="23" + layout="topleft" + left_pad="5" + top_delta="-6" + name="GroupChatOptions" + width="223"> + label="Pop up the message" + name="0" + value="0"/> + label="Flash toolbar button" + name="1" + value="1"/> + label="None" + name="2" + value="2"/> + follows="left|top" + layout="topleft" + left="0" + height="12" + name="nearby_chat" + width="145" + top_pad="14"> Nearby chat: + control_name="NotificationNearbyChatOptions" + height="23" + layout="topleft" + left_pad="5" + top_delta="-6" + name="NearbyChatOptions" + width="223"> + label="Pop up the message" + name="0" + value="0"/> + label="Flash toolbar button" + name="1" + value="1"/> + label="None" + name="2" + value="2"/> - To temporarily stop all notifications, use Me > Status > Busy. + follows="left|top" + layout="topleft" + left="0" + height="13" + name="notifications_alert" + width="500" + top_pad="11" + visible="true" + text_color="DrYellow"> + To temporarily stop all notifications, use Communicate > Do Not Disturb. + border="false" + follows="left|top" + height="67" + layout="topleft" + left="13" + width="517"> + follows="left|top" + layout="topleft" + left="0" + name="play_sound" + width="100" + top_pad="8" + visible="true"> Play sound: + control_name="NewConversation" + height="16" + initial_value="true" + label="New conversation" + layout="topleft" + left_pad="15" + top_pad="-10" + name="new_conversation" + width="150" /> + control_name="IncomingVoiceCall" + height="16" + initial_value="true" + label="Incoming voice call" + layout="topleft" + top_pad="6" + name="incoming_voice_call" + width="150" /> + control_name="GroupChatMessages" + height="16" + initial_value="false" + label="Group chat messages" + layout="topleft" + top_pad="6" + name="group_chat_messages" + width="150" /> + control_name="TeleportOffer" + height="16" + initial_value="true" + label="Teleport offer" + layout="topleft" + left_pad="35" + top_pad="-59" + name="teleport_offer" + width="150" /> + control_name="InventoryOffer" + height="16" + initial_value="false" + label="Inventory offer" + layout="topleft" + top_pad="6" + name="inventory_offer" + width="150" /> - + diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index 2cb063e8ee..ea0f7d8593 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -409,7 +409,7 @@ name="text_box3" top_pad="3" width="240"> - Busy mode response: + Do Not Disturb response: (Editing Appearance) Away - Busy + Do Not Disturb Blocked @@ -2074,12 +2074,6 @@ For AI Character: Get the closest navigable point to the point provided. - - Not Away - Away - Not Busy - Busy - Shape Skin @@ -2526,7 +2520,7 @@ Drag folders to this area and click "Send to Marketplace" to list them for sale New Script - The Resident you messaged is in 'busy mode' which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing. + This resident has turned on 'Do Not Disturb' and will see your message later. (By name)