From 2a58e320cb06308860de1df0ac30a40d1fa6e2ba Mon Sep 17 00:00:00 2001 From: skolb Date: Mon, 1 Mar 2010 18:08:00 -0800 Subject: https://jira.secondlife.com/browse/EXT-5884 Added code to support SLAPPS for Media on a Prim Reviewed by Monroe and Callum via Code Collab (Review 143). --- indra/newview/llmediactrl.cpp | 7 ------- indra/newview/llviewermedia.cpp | 9 +++++++++ indra/newview/llviewerparcelmedia.cpp | 6 ------ 3 files changed, 9 insertions(+), 13 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index bf33d8527e..c244bc38ed 100644 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -943,13 +943,6 @@ void LLMediaCtrl::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event) }; break; - case MEDIA_EVENT_CLICK_LINK_NOFOLLOW: - { - LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_CLICK_LINK_NOFOLLOW, uri is " << self->getClickURL() << LL_ENDL; - onClickLinkNoFollow(self); - }; - break; - case MEDIA_EVENT_PLUGIN_FAILED: { LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_PLUGIN_FAILED" << LL_ENDL; diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 86336e353c..4620ce6354 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -50,6 +50,7 @@ #include "llcallbacklist.h" #include "llparcel.h" #include "llaudioengine.h" // for gAudiop +#include "llurldispatcher.h" #include "llvoavatar.h" #include "llvoavatarself.h" #include "llviewerregion.h" @@ -2340,6 +2341,14 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla { switch(event) { + case MEDIA_EVENT_CLICK_LINK_NOFOLLOW: + { + LL_DEBUGS("Media") << "MEDIA_EVENT_CLICK_LINK_NOFOLLOW, uri is: " << plugin->getClickURL() << LL_ENDL; + std::string url = plugin->getClickURL(); + LLURLDispatcher::dispatch(url, NULL, false); + + } + break; case MEDIA_EVENT_PLUGIN_FAILED_LAUNCH: { // The plugin failed to load properly. Make sure the timer doesn't retry. diff --git a/indra/newview/llviewerparcelmedia.cpp b/indra/newview/llviewerparcelmedia.cpp index 2c5c0a37e8..dbf7fdf20c 100644 --- a/indra/newview/llviewerparcelmedia.cpp +++ b/indra/newview/llviewerparcelmedia.cpp @@ -543,12 +543,6 @@ void LLViewerParcelMedia::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent }; break; - case MEDIA_EVENT_CLICK_LINK_NOFOLLOW: - { - LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_CLICK_LINK_NOFOLLOW, uri is " << self->getClickURL() << LL_ENDL; - }; - break; - case MEDIA_EVENT_PLUGIN_FAILED: { LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_PLUGIN_FAILED" << LL_ENDL; -- cgit v1.2.3 From f54bf2a1eac3bc61222e5cceba77755bd340f996 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Thu, 4 Mar 2010 11:35:34 +0200 Subject: =?UTF-8?q?fixed=20EXT-5904=20=E2=80=9COffers=20embedding=20into?= =?UTF-8?q?=20IM=20windows=E2=80=9D,=20made=20all=20type=20offers=20be=20e?= =?UTF-8?q?mbedded=20to=20the=20IM=20floater;=20made=20showing=20offer=20t?= =?UTF-8?q?oast=20if=20IM=20floater=20isn't=20visible;=20corrected=20IM=20?= =?UTF-8?q?message=20counter=20on=20showing=20offer=20toast;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --HG-- branch : product-engine --- indra/newview/llchiclet.cpp | 1 - indra/newview/llimfloater.cpp | 22 +++++++++ indra/newview/llnotificationhandler.h | 15 ++++++ indra/newview/llnotificationhandlerutil.cpp | 73 +++++++++++++++++++++++++--- indra/newview/llnotificationofferhandler.cpp | 42 ++++++++++++---- indra/newview/llscreenchannel.cpp | 4 +- indra/newview/lltoastnotifypanel.cpp | 5 +- indra/newview/lltoastnotifypanel.h | 3 ++ 8 files changed, 144 insertions(+), 21 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 8efa814a2e..c39c1a2056 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -320,7 +320,6 @@ LLNotificationChiclet::LLNotificationChiclet(const Params& p) // connect counter handlers to the signals connectCounterUpdatersToSignal("notify"); connectCounterUpdatersToSignal("groupnotify"); - connectCounterUpdatersToSignal("offer"); // ensure that notification well window exists, to synchronously // handle toast add/delete events. diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 8cdc50eb70..5f56690d2e 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -648,6 +648,15 @@ void LLIMFloater::updateMessages() if (msg.has("notification_id")) { chat.mNotifId = msg["notification_id"].asUUID(); + // remove embedded notification from channel + LLNotificationsUI::LLScreenChannel* channel = dynamic_cast + (LLNotificationsUI::LLChannelManager::getInstance()-> + findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID")))); + if (getVisible()) + { + // toast will be automatically closed since it is not storable toast + channel->hideToast(chat.mNotifId); + } } //process text message else @@ -657,6 +666,19 @@ void LLIMFloater::updateMessages() mChatHistory->appendMessage(chat, chat_args); mLastMessageIndex = msg["index"].asInteger(); + + // if it is a notification - next message is a notification history log, so skip it + if (chat.mNotifId.notNull() && LLNotificationsUtil::find(chat.mNotifId) != NULL) + { + if (++iter == iter_end) + { + break; + } + else + { + mLastMessageIndex++; + } + } } } } diff --git a/indra/newview/llnotificationhandler.h b/indra/newview/llnotificationhandler.h index a163b6fd62..1f5cff2505 100644 --- a/indra/newview/llnotificationhandler.h +++ b/indra/newview/llnotificationhandler.h @@ -297,6 +297,11 @@ public: */ static bool canSpawnSessionAndLogToIM(const LLNotificationPtr& notification); + /** + * Determines whether IM floater is opened. + */ + static bool isIMFloaterOpened(const LLNotificationPtr& notification); + /** * Writes notification message to IM session. */ @@ -343,6 +348,16 @@ public: * Adds notification panel to the IM floater. */ static void addNotifPanelToIM(const LLNotificationPtr& notification); + + /** + * Updates messages of visible IM floater. + */ + static void updateVisibleIMFLoaterMesages(const LLNotificationPtr& notification); + + /** + * Decrements counter of IM messages. + */ + static void decIMMesageCounter(const LLNotificationPtr& notification); }; } diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp index 546017f028..1a30eecf01 100644 --- a/indra/newview/llnotificationhandlerutil.cpp +++ b/indra/newview/llnotificationhandlerutil.cpp @@ -127,7 +127,9 @@ const static std::string GRANTED_MODIFY_RIGHTS("GrantedModifyRights"), FRIENDSHIP_DECLINED_BYME("FriendshipDeclinedByMe"), FRIEND_ONLINE("FriendOnline"), FRIEND_OFFLINE("FriendOffline"), SERVER_OBJECT_MESSAGE("ServerObjectMessage"), - TELEPORT_OFFERED("TeleportOffered"); + TELEPORT_OFFERED("TeleportOffered"), + TELEPORT_OFFER_SENT("TeleportOfferSent"); + // static bool LLHandlerUtil::canLogToIM(const LLNotificationPtr& notification) @@ -141,7 +143,10 @@ bool LLHandlerUtil::canLogToIM(const LLNotificationPtr& notification) || FRIENDSHIP_DECLINED_BYME == notification->getName() || SERVER_OBJECT_MESSAGE == notification->getName() || INVENTORY_ACCEPTED == notification->getName() - || INVENTORY_DECLINED == notification->getName(); + || INVENTORY_DECLINED == notification->getName() + || USER_GIVE_ITEM == notification->getName() + || TELEPORT_OFFERED == notification->getName() + || TELEPORT_OFFER_SENT == notification->getName(); } // static @@ -161,23 +166,43 @@ bool LLHandlerUtil::canSpawnIMSession(const LLNotificationPtr& notification) || FRIENDSHIP_ACCEPTED == notification->getName() || USER_GIVE_ITEM == notification->getName() || INVENTORY_ACCEPTED == notification->getName() - || INVENTORY_DECLINED == notification->getName(); + || INVENTORY_DECLINED == notification->getName() + || TELEPORT_OFFERED == notification->getName(); } // static bool LLHandlerUtil::canAddNotifPanelToIM(const LLNotificationPtr& notification) { return OFFER_FRIENDSHIP == notification->getName() - || USER_GIVE_ITEM == notification->getName(); + || USER_GIVE_ITEM == notification->getName() + || TELEPORT_OFFERED == notification->getName(); } - // static bool LLHandlerUtil::canSpawnSessionAndLogToIM(const LLNotificationPtr& notification) { return canLogToIM(notification) && canSpawnIMSession(notification); } +// static +bool LLHandlerUtil::isIMFloaterOpened(const LLNotificationPtr& notification) +{ + bool res = false; + + LLUUID from_id = notification->getPayload()["from_id"]; + LLUUID session_id = LLIMMgr::computeSessionID(IM_NOTHING_SPECIAL, + from_id); + + LLIMFloater* im_floater = LLFloaterReg::findTypedInstance( + "impanel", session_id); + if (im_floater != NULL) + { + res = im_floater->getVisible() == TRUE; + } + + return res; +} + // static void LLHandlerUtil::logToIM(const EInstantMessage& session_type, const std::string& session_name, const std::string& from_name, @@ -348,6 +373,42 @@ void LLHandlerUtil::addNotifPanelToIM(const LLNotificationPtr& notification) offer["time"] = LLLogChat::timestamp(true); offer["index"] = (LLSD::Integer)session->mMsgs.size(); session->mMsgs.push_front(offer); +} + +// static +void LLHandlerUtil::updateVisibleIMFLoaterMesages(const LLNotificationPtr& notification) +{ + const std::string name = LLHandlerUtil::getSubstitutionName(notification); + LLUUID from_id = notification->getPayload()["from_id"]; + LLUUID session_id = spawnIMSession(name, from_id); + + LLIMFloater* im_floater = LLIMFloater::findInstance(session_id); + if (im_floater != NULL && im_floater->getVisible()) + { + im_floater->updateMessages(); + } +} + +// static +void LLHandlerUtil::decIMMesageCounter(const LLNotificationPtr& notification) +{ + const std::string name = LLHandlerUtil::getSubstitutionName(notification); + LLUUID from_id = notification->getPayload()["from_id"]; + LLUUID session_id = LLIMMgr::computeSessionID(IM_NOTHING_SPECIAL, from_id); + + LLIMModel::LLIMSession * session = LLIMModel::getInstance()->findIMSession( + session_id); + + if (session == NULL) + { + return; + } - LLIMFloater::show(session_id); + LLSD arg; + arg["session_id"] = session_id; + session->mNumUnread--; + arg["num_unread"] = session->mNumUnread; + session->mParticipantUnreadMessageCount--; + arg["participant_unread"] = session->mParticipantUnreadMessageCount; + LLIMModel::getInstance()->mNewMsgSignal(arg); } diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp index 8ebd5de258..42e42d4f0a 100644 --- a/indra/newview/llnotificationofferhandler.cpp +++ b/indra/newview/llnotificationofferhandler.cpp @@ -113,36 +113,53 @@ bool LLOfferHandler::processNotification(const LLSD& notify) session_id = LLHandlerUtil::spawnIMSession(name, from_id); } - if (LLHandlerUtil::canAddNotifPanelToIM(notification)) + bool show_toast = true; + bool add_notid_to_im = LLHandlerUtil::canAddNotifPanelToIM(notification); + if (add_notid_to_im) { LLHandlerUtil::addNotifPanelToIM(notification); - LLHandlerUtil::logToIMP2P(notification, true); + if (LLHandlerUtil::isIMFloaterOpened(notification)) + { + show_toast = false; + } } - else if (notification->getPayload().has("SUPPRESS_TOAST") + + if (notification->getPayload().has("SUPPRESS_TOAST") && notification->getPayload()["SUPPRESS_TOAST"]) { - LLHandlerUtil::logToIMP2P(notification); LLNotificationsUtil::cancel(notification); } - else + else if(show_toast) { LLToastNotifyPanel* notify_box = new LLToastNotifyPanel(notification); - + // don't close notification on panel destroy since it will be used by IM floater + notify_box->setCloseNotificationOnDestroy(!add_notid_to_im); LLToast::Params p; p.notif_id = notification->getID(); p.notification = notification; p.panel = notify_box; p.on_delete_toast = boost::bind(&LLOfferHandler::onDeleteToast, this, _1); + // we not save offer notifications to the syswell floater that should be added to the IM floater + p.can_be_stored = !add_notid_to_im; LLScreenChannel* channel = dynamic_cast(mChannel); if(channel) channel->addToast(p); - LLHandlerUtil::logToIMP2P(notification); - // send a signal to the counter manager mNewNotificationSignal(); } + + if (LLHandlerUtil::canLogToIM(notification)) + { + LLHandlerUtil::logToIMP2P(notification); + } + + // update IM floater messages if need + if (add_notid_to_im) + { + LLHandlerUtil::updateVisibleIMFLoaterMesages(notification); + } } } else if (notify["sigtype"].asString() == "delete") @@ -155,6 +172,11 @@ bool LLOfferHandler::processNotification(const LLSD& notify) } else { + if (LLHandlerUtil::canAddNotifPanelToIM(notification) + && !LLHandlerUtil::isIMFloaterOpened(notification)) + { + LLHandlerUtil::decIMMesageCounter(notification); + } mChannel->killToastByNotificationID(notification->getID()); } } @@ -181,7 +203,9 @@ void LLOfferHandler::onRejectToast(LLUUID& id) if (notification && LLNotificationManager::getInstance()->getHandlerForNotification( - notification->getType()) == this) + notification->getType()) == this + // don't delete notification since it may be used by IM floater + && !LLHandlerUtil::canAddNotifPanelToIM(notification)) { LLNotifications::instance().cancel(notification); } diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index a4426b370e..dffb5e5e12 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -710,9 +710,7 @@ void LLScreenChannel::hideToast(const LLUUID& notification_id) if(mToastList.end() != it) { ToastElem te = *it; - te.toast->setVisible(FALSE); - te.toast->stopTimer(); - mToastList.erase(it); + te.toast->hide(); } } diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index c47c017143..9108cc9889 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -60,7 +60,8 @@ mInfoPanel(NULL), mControlPanel(NULL), mNumOptions(0), mNumButtons(0), -mAddedDefaultBtn(false) +mAddedDefaultBtn(false), +mCloseNotificationOnDestroy(true) { LLUICtrlFactory::getInstance()->buildPanel(this, "panel_notification.xml"); mInfoPanel = getChild("info_panel"); @@ -257,7 +258,7 @@ LLButton* LLToastNotifyPanel::createButton(const LLSD& form_element, BOOL is_opt LLToastNotifyPanel::~LLToastNotifyPanel() { std::for_each(mBtnCallbackData.begin(), mBtnCallbackData.end(), DeletePointer()); - if (LLNotificationsUtil::find(mNotification->getID()) != NULL) + if (mCloseNotificationOnDestroy && LLNotificationsUtil::find(mNotification->getID()) != NULL) { LLNotifications::getInstance()->cancel(mNotification); } diff --git a/indra/newview/lltoastnotifypanel.h b/indra/newview/lltoastnotifypanel.h index e791eea469..9c90a4dfa4 100644 --- a/indra/newview/lltoastnotifypanel.h +++ b/indra/newview/lltoastnotifypanel.h @@ -57,6 +57,7 @@ public: virtual ~LLToastNotifyPanel(); LLPanel * getControlPanel() { return mControlPanel; } + void setCloseNotificationOnDestroy(bool close) { mCloseNotificationOnDestroy = close; } protected: LLButton* createButton(const LLSD& form_element, BOOL is_option); @@ -68,6 +69,8 @@ protected: }; std::vector mBtnCallbackData; + bool mCloseNotificationOnDestroy; + private: typedef std::pair index_button_pair_t; -- cgit v1.2.3 From 66b60a71f1af684ed04882fff519f967c4d455f1 Mon Sep 17 00:00:00 2001 From: Andrew Dyukov Date: Thu, 4 Mar 2010 19:37:26 +0200 Subject: Implemented normal subtasks EXT-5906 (Reverse buttons order in the inventory offers) and EXT-5907 (Reverse buttons order in the friendship offer). - Used reverse iterator when iterating over control list in LLChatHistory::appendMessage(). --HG-- branch : product-engine --- indra/newview/llchathistory.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index e1c96d4a16..911ac9c485 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -743,7 +743,9 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL ctrl_list_t ctrls = notify_box->getControlPanel()->getCtrlList(); S32 offset = 0; - for (ctrl_list_t::iterator it = ctrls.begin(); it != ctrls.end(); it++) + // Children were added by addChild() which uses push_front to insert them into list, + // so to get buttons in correct order reverse iterator is used (EXT-5906) + for (ctrl_list_t::reverse_iterator it = ctrls.rbegin(); it != ctrls.rend(); it++) { LLButton * button = dynamic_cast (*it); if (button != NULL) -- cgit v1.2.3 From 462ab1c7523b1cc0987bc596df4fd3e4b32e5e54 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Fri, 5 Mar 2010 12:37:06 +0200 Subject: =?UTF-8?q?fixed=20EXT-5908=20=E2=80=9CAccepted=20friendship=20not?= =?UTF-8?q?ification=20shouldn't=20spawn=20chiclet=E2=80=9D,=20made=20not?= =?UTF-8?q?=20spawn=20IM=20chiclet=20friendship=20accepted=20notification;?= =?UTF-8?q?=20added=20friendship=20accepted=20notification=20to=20syswell?= =?UTF-8?q?=20chiclet;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --HG-- branch : product-engine --- indra/newview/llchiclet.cpp | 1 + indra/newview/llnotificationhandlerutil.cpp | 1 - indra/newview/llnotificationofferhandler.cpp | 8 ++++++-- 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index c39c1a2056..8efa814a2e 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -320,6 +320,7 @@ LLNotificationChiclet::LLNotificationChiclet(const Params& p) // connect counter handlers to the signals connectCounterUpdatersToSignal("notify"); connectCounterUpdatersToSignal("groupnotify"); + connectCounterUpdatersToSignal("offer"); // ensure that notification well window exists, to synchronously // handle toast add/delete events. diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp index 565016e63c..11f210be93 100644 --- a/indra/newview/llnotificationhandlerutil.cpp +++ b/indra/newview/llnotificationhandlerutil.cpp @@ -163,7 +163,6 @@ bool LLHandlerUtil::canLogToNearbyChat(const LLNotificationPtr& notification) bool LLHandlerUtil::canSpawnIMSession(const LLNotificationPtr& notification) { return OFFER_FRIENDSHIP == notification->getName() - || FRIENDSHIP_ACCEPTED == notification->getName() || USER_GIVE_ITEM == notification->getName() || INVENTORY_ACCEPTED == notification->getName() || INVENTORY_DECLINED == notification->getName() diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp index 42e42d4f0a..3304d7f030 100644 --- a/indra/newview/llnotificationofferhandler.cpp +++ b/indra/newview/llnotificationofferhandler.cpp @@ -146,8 +146,12 @@ bool LLOfferHandler::processNotification(const LLSD& notify) if(channel) channel->addToast(p); - // send a signal to the counter manager - mNewNotificationSignal(); + // if we not add notification to IM - add it to notification well + if (!add_notid_to_im) + { + // send a signal to the counter manager + mNewNotificationSignal(); + } } if (LLHandlerUtil::canLogToIM(notification)) -- cgit v1.2.3 From 27283c1de73282590e614b3d5e9bdabe922c0a94 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Fri, 5 Mar 2010 14:13:37 +0200 Subject: =?UTF-8?q?fixed=20EXT-5910=20=E2=80=9COffers=20logging=E2=80=9D,?= =?UTF-8?q?=20made=20logging=20offer=20notifications=20as=20from=20SecondL?= =?UTF-8?q?ife;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --HG-- branch : product-engine --- indra/newview/llnotificationhandlerutil.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp index 11f210be93..8d1c244a7e 100644 --- a/indra/newview/llnotificationhandlerutil.cpp +++ b/indra/newview/llnotificationhandlerutil.cpp @@ -279,8 +279,8 @@ void LLHandlerUtil::logToIMP2P(const LLNotificationPtr& notification, bool to_fi } else { - logToIM(IM_NOTHING_SPECIAL, session_name, name, notification->getMessage(), - from_id, from_id); + logToIM(IM_NOTHING_SPECIAL, session_name, "", notification->getMessage(), + from_id, LLUUID()); } } } @@ -348,7 +348,10 @@ std::string LLHandlerUtil::getSubstitutionName(const LLNotificationPtr& notifica if (res.empty()) { LLUUID from_id = notification->getPayload()["FROM_ID"]; - gCacheName->getFullName(from_id, res); + if(!gCacheName->getFullName(from_id, res)) + { + res = ""; + } } return res; } -- cgit v1.2.3 From 2f9cc80c2e0a6ca648871ed74cc10b813d2c4940 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Fri, 5 Mar 2010 17:53:32 +0200 Subject: =?UTF-8?q?fixed=20EXT-5910=20=E2=80=9COffers=20logging=E2=80=9D,?= =?UTF-8?q?=20fixed=20IM=20message=20counter=20when=20received=20interacti?= =?UTF-8?q?ve=20notification(offer);=20corrected=20logging=20to=20file=20o?= =?UTF-8?q?f=20offer=20notification;=20enabled=20logging=20for=20FRIENDSHI?= =?UTF-8?q?P=5FACCEPTED=20notification;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --HG-- branch : product-engine --- indra/newview/llimview.cpp | 4 +++- indra/newview/llnotificationhandlerutil.cpp | 7 ++++--- indra/newview/llnotificationofferhandler.cpp | 16 +++++++++++++--- 3 files changed, 20 insertions(+), 7 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index b3f085ef6d..9ea8364491 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -723,7 +723,9 @@ LLIMModel::LLIMSession* LLIMModel::addMessageSilently(const LLUUID& session_id, session->mNumUnread++; //update count of unread messages from real participant - if (!(from_id.isNull() || from_id == gAgentID || SYSTEM_FROM == from)) + if (!(from_id.isNull() || from_id == gAgentID || SYSTEM_FROM == from) + // we should increment counter for interactive system messages() + || INTERACTIVE_SYSTEM_FROM == from) { ++(session->mParticipantUnreadMessageCount); } diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp index 8d1c244a7e..7b61b200cd 100644 --- a/indra/newview/llnotificationhandlerutil.cpp +++ b/indra/newview/llnotificationhandlerutil.cpp @@ -139,6 +139,7 @@ bool LLHandlerUtil::canLogToIM(const LLNotificationPtr& notification) || PAYMENT_RECIVED == notification->getName() || OFFER_FRIENDSHIP == notification->getName() || FRIENDSHIP_OFFERED == notification->getName() + || FRIENDSHIP_ACCEPTED == notification->getName() || FRIENDSHIP_ACCEPTED_BYME == notification->getName() || FRIENDSHIP_DECLINED_BYME == notification->getName() || SERVER_OBJECT_MESSAGE == notification->getName() @@ -274,12 +275,12 @@ void LLHandlerUtil::logToIMP2P(const LLNotificationPtr& notification, bool to_fi if(to_file_only) { - logToIM(IM_NOTHING_SPECIAL, session_name, name, notification->getMessage(), - LLUUID(), LLUUID()); + logToIM(IM_NOTHING_SPECIAL, session_name, "", notification->getMessage(), + from_id, LLUUID()); } else { - logToIM(IM_NOTHING_SPECIAL, session_name, "", notification->getMessage(), + logToIM(IM_NOTHING_SPECIAL, session_name, INTERACTIVE_SYSTEM_FROM, notification->getMessage(), from_id, LLUUID()); } } diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp index 3304d7f030..97a1df66df 100644 --- a/indra/newview/llnotificationofferhandler.cpp +++ b/indra/newview/llnotificationofferhandler.cpp @@ -156,7 +156,14 @@ bool LLOfferHandler::processNotification(const LLSD& notify) if (LLHandlerUtil::canLogToIM(notification)) { - LLHandlerUtil::logToIMP2P(notification); + if (LLHandlerUtil::isIMFloaterOpened(notification)) + { + LLHandlerUtil::logToIMP2P(notification, true); + } + else + { + LLHandlerUtil::logToIMP2P(notification); + } } // update IM floater messages if need @@ -192,8 +199,11 @@ bool LLOfferHandler::processNotification(const LLSD& notify) void LLOfferHandler::onDeleteToast(LLToast* toast) { - // send a signal to the counter manager - mDelNotificationSignal(); + if (!LLHandlerUtil::canAddNotifPanelToIM(toast->getNotification())) + { + // send a signal to the counter manager + mDelNotificationSignal(); + } // send a signal to a listener to let him perform some action // in this case listener is a SysWellWindow and it will remove a corresponding item from its list -- cgit v1.2.3 From 05807055de638259fc1da5b2e2cb694b80996f59 Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Fri, 5 Mar 2010 18:41:32 +0200 Subject: WIP on EXT-5687 (Classifieds are missing the clickthrough data). Fixed displaying profile clicks. --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/panel_classified_info.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_classified_info.xml b/indra/newview/skins/default/xui/en/panel_classified_info.xml index 869a05f27d..80cbad1a0e 100644 --- a/indra/newview/skins/default/xui/en/panel_classified_info.xml +++ b/indra/newview/skins/default/xui/en/panel_classified_info.xml @@ -24,7 +24,7 @@ - [TELEPORT] teleport, [MAP] map, [MAP] profile + [TELEPORT] teleport, [MAP] map, [PROFILE] profile -- cgit v1.2.3 From 739dee86c9bd1d6853d4042aa88e6ffaeaf81229 Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Fri, 5 Mar 2010 18:50:38 +0200 Subject: WIP on EXT-5687 (Classifieds are missing the clickthrough data). Removed a stub clickthrough info dispatcher. --HG-- branch : product-engine --- indra/newview/llpanelpicks.cpp | 30 ------------------------------ indra/newview/llpanelpicks.h | 3 --- 2 files changed, 33 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index 2ff2597f08..f6fcb5a304 100644 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -174,31 +174,6 @@ LLClassifiedHandler gClassifiedHandler; ////////////////////////////////////////////////////////////////////////// -/** - * Copy&Pasted from old LLPanelClassified. This class does nothing at the moment. - * Subscribing to "classifiedclickthrough" removes a few warnings. - */ -class LLClassifiedClickThrough : public LLDispatchHandler -{ -public: - - // "classifiedclickthrough" - // strings[0] = classified_id - // strings[1] = teleport_clicks - // strings[2] = map_clicks - // strings[3] = profile_clicks - virtual bool operator()( - const LLDispatcher* dispatcher, - const std::string& key, - const LLUUID& invoice, - const sparam_t& strings) - { - if (strings.size() != 4) - return false; - - return true; - } -}; //----------------------------------------------------------------------------- // LLPanelPicks @@ -217,12 +192,9 @@ LLPanelPicks::LLPanelPicks() mClassifiedsAccTab(NULL), mPanelClassifiedInfo(NULL), mPanelClassifiedEdit(NULL), - mClickThroughDisp(NULL), mNoClassifieds(false), mNoPicks(false) { - mClickThroughDisp = new LLClassifiedClickThrough(); - gGenericDispatcher.addHandler("classifiedclickthrough", mClickThroughDisp); } LLPanelPicks::~LLPanelPicks() @@ -231,8 +203,6 @@ LLPanelPicks::~LLPanelPicks() { LLAvatarPropertiesProcessor::getInstance()->removeObserver(getAvatarId(),this); } - - delete mClickThroughDisp; } void* LLPanelPicks::create(void* data /* = NULL */) diff --git a/indra/newview/llpanelpicks.h b/indra/newview/llpanelpicks.h index 3f757e482e..b82f1f8d86 100644 --- a/indra/newview/llpanelpicks.h +++ b/indra/newview/llpanelpicks.h @@ -55,7 +55,6 @@ class LLPanelPickEdit; class LLToggleableMenu; class LLPanelClassifiedInfo; class LLPanelClassifiedEdit; -class LLClassifiedClickThrough; // *TODO // Panel Picks has been consolidated with Classifieds (EXT-2095), give LLPanelPicks @@ -159,8 +158,6 @@ private: LLAccordionCtrlTab* mPicksAccTab; LLAccordionCtrlTab* mClassifiedsAccTab; - LLClassifiedClickThrough* mClickThroughDisp; - //true if picks list is empty after processing picks bool mNoPicks; //true if classifieds list is empty after processing classifieds -- cgit v1.2.3 From eeb6e89e60df4c61c299c6ac344e32c7d3040d04 Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Fri, 5 Mar 2010 19:03:00 +0200 Subject: WIP on EXT-5687 (Classifieds are missing the clickthrough data). Updating click stats on: * opening classified info * clicking "Map" or "Teleport" buttons in classified info * clicking "Details" in the web-based search floater --HG-- branch : product-engine --- indra/newview/llpanelclassified.cpp | 76 ++++++++++++++++++++++++++++++++++--- indra/newview/llpanelclassified.h | 13 +++++++ indra/newview/llpanelpicks.cpp | 27 ++++++------- indra/newview/llpanelpicks.h | 4 +- indra/newview/llpanelprofile.cpp | 10 ++--- 5 files changed, 99 insertions(+), 31 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp index 6f0b7df935..49614348d0 100644 --- a/indra/newview/llpanelclassified.cpp +++ b/indra/newview/llpanelclassified.cpp @@ -114,6 +114,23 @@ public: }; static LLDispatchClassifiedClickThrough sClassifiedClickThrough; +// Just to debug errors. Can be thrown away later. +class LLClassifiedClickMessageResponder : public LLHTTPClient::Responder +{ + LOG_CLASS(LLClassifiedClickMessageResponder); + +public: + // If we get back an error (not found, etc...), handle it here + virtual void errorWithContent( + U32 status, + const std::string& reason, + const LLSD& content) + { + llwarns << "Sending click message failed (" << status << "): [" << reason << "]" << llendl; + llwarns << "Content: [" << content << "]" << llendl; + } +}; + /* Re-expose this if we need to have classified ad HTML detail pages. JC @@ -1234,7 +1251,7 @@ void LLPanelClassifiedInfo::reshape(S32 width, S32 height, BOOL called_from_pare void LLPanelClassifiedInfo::onOpen(const LLSD& key) { - LLUUID avatar_id = key["avatar_id"]; + LLUUID avatar_id = key["classified_creator_id"]; if(avatar_id.isNull()) { return; @@ -1251,9 +1268,12 @@ void LLPanelClassifiedInfo::onOpen(const LLSD& key) resetControls(); setClassifiedId(key["classified_id"]); - setClassifiedName(key["name"]); - setDescription(key["desc"]); - setSnapshotId(key["snapshot_id"]); + setClassifiedName(key["classified_name"]); + setDescription(key["classified_desc"]); + setSnapshotId(key["classified_snapshot_id"]); + setFromSearch(key["from_search"]); + + llinfos << "Opening classified [" << getClassifiedName() << "] (" << getClassifiedId() << ")" << llendl; LLAvatarPropertiesProcessor::getInstance()->addObserver(getAvatarId(), this); LLAvatarPropertiesProcessor::getInstance()->sendClassifiedInfoRequest(getClassifiedId()); @@ -1270,6 +1290,10 @@ void LLPanelClassifiedInfo::onOpen(const LLSD& key) LLHTTPClient::post(url, body, new LLClassifiedStatsResponder(getClassifiedId())); } + // Update classified click stats. + // *TODO: Should we do this when opening not from search? + sendClickMessage("profile"); + setInfoLoaded(false); } @@ -1285,6 +1309,8 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t setSnapshotId(c_info->snapshot_id); setParcelId(c_info->parcel_id); setPosGlobal(c_info->pos_global); + setSimName(c_info->sim_name); + setClassifiedLocation(createLocationText(c_info->parcel_name, c_info->sim_name, c_info->pos_global)); childSetValue("category", LLClassifiedInfo::sCategories[c_info->category]); @@ -1316,7 +1342,19 @@ void LLPanelClassifiedInfo::resetData() setClassifiedLocation(LLStringUtil::null); setClassifiedId(LLUUID::null); setSnapshotId(LLUUID::null); - mPosGlobal.clearVec(); + setPosGlobal(LLVector3d::zero); + setParcelId(LLUUID::null); + setSimName(LLStringUtil::null); + setFromSearch(false); + + // reset click stats + mTeleportClicksOld = 0; + mMapClicksOld = 0; + mProfileClicksOld = 0; + mTeleportClicksNew = 0; + mMapClicksNew = 0; + mProfileClicksNew = 0; + childSetValue("category", LLStringUtil::null); childSetValue("content_type", LLStringUtil::null); childSetText("click_through_text", LLStringUtil::null); @@ -1433,8 +1471,14 @@ void LLPanelClassifiedInfo::setClickThrough( ct_str.setArg("[TELEPORT]", llformat("%d", self->mTeleportClicksNew + self->mTeleportClicksOld)); ct_str.setArg("[MAP]", llformat("%d", self->mMapClicksNew + self->mMapClicksOld)); ct_str.setArg("[PROFILE]", llformat("%d", self->mProfileClicksNew + self->mProfileClicksOld)); - self->childSetText("click_through_text", ct_str.getString()); + // *HACK: remove this when there is enough room for click stats in the info panel + self->childSetToolTip("click_through_text", ct_str.getString()); + + llinfos << "teleport: " << llformat("%d", self->mTeleportClicksNew + self->mTeleportClicksOld) + << ", map: " << llformat("%d", self->mMapClicksNew + self->mMapClicksOld) + << ", profile: " << llformat("%d", self->mProfileClicksNew + self->mProfileClicksOld) + << llendl; } } @@ -1504,8 +1548,27 @@ void LLPanelClassifiedInfo::stretchSnapshot() mSnapshotStreched = true; } +void LLPanelClassifiedInfo::sendClickMessage(const std::string& type) +{ + // You're allowed to click on your own ads to reassure yourself + // that the system is working. + LLSD body; + body["type"] = type; + body["from_search"] = fromSearch(); + body["classified_id"] = getClassifiedId(); + body["parcel_id"] = getParcelId(); + body["dest_pos_global"] = getPosGlobal().getValue(); + body["region_name"] = getSimName(); + + std::string url = gAgent.getRegion()->getCapability("SearchStatTracking"); + llinfos << "Sending click msg via capability (url=" << url << ")" << llendl; + llinfos << "body: [" << body << "]" << llendl; + LLHTTPClient::post(url, body, new LLClassifiedClickMessageResponder()); +} + void LLPanelClassifiedInfo::onMapClick() { + sendClickMessage("map"); LLFloaterWorldMap::getInstance()->trackLocation(getPosGlobal()); LLFloaterReg::showInstance("world_map", "center"); } @@ -1514,6 +1577,7 @@ void LLPanelClassifiedInfo::onTeleportClick() { if (!getPosGlobal().isExactlyZero()) { + sendClickMessage("teleport"); gAgent.teleportViaLocation(getPosGlobal()); LLFloaterWorldMap::getInstance()->trackLocation(getPosGlobal()); } diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h index 43b47d4e3e..04dea00e5f 100644 --- a/indra/newview/llpanelclassified.h +++ b/indra/newview/llpanelclassified.h @@ -204,6 +204,7 @@ private: class LLPanelClassifiedInfo : public LLPanel, public LLAvatarPropertiesObserver { + LOG_CLASS(LLPanelClassifiedInfo); public: static LLPanelClassifiedInfo* create(); @@ -246,6 +247,14 @@ public: LLUUID getParcelId() { return mParcelId; } + void setSimName(const std::string& sim_name) { mSimName = sim_name; } + + std::string getSimName() { return mSimName; } + + void setFromSearch(bool val) { mFromSearch = val; } + + bool fromSearch() { return mFromSearch; } + bool getInfoLoaded() { return mInfoLoaded; } void setInfoLoaded(bool loaded) { mInfoLoaded = loaded; } @@ -279,6 +288,7 @@ protected: const LLVector3d& pos_global); void stretchSnapshot(); + void sendClickMessage(const std::string& type); void onMapClick(); void onTeleportClick(); @@ -290,6 +300,8 @@ private: LLUUID mClassifiedId; LLVector3d mPosGlobal; LLUUID mParcelId; + std::string mSimName; + bool mFromSearch; bool mInfoLoaded; bool mSnapshotStreched; @@ -315,6 +327,7 @@ private: class LLPanelClassifiedEdit : public LLPanelClassifiedInfo { + LOG_CLASS(LLPanelClassifiedEdit); public: static LLPanelClassifiedEdit* create(); diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index f6fcb5a304..59642c6a67 100644 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -140,10 +140,11 @@ public: params["open_tab_name"] = "panel_picks"; params["show_tab_panel"] = "classified_details"; params["classified_id"] = c_info->classified_id; - params["classified_avatar_id"] = c_info->creator_id; + params["classified_creator_id"] = c_info->creator_id; params["classified_snapshot_id"] = c_info->snapshot_id; params["classified_name"] = c_info->name; params["classified_desc"] = c_info->description; + params["from_search"] = true; LLSideTray::getInstance()->showPanel("panel_profile_view", params); } @@ -726,26 +727,20 @@ void LLPanelPicks::openClassifiedInfo() if (selected_value.isUndefined()) return; LLClassifiedItem* c_item = getSelectedClassifiedItem(); + LLSD params; + params["classified_id"] = c_item->getClassifiedId(); + params["classified_creator_id"] = c_item->getAvatarId(); + params["classified_snapshot_id"] = c_item->getSnapshotId(); + params["classified_name"] = c_item->getClassifiedName(); + params["classified_desc"] = c_item->getDescription(); + params["from_search"] = false; - openClassifiedInfo(c_item->getClassifiedId(), c_item->getAvatarId(), - c_item->getSnapshotId(), c_item->getClassifiedName(), - c_item->getDescription()); + openClassifiedInfo(params); } -void LLPanelPicks::openClassifiedInfo(const LLUUID &classified_id, - const LLUUID &avatar_id, - const LLUUID &snapshot_id, - const std::string &name, const std::string &desc) +void LLPanelPicks::openClassifiedInfo(const LLSD ¶ms) { createClassifiedInfoPanel(); - - LLSD params; - params["classified_id"] = classified_id; - params["avatar_id"] = avatar_id; - params["snapshot_id"] = snapshot_id; - params["name"] = name; - params["desc"] = desc; - getProfilePanel()->openPanel(mPanelClassifiedInfo, params); } diff --git a/indra/newview/llpanelpicks.h b/indra/newview/llpanelpicks.h index b82f1f8d86..11e811275b 100644 --- a/indra/newview/llpanelpicks.h +++ b/indra/newview/llpanelpicks.h @@ -119,9 +119,7 @@ private: void openPickInfo(); void openClassifiedInfo(); - void openClassifiedInfo(const LLUUID &classified_id, const LLUUID &avatar_id, - const LLUUID &snapshot_id, const std::string &name, - const std::string &desc); + void openClassifiedInfo(const LLSD& params); friend class LLPanelProfile; void showAccordion(const std::string& name, bool show); diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp index b5d85dfd4b..18da8dd48c 100644 --- a/indra/newview/llpanelprofile.cpp +++ b/indra/newview/llpanelprofile.cpp @@ -171,15 +171,13 @@ void LLPanelProfile::onOpen(const LLSD& key) } else if (panel == "classified_details") { - LLUUID classified_id = key["classified_id"].asUUID(); - LLUUID avatar_id = key["classified_avatar_id"].asUUID(); - LLUUID snapshot_id = key["classified_snapshot_id"].asUUID(); - std::string name = key["classified_name"].asString(); - std::string desc = key["classified_desc"].asString(); LLPanelPicks* picks = dynamic_cast(getTabContainer()[PANEL_PICKS]); if (picks) { - picks->openClassifiedInfo(classified_id, avatar_id, snapshot_id, name, desc); + LLSD params = key; + params.erase("show_tab_panel"); + params.erase("open_tab_name"); + picks->openClassifiedInfo(params); } } } -- cgit v1.2.3 From b60274fad4a7cfdb1ab383bd9f822ef75caa285a Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Fri, 5 Mar 2010 19:30:31 +0200 Subject: WIP on EXT-5687 (Classifieds are missing the clickthrough data). Updating classieifed click stats when user presses "Teleport" or "Map" button in the picks/classifieds list side panel. --HG-- branch : product-engine --- indra/newview/llpanelclassified.cpp | 32 ++++++++++++++++++++++++++------ indra/newview/llpanelclassified.h | 8 ++++++++ indra/newview/llpanelpicks.cpp | 8 ++++++++ 3 files changed, 42 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp index 49614348d0..03c4da93c4 100644 --- a/indra/newview/llpanelclassified.cpp +++ b/indra/newview/llpanelclassified.cpp @@ -1548,17 +1548,25 @@ void LLPanelClassifiedInfo::stretchSnapshot() mSnapshotStreched = true; } -void LLPanelClassifiedInfo::sendClickMessage(const std::string& type) +// static +// *TODO: move out of the panel +void LLPanelClassifiedInfo::sendClickMessage( + const std::string& type, + bool from_search, + const LLUUID& classified_id, + const LLUUID& parcel_id, + const LLVector3d& global_pos, + const std::string& sim_name) { // You're allowed to click on your own ads to reassure yourself // that the system is working. LLSD body; body["type"] = type; - body["from_search"] = fromSearch(); - body["classified_id"] = getClassifiedId(); - body["parcel_id"] = getParcelId(); - body["dest_pos_global"] = getPosGlobal().getValue(); - body["region_name"] = getSimName(); + body["from_search"] = from_search; + body["classified_id"] = classified_id; + body["parcel_id"] = parcel_id; + body["dest_pos_global"] = global_pos.getValue(); + body["region_name"] = sim_name; std::string url = gAgent.getRegion()->getCapability("SearchStatTracking"); llinfos << "Sending click msg via capability (url=" << url << ")" << llendl; @@ -1566,6 +1574,18 @@ void LLPanelClassifiedInfo::sendClickMessage(const std::string& type) LLHTTPClient::post(url, body, new LLClassifiedClickMessageResponder()); } + +void LLPanelClassifiedInfo::sendClickMessage(const std::string& type) +{ + sendClickMessage( + type, + fromSearch(), + getClassifiedId(), + getParcelId(), + getPosGlobal(), + getSimName()); +} + void LLPanelClassifiedInfo::onMapClick() { sendClickMessage("map"); diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h index 04dea00e5f..31f585e9cc 100644 --- a/indra/newview/llpanelclassified.h +++ b/indra/newview/llpanelclassified.h @@ -266,6 +266,14 @@ public: S32 profile, bool from_new_table); + static void sendClickMessage( + const std::string& type, + bool from_search, + const LLUUID& classified_id, + const LLUUID& parcel_id, + const LLVector3d& global_pos, + const std::string& sim_name); + void setExitCallback(const commit_callback_t& cb); void setEditClassifiedCallback(const commit_callback_t& cb); diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index 59642c6a67..f0860e7027 100644 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -578,7 +578,11 @@ void LLPanelPicks::onClickTeleport() if(pick_item) pos = pick_item->getPosGlobal(); else if(c_item) + { pos = c_item->getPosGlobal(); + LLPanelClassifiedInfo::sendClickMessage("teleport", false, + c_item->getClassifiedId(), LLUUID::null, pos, LLStringUtil::null); + } if (!pos.isExactlyZero()) { @@ -597,7 +601,11 @@ void LLPanelPicks::onClickMap() if (pick_item) pos = pick_item->getPosGlobal(); else if(c_item) + { + LLPanelClassifiedInfo::sendClickMessage("map", false, + c_item->getClassifiedId(), LLUUID::null, pos, LLStringUtil::null); pos = c_item->getPosGlobal(); + } LLFloaterWorldMap::getInstance()->trackLocation(pos); LLFloaterReg::showInstance("world_map", "center"); -- cgit v1.2.3 From 48fd4c8d14172ab9780d88bf204d1e4e56f2004e Mon Sep 17 00:00:00 2001 From: Eugene Mutavchi Date: Fri, 5 Mar 2010 21:36:41 +0200 Subject: Working on major bug EXT-4820([NUX] Viewer dimensions on first-run) - moved LLDisplayInfo to llwindow, implemented getting the width/height of screen for mac os and linux. --HG-- branch : product-engine --- indra/newview/llappviewer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 6d4c90c2b9..8b3f3aa28e 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -305,7 +305,7 @@ static std::string gLaunchFileOnQuit; // Used on Win32 for other apps to identify our window (eg, win_setup) const char* const VIEWER_WINDOW_CLASSNAME = "Second Life"; static const S32 FIRST_RUN_WINDOW_WIDTH = 1024; -static const S32 FIRST_RUN_WINDOW_HRIGHT = 768; +static const S32 FIRST_RUN_WINDOW_HIGHT = 768; //---------------------------------------------------------------------------- // List of entries from strings.xml to always replace @@ -2375,12 +2375,12 @@ bool LLAppViewer::initWindow() if (first_run)//for first login { window_width = FIRST_RUN_WINDOW_WIDTH;//yep hardcoded - window_height = FIRST_RUN_WINDOW_HRIGHT; + window_height = FIRST_RUN_WINDOW_HIGHT; //if screen resolution is lower then 1024*768 then show maximized LLDisplayInfo display_info; if(display_info.getDisplayWidth() <= FIRST_RUN_WINDOW_WIDTH - || display_info.getDisplayHeight()<=FIRST_RUN_WINDOW_HRIGHT) + || display_info.getDisplayHeight()<=FIRST_RUN_WINDOW_HIGHT) { show_maximized = true; } -- cgit v1.2.3 From 8ae52e2b90e9767787c14f0ac8a0bc6cc5f1df73 Mon Sep 17 00:00:00 2001 From: Andrew Dyukov Date: Sat, 6 Mar 2010 00:17:16 +0200 Subject: Partially implemented nice-to have sub-task EXT-4706 (Add maturity icons to About Land). - Added maturity icons to General and Covenant tabs. --HG-- branch : product-engine --- indra/newview/llfloaterland.cpp | 43 +++++++++++++++++++++- .../skins/default/xui/en/floater_about_land.xml | 12 ++++++ 2 files changed, 53 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 26c6db9652..fa7d7e3a38 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -102,6 +102,10 @@ public: virtual void changed() { LLFloaterLand::refreshAll(); } }; +// fills target textbox with maturity info(icon and text) +// names_floater - pointer to floater which contains strings with maturity icons filenames +void FillMaturityTextBox(LLTextBox* target_textbox, LLFloater* names_floater); + //--------------------------------------------------------------------------- // LLFloaterLand //--------------------------------------------------------------------------- @@ -554,7 +558,7 @@ void LLPanelLandGeneral::refresh() if (regionp) { - mContentRating->setText(regionp->getSimAccessString()); + FillMaturityTextBox(mContentRating, gFloaterView->getParentFloater(this)); mLandType->setText(regionp->getSimProductName()); } @@ -2858,7 +2862,7 @@ void LLPanelLandCovenant::refresh() LLTextBox* region_maturity = getChild("region_maturity_text"); if (region_maturity) { - region_maturity->setText(region->getSimAccessString()); + FillMaturityTextBox(region_maturity, gFloaterView->getParentFloater(this)); } LLTextBox* resellable_clause = getChild("resellable_clause"); @@ -2939,3 +2943,38 @@ void LLPanelLandCovenant::updateEstateOwnerName(const std::string& name) if (editor) editor->setText(name); } } + +// fills target textbox with maturity info(icon and text) +// names_floater - pointer to floater which contains strings with maturity icons filenames +void FillMaturityTextBox(LLTextBox* target_textbox, LLFloater* names_floater) +{ + LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion(); + if (!region) + return; + + LLStyle::Params style; + + U8 sim_access = region->getSimAccess(); + + switch(sim_access) + { + case SIM_ACCESS_PG: + style.image(LLUI::getUIImage(names_floater->getString("maturity_icon_general"))); + break; + + case SIM_ACCESS_ADULT: + style.image(LLUI::getUIImage(names_floater->getString("maturity_icon_adult"))); + break; + + case SIM_ACCESS_MATURE: + style.image(LLUI::getUIImage(names_floater->getString("maturity_icon_moderate"))); + break; + + default: + break; + } + + // any text may be here instead of "icon" except "" + target_textbox->setText(std::string("icon"),style); + target_textbox->appendText(LLViewerParcelMgr::getInstance()->getSelectionRegion()->getSimAccessString(), false); +} \ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 29c6ae8009..8d45bdd4aa 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -8,6 +8,18 @@ save_rect="true" title="ABOUT LAND" width="490"> + + "Parcel_PG_Dark" + + + "Parcel_M_Dark" + + + "Parcel_R_Dark" + [MINUTES] minutes -- cgit v1.2.3 From 24810564a3332c63edbed0f447e1244e33a45e17 Mon Sep 17 00:00:00 2001 From: Andrew Dyukov Date: Sat, 6 Mar 2010 00:22:46 +0200 Subject: Fixed linux build --HG-- branch : product-engine --- indra/newview/llfloaterland.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index fa7d7e3a38..7051447409 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -2977,4 +2977,4 @@ void FillMaturityTextBox(LLTextBox* target_textbox, LLFloater* names_floater) // any text may be here instead of "icon" except "" target_textbox->setText(std::string("icon"),style); target_textbox->appendText(LLViewerParcelMgr::getInstance()->getSelectionRegion()->getSimAccessString(), false); -} \ No newline at end of file +} -- cgit v1.2.3 From bf265a25fc52c7c9469c7e50ede1a95f1f774a94 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Sat, 6 Mar 2010 01:14:33 +0200 Subject: (EXT-4705) Show maturity icon on Region/Estate tab - Added items names to match localized XUI. --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/panel_region_general.xml | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_region_general.xml b/indra/newview/skins/default/xui/en/panel_region_general.xml index 4acfa42c23..ca9579284b 100644 --- a/indra/newview/skins/default/xui/en/panel_region_general.xml +++ b/indra/newview/skins/default/xui/en/panel_region_general.xml @@ -187,6 +187,7 @@ pad_left="3"/> Date: Sat, 6 Mar 2010 01:16:56 +0200 Subject: Fixed major bug (EXT-6033) Parcel, Region,and Estate areas of 'PlaceProfile' are corrupted. - Added height attribute value to accordion tabs. --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/panel_place_profile.xml | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml index 01a27a08c7..1e7c51259c 100644 --- a/indra/newview/skins/default/xui/en/panel_place_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml @@ -325,6 +325,7 @@ top_pad="10" width="313"> @@ -537,6 +538,7 @@ @@ -664,6 +666,7 @@ @@ -753,6 +756,7 @@ -- cgit v1.2.3 From f499260782a0c94c4f164a743da9d2690240dad7 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Sat, 6 Mar 2010 01:17:34 +0200 Subject: Implemented (EXT-4715) Add maturity icons to Classifieds - create and details. --HG-- branch : product-engine --- indra/newview/llpanelclassified.cpp | 10 +++-- .../skins/default/xui/en/panel_classified_info.xml | 24 +++++++++-- .../skins/default/xui/en/panel_edit_classified.xml | 48 ++++++++++++++-------- 3 files changed, 60 insertions(+), 22 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp index 5c6636676c..115c7a1aa5 100644 --- a/indra/newview/llpanelclassified.cpp +++ b/indra/newview/llpanelclassified.cpp @@ -1325,6 +1325,8 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t bool mature = is_cf_mature(c_info->flags); childSetValue("content_type", mature ? mature_str : pg_str); + getChild("content_type_moderate")->setVisible(mature); + getChild("content_type_general")->setVisible(!mature); std::string auto_renew_str = is_cf_auto_renew(c_info->flags) ? getString("auto_renew_on") : getString("auto_renew_off"); @@ -1369,6 +1371,8 @@ void LLPanelClassifiedInfo::resetData() childSetText("auto_renew", LLStringUtil::null); childSetText("creation_date", LLStringUtil::null); childSetText("click_through_text", LLStringUtil::null); + getChild("content_type_moderate")->setVisible(FALSE); + getChild("content_type_general")->setVisible(FALSE); } void LLPanelClassifiedInfo::resetControls() @@ -1787,7 +1791,7 @@ void LLPanelClassifiedEdit::processProperties(void* data, EAvatarProcessorType t bool mature = is_cf_mature(c_info->flags); bool auto_renew = is_cf_auto_renew(c_info->flags); - getChild("content_type")->setCurrentByIndex(mature ? CB_ITEM_MATURE : CB_ITEM_PG); + getChild("content_type")->setCurrentByIndex(mature ? CB_ITEM_MATURE : CB_ITEM_PG); childSetValue("auto_renew", auto_renew); childSetValue("price_for_listing", c_info->price_for_listing); childSetEnabled("price_for_listing", isNew()); @@ -1846,7 +1850,7 @@ void LLPanelClassifiedEdit::resetControls() LLPanelClassifiedInfo::resetControls(); getChild("category")->setCurrentByIndex(0); - getChild("content_type")->setCurrentByIndex(0); + getChild("content_type")->setCurrentByIndex(0); childSetValue("auto_renew", false); childSetValue("price_for_listing", MINIMUM_PRICE_FOR_LISTING); childSetEnabled("price_for_listing", TRUE); @@ -1910,7 +1914,7 @@ U8 LLPanelClassifiedEdit::getFlags() { bool auto_renew = childGetValue("auto_renew").asBoolean(); - LLComboBox* content_cb = getChild("content_type"); + LLComboBox* content_cb = getChild("content_type"); bool mature = content_cb->getCurrentIndex() == CB_ITEM_MATURE; return pack_classified_flags_request(auto_renew, false, mature, false); diff --git a/indra/newview/skins/default/xui/en/panel_classified_info.xml b/indra/newview/skins/default/xui/en/panel_classified_info.xml index e71498f2f8..e3b331799c 100644 --- a/indra/newview/skins/default/xui/en/panel_classified_info.xml +++ b/indra/newview/skins/default/xui/en/panel_classified_info.xml @@ -156,6 +156,24 @@ top_pad="10" value="Content Type:" width="140" /> + + - - - Moderate Content - - - General Content - - + + + + + + + + Date: Fri, 5 Mar 2010 18:34:36 -0800 Subject: EXT-2418 added open/sit/buy mouse cursors --- indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif | Bin 0 -> 52928 bytes indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif | Bin 0 -> 55956 bytes indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif | Bin 0 -> 55872 bytes indra/newview/lltoolpie.cpp | 8 +- indra/newview/res/toolbuy.cur | Bin 0 -> 3262 bytes indra/newview/res/toolopen.cur | Bin 0 -> 3262 bytes indra/newview/res/toolsit.cur | Bin 0 -> 3262 bytes indra/newview/res/viewerRes.rc | 367 +++++++++++------------ 8 files changed, 182 insertions(+), 193 deletions(-) create mode 100644 indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif create mode 100644 indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif create mode 100644 indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif create mode 100644 indra/newview/res/toolbuy.cur create mode 100644 indra/newview/res/toolopen.cur create mode 100644 indra/newview/res/toolsit.cur (limited to 'indra/newview') diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif new file mode 100644 index 0000000000..c20e05340a Binary files /dev/null and b/indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif differ diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif new file mode 100644 index 0000000000..887281688d Binary files /dev/null and b/indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif differ diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif new file mode 100644 index 0000000000..ae7e21568c Binary files /dev/null and b/indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif differ diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index fb78b6a415..51a31f0725 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -412,24 +412,24 @@ ECursorType cursor_from_object(LLViewerObject* object) case CLICK_ACTION_SIT: if ((gAgent.getAvatarObject() != NULL) && (!gAgent.getAvatarObject()->isSitting())) // not already sitting? { - cursor = UI_CURSOR_HAND; + cursor = UI_CURSOR_TOOLSIT; } break; case CLICK_ACTION_BUY: - cursor = UI_CURSOR_HAND; + cursor = UI_CURSOR_TOOLBUY; break; case CLICK_ACTION_OPEN: // Open always opens the parent. if (parent && parent->allowOpen()) { - cursor = UI_CURSOR_HAND; + cursor = UI_CURSOR_TOOLOPEN; } break; case CLICK_ACTION_PAY: if ((object && object->flagTakesMoney()) || (parent && parent->flagTakesMoney())) { - cursor = UI_CURSOR_HAND; + cursor = UI_CURSOR_TOOLBUY; } break; case CLICK_ACTION_ZOOM: diff --git a/indra/newview/res/toolbuy.cur b/indra/newview/res/toolbuy.cur new file mode 100644 index 0000000000..a4f5869be0 Binary files /dev/null and b/indra/newview/res/toolbuy.cur differ diff --git a/indra/newview/res/toolopen.cur b/indra/newview/res/toolopen.cur new file mode 100644 index 0000000000..fa966b406a Binary files /dev/null and b/indra/newview/res/toolopen.cur differ diff --git a/indra/newview/res/toolsit.cur b/indra/newview/res/toolsit.cur new file mode 100644 index 0000000000..d8a64b956b Binary files /dev/null and b/indra/newview/res/toolsit.cur differ diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc index 38291e45c9..d01244d2ff 100644 --- a/indra/newview/res/viewerRes.rc +++ b/indra/newview/res/viewerRes.rc @@ -1,189 +1,178 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#ifdef IDC_STATIC -#undef IDC_STATIC -#endif -#define IDC_STATIC (-1) -#include "winresrc.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -// Commented out because it only compiles if you have MFC installed. -//#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_LL_ICON ICON "ll_icon.ico" -IDI_LCD_LL_ICON ICON "icon1.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -SPLASHSCREEN DIALOG 32, 32, 144, 34 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE -FONT 8, "MS Sans Serif" -BEGIN - ICON IDI_LL_ICON,IDC_STATIC,7,7,20,20 - LTEXT "Loading Second Life...",666,36,13,91,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - - "SPLASHSCREEN", DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 137 - VERTGUIDE, 36 - TOPMARGIN, 7 - BOTTOMMARGIN, 27 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Cursor -// - -TOOLGRAB CURSOR "lltoolgrab.cur" -TOOLLAND CURSOR "lltoolland.cur" -TOOLZOOMIN CURSOR "lltoolzoomin.cur" -TOOLCREATE CURSOR "lltoolcreate.cur" -ARROWDRAG CURSOR "llarrowdrag.cur" -ARROW CURSOR "llarrow.cur" -NOLOCKED CURSOR "llnolocked.cur" -ARROWLOCKED CURSOR "llarrowlocked.cur" -GRABLOCKED CURSOR "llgrablocked.cur" -TOOLROTATE CURSOR "lltoolrotate.cur" -TOOLTRANSLATE CURSOR "lltooltranslate.cur" -TOOLSCALE CURSOR "lltoolscale.cur" -TOOLCAMERA CURSOR "lltoolcamera.cur" -TOOLPAN CURSOR "lltoolpan.cur" -TOOLFOCUS CURSOR "lltoolfocus.cur" -TOOLPICKOBJECT3 CURSOR "toolpickobject3.cur" -ARROWCOPY CURSOR "arrowcop.cur" -ARROWDRAGMULTI CURSOR "llarrowdragmulti.cur" -ARROWCOPYMULTI CURSOR "arrowcopmulti.cur" -TOOLPIPETTE CURSOR "toolpipette.cur" -TOOLPLAY CURSOR "toolplay.cur" -TOOLPAUSE CURSOR "toolpause.cur" -TOOLMEDIAOPEN CURSOR "toolmediaopen.cur" - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,0,0,200030 - PRODUCTVERSION 2,0,0,200030 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Linden Lab" - VALUE "FileDescription", "Second Life" - VALUE "FileVersion", "2.0.0.200030" - VALUE "InternalName", "Second Life" - VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc." - VALUE "OriginalFilename", "SecondLife.exe" - VALUE "ProductName", "Second Life" - VALUE "ProductVersion", "2.0.0.200030" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_LL_ICON ICON "ll_icon.ico" +IDI_LCD_LL_ICON ICON "icon1.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +SPLASHSCREEN DIALOG 32, 32, 144, 34 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE +FONT 8, "MS Sans Serif" +BEGIN + ICON IDI_LL_ICON,IDC_STATIC,7,7,20,20 + LTEXT "Loading Second Life...",666,36,13,91,8 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + "SPLASHSCREEN", DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 137 + VERTGUIDE, 36 + TOPMARGIN, 7 + BOTTOMMARGIN, 27 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Cursor +// + +TOOLGRAB CURSOR "lltoolgrab.cur" +TOOLLAND CURSOR "lltoolland.cur" +TOOLZOOMIN CURSOR "lltoolzoomin.cur" +TOOLCREATE CURSOR "lltoolcreate.cur" +ARROWDRAG CURSOR "llarrowdrag.cur" +ARROW CURSOR "llarrow.cur" +NOLOCKED CURSOR "llnolocked.cur" +ARROWLOCKED CURSOR "llarrowlocked.cur" +GRABLOCKED CURSOR "llgrablocked.cur" +TOOLROTATE CURSOR "lltoolrotate.cur" +TOOLTRANSLATE CURSOR "lltooltranslate.cur" +TOOLSCALE CURSOR "lltoolscale.cur" +TOOLCAMERA CURSOR "lltoolcamera.cur" +TOOLPAN CURSOR "lltoolpan.cur" +TOOLFOCUS CURSOR "lltoolfocus.cur" +TOOLPICKOBJECT3 CURSOR "toolpickobject3.cur" +ARROWCOPY CURSOR "arrowcop.cur" +ARROWDRAGMULTI CURSOR "llarrowdragmulti.cur" +ARROWCOPYMULTI CURSOR "arrowcopmulti.cur" +TOOLPIPETTE CURSOR "toolpipette.cur" +TOOLPLAY CURSOR "toolplay.cur" +TOOLPAUSE CURSOR "toolpause.cur" +TOOLMEDIAOPEN CURSOR "toolmediaopen.cur" +TOOLOPEN CURSOR "toolopen.cur" +TOOLSIT CURSOR "toolsit.cur" +TOOLBUY CURSOR "toolbuy.cur" + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 2,0,0,3422 + PRODUCTVERSION 2,0,0,3422 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Linden Lab" + VALUE "FileDescription", "Second Life" + VALUE "FileVersion", "2.0.0.200030" + VALUE "InternalName", "Second Life" + VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc." + VALUE "OriginalFilename", "SecondLife.exe" + VALUE "ProductName", "Second Life" + VALUE "ProductVersion", "2.0.0.200030" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + -- cgit v1.2.3 From d7b35ee623dea35c6a8c9cc8b8c1a9c050eb9def Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Fri, 5 Mar 2010 19:05:36 -0800 Subject: changed line endings to Unix --- indra/newview/res/viewerRes.rc | 356 ++++++++++++++++++++--------------------- 1 file changed, 178 insertions(+), 178 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc index d01244d2ff..7a965cf57e 100644 --- a/indra/newview/res/viewerRes.rc +++ b/indra/newview/res/viewerRes.rc @@ -1,178 +1,178 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_LL_ICON ICON "ll_icon.ico" -IDI_LCD_LL_ICON ICON "icon1.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -SPLASHSCREEN DIALOG 32, 32, 144, 34 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE -FONT 8, "MS Sans Serif" -BEGIN - ICON IDI_LL_ICON,IDC_STATIC,7,7,20,20 - LTEXT "Loading Second Life...",666,36,13,91,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - "SPLASHSCREEN", DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 137 - VERTGUIDE, 36 - TOPMARGIN, 7 - BOTTOMMARGIN, 27 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Cursor -// - -TOOLGRAB CURSOR "lltoolgrab.cur" -TOOLLAND CURSOR "lltoolland.cur" -TOOLZOOMIN CURSOR "lltoolzoomin.cur" -TOOLCREATE CURSOR "lltoolcreate.cur" -ARROWDRAG CURSOR "llarrowdrag.cur" -ARROW CURSOR "llarrow.cur" -NOLOCKED CURSOR "llnolocked.cur" -ARROWLOCKED CURSOR "llarrowlocked.cur" -GRABLOCKED CURSOR "llgrablocked.cur" -TOOLROTATE CURSOR "lltoolrotate.cur" -TOOLTRANSLATE CURSOR "lltooltranslate.cur" -TOOLSCALE CURSOR "lltoolscale.cur" -TOOLCAMERA CURSOR "lltoolcamera.cur" -TOOLPAN CURSOR "lltoolpan.cur" -TOOLFOCUS CURSOR "lltoolfocus.cur" -TOOLPICKOBJECT3 CURSOR "toolpickobject3.cur" -ARROWCOPY CURSOR "arrowcop.cur" -ARROWDRAGMULTI CURSOR "llarrowdragmulti.cur" -ARROWCOPYMULTI CURSOR "arrowcopmulti.cur" -TOOLPIPETTE CURSOR "toolpipette.cur" -TOOLPLAY CURSOR "toolplay.cur" -TOOLPAUSE CURSOR "toolpause.cur" -TOOLMEDIAOPEN CURSOR "toolmediaopen.cur" -TOOLOPEN CURSOR "toolopen.cur" -TOOLSIT CURSOR "toolsit.cur" -TOOLBUY CURSOR "toolbuy.cur" - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,0,0,3422 - PRODUCTVERSION 2,0,0,3422 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Linden Lab" - VALUE "FileDescription", "Second Life" - VALUE "FileVersion", "2.0.0.200030" - VALUE "InternalName", "Second Life" - VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc." - VALUE "OriginalFilename", "SecondLife.exe" - VALUE "ProductName", "Second Life" - VALUE "ProductVersion", "2.0.0.200030" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_LL_ICON ICON "ll_icon.ico" +IDI_LCD_LL_ICON ICON "icon1.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +SPLASHSCREEN DIALOG 32, 32, 144, 34 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE +FONT 8, "MS Sans Serif" +BEGIN + ICON IDI_LL_ICON,IDC_STATIC,7,7,20,20 + LTEXT "Loading Second Life...",666,36,13,91,8 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + "SPLASHSCREEN", DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 137 + VERTGUIDE, 36 + TOPMARGIN, 7 + BOTTOMMARGIN, 27 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Cursor +// + +TOOLGRAB CURSOR "lltoolgrab.cur" +TOOLLAND CURSOR "lltoolland.cur" +TOOLZOOMIN CURSOR "lltoolzoomin.cur" +TOOLCREATE CURSOR "lltoolcreate.cur" +ARROWDRAG CURSOR "llarrowdrag.cur" +ARROW CURSOR "llarrow.cur" +NOLOCKED CURSOR "llnolocked.cur" +ARROWLOCKED CURSOR "llarrowlocked.cur" +GRABLOCKED CURSOR "llgrablocked.cur" +TOOLROTATE CURSOR "lltoolrotate.cur" +TOOLTRANSLATE CURSOR "lltooltranslate.cur" +TOOLSCALE CURSOR "lltoolscale.cur" +TOOLCAMERA CURSOR "lltoolcamera.cur" +TOOLPAN CURSOR "lltoolpan.cur" +TOOLFOCUS CURSOR "lltoolfocus.cur" +TOOLPICKOBJECT3 CURSOR "toolpickobject3.cur" +ARROWCOPY CURSOR "arrowcop.cur" +ARROWDRAGMULTI CURSOR "llarrowdragmulti.cur" +ARROWCOPYMULTI CURSOR "arrowcopmulti.cur" +TOOLPIPETTE CURSOR "toolpipette.cur" +TOOLPLAY CURSOR "toolplay.cur" +TOOLPAUSE CURSOR "toolpause.cur" +TOOLMEDIAOPEN CURSOR "toolmediaopen.cur" +TOOLOPEN CURSOR "toolopen.cur" +TOOLSIT CURSOR "toolsit.cur" +TOOLBUY CURSOR "toolbuy.cur" + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 2,0,0,3422 + PRODUCTVERSION 2,0,0,3422 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Linden Lab" + VALUE "FileDescription", "Second Life" + VALUE "FileVersion", "2.0.0.200030" + VALUE "InternalName", "Second Life" + VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc." + VALUE "OriginalFilename", "SecondLife.exe" + VALUE "ProductName", "Second Life" + VALUE "ProductVersion", "2.0.0.200030" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + -- cgit v1.2.3 From 1788f26b4c8fc91836feba298fd0d38564411341 Mon Sep 17 00:00:00 2001 From: angela Date: Mon, 8 Mar 2010 16:17:47 +0800 Subject: EXT-2418 Object hover tips no longer show price, description or owner --- indra/newview/lltoolpie.cpp | 23 +++++++++++++++++------ indra/newview/skins/default/xui/en/strings.xml | 4 +++- 2 files changed, 20 insertions(+), 7 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index fb78b6a415..94e43b1e0e 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -931,7 +931,7 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l if (media_impl.notNull() && (media_impl->hasMedia())) { is_media_displaying = true; - LLStringUtil::format_map_t args; + //LLStringUtil::format_map_t args; media_plugin = media_impl->getMediaPlugin(); if(media_plugin) @@ -955,13 +955,24 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l } } - // Avoid showing tip over media that's displaying + // Add price to tooltip for items on sale + bool for_sale = for_sale_selection(nodep); + if(for_sale) + { + LLStringUtil::format_map_t args; + args["[PRICE]"] = llformat ("%d", nodep->mSaleInfo.getSalePrice()); + tooltip_msg.append(LLTrans::getString("TooltipPrice", args) ); + } + + // Avoid showing tip over media that's displaying unless it's for sale // also check the primary node since sometimes it can have an action even though // the root node doesn't - bool needs_tip = !is_media_displaying && - (has_media || - needs_tooltip(nodep) || - needs_tooltip(LLSelectMgr::getInstance()->getPrimaryHoverNode())); + + bool needs_tip = (!is_media_displaying || + for_sale) && + (has_media || + needs_tooltip(nodep) || + needs_tooltip(LLSelectMgr::getInstance()->getPrimaryHoverNode())); if (show_all_object_tips || needs_tip) { diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 59c54f0cad..56147cd72b 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -76,7 +76,9 @@ Click to view this object's description Click to view this location on a map Click to run the secondlife:// command - + + + Teleport to -- cgit v1.2.3 From 72c6dc9698d0815bfd5b9ebefb401d92c6337500 Mon Sep 17 00:00:00 2001 From: Eli Linden Date: Mon, 8 Mar 2010 10:54:59 -0800 Subject: linguistic fixes --- indra/newview/skins/default/xui/de/floater_customize.xml | 4 ++-- indra/newview/skins/default/xui/de/floater_texture_ctrl.xml | 2 +- indra/newview/skins/default/xui/de/panel_edit_jacket.xml | 4 ++-- indra/newview/skins/default/xui/es/notifications.xml | 2 +- indra/newview/skins/default/xui/es/panel_login.xml | 2 +- indra/newview/skins/default/xui/es/panel_preferences_general.xml | 4 ++-- indra/newview/skins/default/xui/es/panel_preferences_graphics1.xml | 6 +++--- indra/newview/skins/default/xui/ja/floater_world_map.xml | 4 ++-- indra/newview/skins/default/xui/ja/panel_status_bar.xml | 2 +- indra/newview/skins/default/xui/ja/strings.xml | 2 +- 10 files changed, 16 insertions(+), 16 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/de/floater_customize.xml b/indra/newview/skins/default/xui/de/floater_customize.xml index f45ae53e99..f284d7cd6b 100644 --- a/indra/newview/skins/default/xui/de/floater_customize.xml +++ b/indra/newview/skins/default/xui/de/floater_customize.xml @@ -311,8 +311,8 @@ Jacke: - - + + -- cgit v1.2.3 From d9c64d221353cf4bfc1fffa69f3fc083e76f3b4c Mon Sep 17 00:00:00 2001 From: Richard Nelson Date: Wed, 17 Mar 2010 18:19:31 -0700 Subject: fix for radio item not being selected after picking internal browser reviewed by Callum --- indra/newview/skins/default/xui/en/panel_preferences_setup.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml index a2b15a2b87..15f8b33f5b 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml @@ -273,7 +273,7 @@ layout="topleft" left="0" name="internal" - value="0" + value="" tool_tip="Use the built-in web browser for help, web links, etc. This browser opens as a new window inside [APP_NAME]." top="0" width="480" /> @@ -283,7 +283,7 @@ layout="topleft" left_delta="0" name="external" - value="1" + value="true" tool_tip="Use the default system web browser for help, web links, etc. Not recommended if running full screen." top_delta="20" width="480" /> -- cgit v1.2.3 From a3a4235a8904cf4d6e565c82d5d90d8a64c15180 Mon Sep 17 00:00:00 2001 From: Kent Quirk Date: Thu, 18 Mar 2010 09:22:34 -0400 Subject: EXT-6321 -- clicking on an event in the main map now invokes the event details floater instead of trying to do a search for the event. --- indra/newview/llworldmapview.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp index 5edf72d4ae..27757d19e5 100644 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -45,6 +45,7 @@ #include "llagent.h" #include "llcallingcard.h" +#include "llcommandhandler.h" #include "llviewercontrol.h" #include "llfloatermap.h" #include "llfloaterworldmap.h" @@ -1726,7 +1727,10 @@ BOOL LLWorldMapView::handleDoubleClick( S32 x, S32 y, MASK mask ) id.toString(uuid_str); uuid_str = uuid_str.substr(28); sscanf(uuid_str.c_str(), "%X", &event_id); - LLFloaterReg::showInstance("search", LLSD().with("category", "events").with("id", event_id)); + // Invoke the event details floater if someone is clicking on an event. + LLSD params(LLSD::emptyArray()); + params.append(event_id); + LLCommandDispatcher::dispatch("event", params, LLSD(), NULL, true); break; } case MAP_ITEM_LAND_FOR_SALE: -- cgit v1.2.3 From d856f1ea9516f6d852dca56f16e08266747e3e96 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Thu, 18 Mar 2010 15:44:31 +0200 Subject: =?UTF-8?q?Low=20task=20(EXT-6261)=20[HARD=20CODED]=20Abuse=20Repo?= =?UTF-8?q?rt:=20After=20sending=20an=20abuse=20report,=20there=20is=20a?= =?UTF-8?q?=20popup=20window=20stating=20that=20the=20report=20is=20sent/u?= =?UTF-8?q?ploaded.=20The=20window=20isn=C2=B4t=20localized.=20-=20Removed?= =?UTF-8?q?=20hardcoded=20string.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed by Richard Nelson https://codereview.productengine.com/secondlife/r/23/ --HG-- branch : product-engine --- indra/newview/llfloaterreporter.cpp | 5 +++-- indra/newview/skins/default/xui/en/strings.xml | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp index 0f3c176cea..42a7eeff26 100644 --- a/indra/newview/llfloaterreporter.cpp +++ b/indra/newview/llfloaterreporter.cpp @@ -84,6 +84,8 @@ #include "llassetuploadresponders.h" #include "llagentui.h" +#include "lltrans.h" + const U32 INCLUDE_SCREENSHOT = 0x01 << 0; //----------------------------------------------------------------------------- @@ -372,8 +374,7 @@ void LLFloaterReporter::onClickSend(void *userdata) return; } - - LLUploadDialog::modalUploadDialog("Uploading...\n\nReport"); + LLUploadDialog::modalUploadDialog(LLTrans::getString("uploading_abuse_report")); // *TODO don't upload image if checkbox isn't checked std::string url = gAgent.getRegion()->getCapability("SendUserReport"); std::string sshot_url = gAgent.getRegion()->getCapability("SendUserReportWithScreenshot"); diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index c6d9e79267..d24873e9e6 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3070,4 +3070,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Officers Owners + Uploading... + +Abuse Report -- cgit v1.2.3 From bca2d21df6cc504bb090a81f231c90a8c544e063 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Thu, 18 Mar 2010 16:10:16 +0200 Subject: Updates for normal task EXT-6267 ([TRUNCATION] [EN XUI REWORK] - Side panel, profiles: the teleport button is truncated. need 'en' xui designer rework) * 'en/panel_profile.xml' was redesigned. Assuming that 'de' locale doesn't have width overridden: ** added ellipses to buttons' labels to get possibility found truncation easier (except for IM button) ** reduced distance between buttons ** reduced padding from left/right sides to 1 px But there are still issue in two locales: 'es' for "add friend" 'pt' for "teleport" These buttons can not be shown properly with default widths. Note: 'de' & 'fr' locales have overridden width (not removed in the patch) --HG-- branch : product-engine --- .../newview/skins/default/xui/en/panel_profile.xml | 33 ++++++++++++++-------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml index 412485e03f..9fcabc7722 100644 --- a/indra/newview/skins/default/xui/en/panel_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_profile.xml @@ -311,12 +311,15 @@ height="23" label="Add Friend" layout="topleft" - left="2" + left="1" mouse_opaque="false" name="add_friend" + pad_left="1" + pad_right="1" tool_tip="Offer friendship to the Resident" top="5" - width="80" /> + use_ellipses="true" + width="105" /> Date: Fri, 19 Mar 2010 12:09:06 -0500 Subject: EXT-6421 [crashhunters] Crash in LLViewerObject::getBoundingBoxAgent() added null guard to fix crash when the xform has no parent. reviewed by davep. --- indra/newview/llviewerobject.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index b5642d07a5..6c8346df86 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -4029,7 +4029,8 @@ LLBBox LLViewerObject::getBoundingBoxAgent() const avatar_parent = (LLViewerObject*)root_edit->getParent(); } - if (avatar_parent && avatar_parent->isAvatar() && root_edit && root_edit->mDrawable.notNull()) + if (avatar_parent && avatar_parent->isAvatar() && + root_edit && root_edit->mDrawable.notNull() && root_edit->mDrawable->getXform()->getParent()) { LLXform* parent_xform = root_edit->mDrawable->getXform()->getParent(); position_agent = (getPositionEdit() * parent_xform->getWorldRotation()) + parent_xform->getWorldPosition(); -- cgit v1.2.3 From b952a5e5851d1a8bc2a45f00248b051497fec71f Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Fri, 19 Mar 2010 13:21:39 -0400 Subject: EXT-6479 : Inspect Object floater doesn't update highlight and selection EXT-4013 : Functionality loss: Inspect object (aka see a list of creators / timestamps for all prims in a linkset) Simple fix to only use Inspect floater if it's actually active (i.e. visible). --- indra/newview/llselectmgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index c4ca4a65f8..9147bd1cba 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -4937,7 +4937,7 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud) { LLUUID inspect_item_id= LLUUID::null; LLFloaterInspect* inspect_instance = LLFloaterReg::getTypedInstance("inspect"); - if(inspect_instance) + if(inspect_instance && inspect_instance->getVisible()) { inspect_item_id = inspect_instance->getSelectedUUID(); } -- cgit v1.2.3 From 8cd1f7d1e158632ef5d7f01b685105647e42b56f Mon Sep 17 00:00:00 2001 From: Eli Linden Date: Fri, 19 Mar 2010 11:11:42 -0700 Subject: FR linguistic; CT-575 IT set7 translation for beta 5 --- .../default/xui/fr/floater_day_cycle_options.xml | 2 +- .../skins/default/xui/fr/mime_types_linux.xml | 2 +- .../skins/default/xui/fr/mime_types_mac.xml | 2 +- .../default/xui/fr/panel_prim_media_controls.xml | 2 +- .../newview/skins/default/xui/it/floater_about.xml | 16 +- .../skins/default/xui/it/floater_about_land.xml | 22 +- .../default/xui/it/floater_animation_preview.xml | 3 + .../default/xui/it/floater_avatar_textures.xml | 55 +-- .../skins/default/xui/it/floater_bulk_perms.xml | 2 +- .../skins/default/xui/it/floater_buy_currency.xml | 2 +- .../skins/default/xui/it/floater_buy_land.xml | 258 ++++++------- .../skins/default/xui/it/floater_color_picker.xml | 2 +- .../skins/default/xui/it/floater_customize.xml | 108 +++--- .../skins/default/xui/it/floater_help_browser.xml | 7 +- indra/newview/skins/default/xui/it/floater_im.xml | 2 +- .../skins/default/xui/it/floater_im_container.xml | 2 +- .../skins/default/xui/it/floater_incoming_call.xml | 6 + .../skins/default/xui/it/floater_inventory.xml | 8 +- .../default/xui/it/floater_live_lsleditor.xml | 2 +- .../skins/default/xui/it/floater_lsl_guide.xml | 2 +- indra/newview/skins/default/xui/it/floater_map.xml | 2 +- .../skins/default/xui/it/floater_media_browser.xml | 8 +- .../skins/default/xui/it/floater_moveview.xml | 4 +- .../skins/default/xui/it/floater_outgoing_call.xml | 12 + .../skins/default/xui/it/floater_pay_object.xml | 2 +- .../skins/default/xui/it/floater_preferences.xml | 2 +- .../default/xui/it/floater_preview_animation.xml | 2 +- .../default/xui/it/floater_preview_gesture.xml | 3 + .../default/xui/it/floater_preview_notecard.xml | 6 +- .../skins/default/xui/it/floater_preview_sound.xml | 2 +- .../default/xui/it/floater_preview_texture.xml | 7 +- .../skins/default/xui/it/floater_report_abuse.xml | 4 +- .../default/xui/it/floater_script_preview.xml | 2 +- .../skins/default/xui/it/floater_select_key.xml | 2 +- .../default/xui/it/floater_settings_debug.xml | 8 +- .../skins/default/xui/it/floater_snapshot.xml | 21 +- .../skins/default/xui/it/floater_sys_well.xml | 2 +- .../skins/default/xui/it/floater_texture_ctrl.xml | 2 +- .../skins/default/xui/it/floater_top_objects.xml | 69 ++-- .../default/xui/it/floater_voice_controls.xml | 17 +- .../default/xui/it/floater_wearable_save_as.xml | 2 +- .../default/xui/it/floater_whitelist_entry.xml | 2 +- .../skins/default/xui/it/floater_world_map.xml | 69 +--- .../skins/default/xui/it/inspect_avatar.xml | 2 +- .../skins/default/xui/it/menu_avatar_self.xml | 8 +- .../default/xui/it/menu_inspect_avatar_gear.xml | 2 + .../skins/default/xui/it/menu_inventory.xml | 11 +- .../skins/default/xui/it/menu_inventory_add.xml | 2 +- indra/newview/skins/default/xui/it/menu_login.xml | 2 +- indra/newview/skins/default/xui/it/menu_object.xml | 12 +- .../skins/default/xui/it/menu_participant_list.xml | 18 +- .../skins/default/xui/it/menu_people_nearby.xml | 3 + .../xui/it/menu_people_nearby_multiselect.xml | 1 + .../skins/default/xui/it/menu_profile_overflow.xml | 6 + indra/newview/skins/default/xui/it/menu_viewer.xml | 80 ++-- .../newview/skins/default/xui/it/notifications.xml | 191 +++++----- .../default/xui/it/panel_adhoc_control_panel.xml | 16 +- .../default/xui/it/panel_avatar_list_item.xml | 1 + .../default/xui/it/panel_block_list_sidetray.xml | 6 +- .../skins/default/xui/it/panel_bottomtray.xml | 17 +- .../skins/default/xui/it/panel_classified_info.xml | 17 +- .../skins/default/xui/it/panel_edit_profile.xml | 5 +- .../newview/skins/default/xui/it/panel_friends.xml | 2 +- .../default/xui/it/panel_group_control_panel.xml | 20 +- .../skins/default/xui/it/panel_group_general.xml | 24 +- .../default/xui/it/panel_group_info_sidetray.xml | 43 ++- .../skins/default/xui/it/panel_group_invite.xml | 10 +- .../default/xui/it/panel_group_land_money.xml | 106 +++--- .../skins/default/xui/it/panel_group_list_item.xml | 1 + .../skins/default/xui/it/panel_group_notices.xml | 4 +- .../skins/default/xui/it/panel_group_notify.xml | 2 +- .../skins/default/xui/it/panel_group_roles.xml | 4 +- .../default/xui/it/panel_im_control_panel.xml | 36 +- .../skins/default/xui/it/panel_landmark_info.xml | 1 + .../skins/default/xui/it/panel_landmarks.xml | 2 +- indra/newview/skins/default/xui/it/panel_login.xml | 34 +- .../skins/default/xui/it/panel_main_inventory.xml | 2 +- indra/newview/skins/default/xui/it/panel_me.xml | 4 +- .../xui/it/panel_media_settings_security.xml | 6 +- .../skins/default/xui/it/panel_my_profile.xml | 58 ++- .../skins/default/xui/it/panel_navigation_bar.xml | 9 +- indra/newview/skins/default/xui/it/panel_notes.xml | 2 +- .../default/xui/it/panel_outfits_inventory.xml | 17 +- .../it/panel_outfits_inventory_gear_default.xml | 4 +- .../newview/skins/default/xui/it/panel_people.xml | 18 +- .../skins/default/xui/it/panel_place_profile.xml | 57 +-- .../newview/skins/default/xui/it/panel_places.xml | 11 +- .../default/xui/it/panel_preferences_advanced.xml | 41 +- .../default/xui/it/panel_preferences_alerts.xml | 6 +- .../default/xui/it/panel_preferences_chat.xml | 12 +- .../default/xui/it/panel_preferences_general.xml | 19 +- .../default/xui/it/panel_preferences_graphics1.xml | 4 +- .../default/xui/it/panel_preferences_privacy.xml | 7 +- .../default/xui/it/panel_preferences_setup.xml | 22 +- .../default/xui/it/panel_preferences_sound.xml | 17 +- .../default/xui/it/panel_prim_media_controls.xml | 61 ++- .../newview/skins/default/xui/it/panel_profile.xml | 64 ++-- .../skins/default/xui/it/panel_region_covenant.xml | 2 +- .../skins/default/xui/it/panel_region_estate.xml | 9 +- .../skins/default/xui/it/panel_region_texture.xml | 4 +- .../skins/default/xui/it/panel_side_tray.xml | 23 +- .../skins/default/xui/it/panel_status_bar.xml | 6 +- .../default/xui/it/panel_teleport_history.xml | 4 + .../skins/default/xui/it/sidepanel_appearance.xml | 11 +- .../skins/default/xui/it/sidepanel_item_info.xml | 55 +-- .../skins/default/xui/it/sidepanel_task_info.xml | 97 ++--- indra/newview/skins/default/xui/it/strings.xml | 418 +++++++++++---------- 107 files changed, 1283 insertions(+), 1231 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml index 15cc6cd1ba..951670ec7e 100644 --- a/indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml +++ b/indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml @@ -84,7 +84,7 @@ Prévisualiser : -