diff options
Diffstat (limited to 'indra/newview')
91 files changed, 583 insertions, 4809 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index aa59b70ee4..26e6c485f3 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -394,7 +394,6 @@ set(viewer_SOURCE_FILES llpanelplacestab.cpp llpanelprimmediacontrols.cpp llpanelprofile.cpp - llpanelprofileview.cpp llpanelsnapshot.cpp llpanelsnapshotinventory.cpp llpanelsnapshotlocal.cpp @@ -962,7 +961,6 @@ set(viewer_HEADER_FILES llpanelplacestab.h llpanelprimmediacontrols.h llpanelprofile.h - llpanelprofileview.h llpanelsnapshot.h llpanelteleporthistory.h llpaneltiptoast.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index e9b4d4d96d..cf14886e9f 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1902,7 +1902,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>0</integer> + <integer>1</integer> </map> <key>DebugInventoryFilters</key> <map> @@ -12947,7 +12947,7 @@ <key>Type</key> <string>U32</string> <key>Value</key> - <integer>768</integer> + <integer>600</integer> </map> <key>WindowHeight</key> <map> @@ -12980,7 +12980,7 @@ <key>Type</key> <string>U32</string> <key>Value</key> - <integer>1024</integer> + <integer>960</integer> </map> <key>WindowWidth</key> <map> diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml index f2192a75ad..8862355bfd 100644 --- a/indra/newview/app_settings/toolbars.xml +++ b/indra/newview/app_settings/toolbars.xml @@ -20,5 +20,6 @@ <command name="places"/> <command name="voice"/> <command name="minimap"/> + <command name="snapshot"/> </left_toolbar> </toolbars> diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index f8b204eca0..2c59a59c0c 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -205,6 +205,12 @@ void LLAgent::releaseMicrophone(const LLSD& name) } // static +void LLAgent::toggleMicrophone(const LLSD& name) +{ + LLVoiceClient::getInstance()->toggleUserPTTState(); +} + +// static bool LLAgent::isMicrophoneOn(const LLSD& sdname) { return LLVoiceClient::getInstance()->getUserPTTState(); @@ -331,12 +337,6 @@ void LLAgent::init() LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback(boost::bind(&LLAgent::parcelChangedCallback)); - LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsActionAllowed", boost::bind(&LLAgent::isActionAllowed, _2)); - LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Agent.PressMicrophone", boost::bind(&LLAgent::pressMicrophone, _2)); - LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Agent.ReleaseMicrophone", boost::bind(&LLAgent::releaseMicrophone, _2)); - LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsMicrophoneOn", boost::bind(&LLAgent::isMicrophoneOn, _2)); - - mInitialized = TRUE; } diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 0f7ed9ce68..740770bbdf 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -292,7 +292,9 @@ public: static void pressMicrophone(const LLSD& name); static void releaseMicrophone(const LLSD& name); + static void toggleMicrophone(const LLSD& name); static bool isMicrophoneOn(const LLSD& sdname); + static bool isActionAllowed(const LLSD& sdname); private: bool mVoiceConnected; @@ -595,7 +597,6 @@ public: private: bool mCanEditParcel; - static bool isActionAllowed(const LLSD& sdname); static void parcelChangedCallback(); /******************************************************************************** diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 9b8f5c5961..106b272767 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2861,22 +2861,20 @@ bool LLAppViewer::initWindow() // always start windowed BOOL ignorePixelDepth = gSavedSettings.getBOOL("IgnorePixelDepth"); - // clamp to minimum window size - U32 min_window_width=gSavedSettings.getU32("MinWindowWidth"); - U32 window_width=gSavedSettings.getU32("WindowWidth"); - if ( window_width < min_window_width ) - window_width=min_window_width; - - U32 min_window_height=gSavedSettings.getU32("MinWindowHeight"); - U32 window_height=gSavedSettings.getU32("WindowHeight"); - if ( window_height < min_window_height ) - window_height=min_window_height; - - gViewerWindow = new LLViewerWindow(gWindowTitle, - VIEWER_WINDOW_CLASSNAME, - gSavedSettings.getS32("WindowX"), gSavedSettings.getS32("WindowY"), - window_width, window_height, - gSavedSettings.getBOOL("WindowFullScreen"), ignorePixelDepth); + LLViewerWindow::Params window_params; + window_params + .title(gWindowTitle) + .name(VIEWER_WINDOW_CLASSNAME) + .x(gSavedSettings.getS32("WindowX")) + .y(gSavedSettings.getS32("WindowY")) + .width(gSavedSettings.getU32("WindowWidth")) + .height(gSavedSettings.getU32("WindowHeight")) + .min_width(gSavedSettings.getU32("MinWindowWidth")) + .min_height(gSavedSettings.getU32("MinWindowHeight")) + .fullscreen(gSavedSettings.getBOOL("WindowFullScreen")) + .ignore_pixel_depth(ignorePixelDepth); + + gViewerWindow = new LLViewerWindow(window_params); LL_INFOS("AppInit") << "gViewerwindow created." << LL_ENDL; diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 10fd6b739e..2f331bdab1 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -302,6 +302,26 @@ void LLAvatarActions::startConference(const uuid_vec_t& ids) make_ui_sound("UISndStartIM"); } +static const char* get_profile_floater_name(const LLUUID& avatar_id) +{ + // Use different floater XML for our profile to be able to save its rect. + return avatar_id == gAgentID ? "my_profile" : "profile"; +} + +static const LLRect& get_preferred_profile_rect(const LLUUID& avatar_id) +{ + if (avatar_id == gAgentID && + LLFloaterReg::getInstance(get_profile_floater_name(avatar_id))->hasSavedRect()) + { + return LLRect::null; // no preference, use saved rect + } + + // Preferred size for all residents' profiles + // and default size for our own profile. + static LLCachedControl<LLRect> profile_rect(gSavedSettings, "WebProfileRect"); + return profile_rect; +} + static void on_avatar_name_show_profile(const LLUUID& agent_id, const LLAvatarName& av_name) { std::string username = av_name.mUsername; @@ -315,14 +335,13 @@ static void on_avatar_name_show_profile(const LLUUID& agent_id, const LLAvatarNa // PROFILES: open in webkit window const bool show_chrome = false; - static LLCachedControl<LLRect> profile_rect(gSavedSettings, "WebProfileRect"); LLFloaterWebContent::Params p; p.url(url). id(agent_id.asString()). show_chrome(show_chrome). window_class("profile"). - preferred_media_size(profile_rect); - LLFloaterReg::showInstance("profile", p); + preferred_media_size(get_preferred_profile_rect(agent_id)); + LLFloaterReg::showInstance(get_profile_floater_name(agent_id), p); } // static @@ -339,14 +358,15 @@ bool LLAvatarActions::profileVisible(const LLUUID& id) { LLSD sd; sd["id"] = id; - LLFloaterWebContent *browser = dynamic_cast<LLFloaterWebContent*> (LLFloaterReg::findInstance("profile", sd)); + LLFloater* browser = getProfileFloater(id); return browser && browser->isShown(); } //static LLFloater* LLAvatarActions::getProfileFloater(const LLUUID& id) { - LLFloaterWebContent *browser = dynamic_cast<LLFloaterWebContent*> (LLFloaterReg::findInstance("profile", LLSD().with("id", id))); + LLFloaterWebContent *browser = dynamic_cast<LLFloaterWebContent*> + (LLFloaterReg::findInstance(get_profile_floater_name(id), LLSD().with("id", id))); return browser; } @@ -355,7 +375,7 @@ void LLAvatarActions::hideProfile(const LLUUID& id) { LLSD sd; sd["id"] = id; - LLFloaterWebContent *browser = dynamic_cast<LLFloaterWebContent*> (LLFloaterReg::findInstance("profile", sd)); + LLFloater* browser = getProfileFloater(id); if (browser) { browser->closeFloater(); diff --git a/indra/newview/llchicletbar.cpp b/indra/newview/llchicletbar.cpp index a17e1d13f5..1bd5a571a5 100644 --- a/indra/newview/llchicletbar.cpp +++ b/indra/newview/llchicletbar.cpp @@ -35,6 +35,7 @@ // newview includes #include "llchiclet.h" #include "llimfloater.h" // for LLIMFloater +#include "llpaneltopinfobar.h" #include "llsyswellwindow.h" namespace @@ -181,6 +182,9 @@ BOOL LLChicletBar::postBuild() showWellButton("im_well", !LLIMWellWindow::getInstance()->isWindowEmpty()); showWellButton("notification_well", !LLNotificationWellWindow::getInstance()->isWindowEmpty()); + LLPanelTopInfoBar::instance().setResizeCallback(boost::bind(&LLChicletBar::fitWithTopInfoBar, this)); + LLPanelTopInfoBar::instance().setVisibleCallback(boost::bind(&LLChicletBar::fitWithTopInfoBar, this)); + return TRUE; } @@ -338,3 +342,31 @@ S32 LLChicletBar::getChicletPanelShrinkHeadroom() const llassert(shrink_headroom >= 0); // the panel cannot get narrower than the minimum return shrink_headroom; } + +void LLChicletBar::fitWithTopInfoBar() +{ + LLPanelTopInfoBar& top_info_bar = LLPanelTopInfoBar::instance(); + + LLRect rect = getRect(); + S32 width = rect.getWidth(); + + if (top_info_bar.getVisible()) + { + S32 delta = top_info_bar.calcScreenRect().mRight - calcScreenRect().mLeft; + rect.setLeftTopAndSize(rect.mLeft + delta, rect.mTop, rect.getWidth(), rect.getHeight()); + width = rect.getWidth() - delta; + } + else + { + LLView* parent = getParent(); + if (parent) + { + LLRect parent_rect = parent->getRect(); + rect.setLeftTopAndSize(0, rect.mTop, rect.getWidth(), rect.getHeight()); + width = parent_rect.getWidth(); + } + } + + setRect(rect); + LLPanel::reshape(width, rect.getHeight(), false); +} diff --git a/indra/newview/llchicletbar.h b/indra/newview/llchicletbar.h index 224dfbb647..1427bf95e0 100644 --- a/indra/newview/llchicletbar.h +++ b/indra/newview/llchicletbar.h @@ -89,6 +89,12 @@ private: */ S32 getChicletPanelShrinkHeadroom() const; + /** + * function adjusts Chiclet bar width to prevent overlapping with Mini-Location bar + * EXP-1463 + */ + void fitWithTopInfoBar(); + protected: LLChicletBar(const LLSD& key = LLSD()); diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 881f087d7b..c716a7ecf7 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -26,6 +26,10 @@ #include "llviewerprecompiledheaders.h" +#if LL_MSVC +#pragma warning (disable : 4263) +#pragma warning (disable : 4264) +#endif #include "dae.h" //#include "dom.h" #include "dom/domAsset.h" @@ -47,6 +51,10 @@ #include "dom/domScale.h" #include "dom/domTranslate.h" #include "dom/domVisual_scene.h" +#if LL_MSVC +#pragma warning (default : 4263) +#pragma warning (default : 4264) +#endif #include "llfloatermodelpreview.h" diff --git a/indra/newview/llfloaterwindowsize.cpp b/indra/newview/llfloaterwindowsize.cpp index a70f2af11a..ec161018b8 100644 --- a/indra/newview/llfloaterwindowsize.cpp +++ b/indra/newview/llfloaterwindowsize.cpp @@ -58,33 +58,12 @@ bool extractWindowSizeFromString(const std::string& instr, U32 *width, U32 *heig } -///---------------------------------------------------------------------------- -/// Class LLFloaterWindowSize -///---------------------------------------------------------------------------- -class LLFloaterWindowSize -: public LLFloater -{ - friend class LLFloaterReg; -private: - LLFloaterWindowSize(const LLSD& key); - virtual ~LLFloaterWindowSize(); - -public: - /*virtual*/ BOOL postBuild(); - void initWindowSizeControls(); - void onClickSet(); - void onClickCancel(); -}; - - LLFloaterWindowSize::LLFloaterWindowSize(const LLSD& key) : LLFloater(key) -{ -} +{} LLFloaterWindowSize::~LLFloaterWindowSize() -{ -} +{} BOOL LLFloaterWindowSize::postBuild() { @@ -145,13 +124,3 @@ void LLFloaterWindowSize::onClickCancel() { closeFloater(); } - -///---------------------------------------------------------------------------- -/// LLFloaterWindowSizeUtil -///---------------------------------------------------------------------------- -void LLFloaterWindowSizeUtil::registerFloater() -{ - LLFloaterReg::add("window_size", "floater_window_size.xml", - &LLFloaterReg::build<LLFloaterWindowSize>); - -} diff --git a/indra/newview/llfloaterwindowsize.h b/indra/newview/llfloaterwindowsize.h index 40f1a25bb3..a71e5e273c 100644 --- a/indra/newview/llfloaterwindowsize.h +++ b/indra/newview/llfloaterwindowsize.h @@ -26,10 +26,24 @@ #ifndef LLFLOATERWINDOWSIZE_H #define LLFLOATERWINDOWSIZE_H -// Allow user to set the window size for filming tutorials, machinima, etc -namespace LLFloaterWindowSizeUtil +#include "llfloater.h" + +///---------------------------------------------------------------------------- +/// Class LLFloaterWindowSize +///---------------------------------------------------------------------------- +class LLFloaterWindowSize + : public LLFloater { - void registerFloater(); -} + friend class LLFloaterReg; +private: + LLFloaterWindowSize(const LLSD& key); + virtual ~LLFloaterWindowSize(); + +public: + /*virtual*/ BOOL postBuild(); + void initWindowSizeControls(); + void onClickSet(); + void onClickCancel(); +}; #endif diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 916297abf1..0eaa0a4627 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -195,20 +195,6 @@ BOOL LLInvFVBridge::isLink() const return mIsLink; } -// Is a "System" folder -// System folders are predefined named folders that have a specific preferred type -// e.g. "Textures" which has an FT_TEXTURE preferred type. -// Those are folders used to route incoming items in the current (soon to be obsolete) inventory -// asset routing. -// If a folder uses the same name as a predefined folder but is not of the same preferred type -// or if it has a preferred type but a different name, it will not be considered a system folder. -// *TODO: Test that logic in all languages -bool LLInvFVBridge::isSystemFolder() const -{ - LLFolderType::EType preferred_type = getPreferredType(); - return (preferred_type == LLFolderType::FT_NONE ? false : LLViewerFolderType::lookupTypeFromNewCategoryName(getDisplayName()) == preferred_type); -} - /*virtual*/ /** * @brief Adds this item into clipboard storage diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 9832c683c6..2d625befb4 100644 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -72,7 +72,6 @@ public: BOOL canShare() const; BOOL canListOnMarketplace() const; BOOL canListOnMarketplaceNow() const; - bool isSystemFolder() const; // true if is a "System" folder //-------------------------------------------------------------------- // LLInvFVBridge functionality diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index 516b47e616..d54bce4619 100644 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -36,6 +36,7 @@ #include "llviewercontrol.h" #include "llfolderview.h" #include "llinventorybridge.h" +#include "llviewerfoldertype.h" // linden library includes #include "lltrans.h" @@ -117,7 +118,7 @@ bool LLInventoryFilter::checkFolder(const LLFolderViewFolder* folder) const LLFolderViewEventListener* listener = folder->getListener(); const LLUUID folder_id = listener->getUUID(); - + if (mFilterOps.mFilterTypes & FILTERTYPE_CATEGORY) { // Can only filter categories for items in your inventory @@ -206,6 +207,23 @@ BOOL LLInventoryFilter::checkAgainstFilterType(const LLFolderViewItem* item) con } } + //////////////////////////////////////////////////////////////////////////////// + // FILTERTYPE_EMPTYFOLDERS + // Pass if this item is a folder and is not a system folder that should be hidden + if (filterTypes & FILTERTYPE_EMPTYFOLDERS) + { + if (object_type == LLInventoryType::IT_CATEGORY) + { + bool is_hidden_if_empty = LLViewerFolderType::lookupIsHiddenIfEmpty(listener->getPreferredType()); + if (is_hidden_if_empty) + { + // Force the fetching of those folders so they are hidden iff they really are empty... + gInventory.fetchDescendentsOf(object_id); + return FALSE; + } + } + } + return TRUE; } @@ -343,6 +361,11 @@ void LLInventoryFilter::setFilterWearableTypes(U64 types) mFilterOps.mFilterTypes |= FILTERTYPE_WEARABLE; } +void LLInventoryFilter::setFilterEmptySystemFolders() +{ + mFilterOps.mFilterTypes |= FILTERTYPE_EMPTYFOLDERS; +} + void LLInventoryFilter::setFilterUUID(const LLUUID& object_id) { if (mFilterOps.mFilterUUID == LLUUID::null) diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h index f9460822f7..bba24ac652 100644 --- a/indra/newview/llinventoryfilter.h +++ b/indra/newview/llinventoryfilter.h @@ -57,7 +57,8 @@ public: FILTERTYPE_CATEGORY = 0x1 << 1, // search by folder type FILTERTYPE_UUID = 0x1 << 2, // find the object with UUID and any links to it FILTERTYPE_DATE = 0x1 << 3, // search by date range - FILTERTYPE_WEARABLE = 0x1 << 4 // search by wearable type + FILTERTYPE_WEARABLE = 0x1 << 4, // search by wearable type + FILTERTYPE_EMPTYFOLDERS = 0x1 << 5 // pass if folder is not a system folder to be hidden if empty }; enum EFilterLink @@ -88,6 +89,7 @@ public: void setFilterCategoryTypes(U64 types); void setFilterUUID(const LLUUID &object_id); void setFilterWearableTypes(U64 types); + void setFilterEmptySystemFolders(); void updateFilterTypes(U64 types, U64& current_types); void setFilterSubString(const std::string& string); diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index aff48b1961..d06374d232 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -240,6 +240,12 @@ void LLInventoryPanel::initFromParams(const LLInventoryPanel::Params& params) getFilter()->setFilterCategoryTypes(getFilter()->getFilterCategoryTypes() & ~(1ULL << LLFolderType::FT_INBOX)); getFilter()->setFilterCategoryTypes(getFilter()->getFilterCategoryTypes() & ~(1ULL << LLFolderType::FT_OUTBOX)); + // set the filter for the empty folder if the debug setting is on + if (gSavedSettings.getBOOL("DebugHideEmptySystemFolders")) + { + getFilter()->setFilterEmptySystemFolders(); + } + // Initialize base class params. LLPanel::initFromParams(params); } @@ -618,41 +624,22 @@ LLFolderView * LLInventoryPanel::createFolderView(LLInvFVBridge * bridge, bool u LLFolderViewFolder * LLInventoryPanel::createFolderViewFolder(LLInvFVBridge * bridge) { - // Create the folder ui widget, unless it's an empty system folder that should be hidden - // Note : we still let the code create a listener for it (in case something shows up in it) - // but we simply skip creating the ui ctrl and adding it. - // *TODO : Need to be verified: if the listener is triggered and something added, will the code - // crash (because it's assuming, wrongly, that the uictrl exists)? - - bool is_system_folder = bridge->isSystemFolder(); - bool is_hidden_if_empty = LLViewerFolderType::lookupIsHiddenIfEmpty(bridge->getPreferredType()); - bool is_empty = (mInventory->categoryHasChildren(bridge->getUUID()) != LLInventoryModel::CHILDREN_YES); - - if (!is_system_folder || !is_empty || !is_hidden_if_empty) - { - LLFolderViewFolder::Params params; + LLFolderViewFolder::Params params; - params.name = bridge->getDisplayName(); - params.icon = bridge->getIcon(); - params.icon_open = bridge->getOpenIcon(); - - if (mShowItemLinkOverlays) // if false, then links show up just like normal items - { - params.icon_overlay = LLUI::getUIImage("Inv_Link"); - } - - params.root = mFolderRoot; - params.listener = bridge; - params.tool_tip = params.name; + params.name = bridge->getDisplayName(); + params.icon = bridge->getIcon(); + params.icon_open = bridge->getOpenIcon(); - return LLUICtrlFactory::create<LLFolderViewFolder>(params); - } - else + if (mShowItemLinkOverlays) // if false, then links show up just like normal items { - // It's an empty system folder that should be hidden -> return NULL - return NULL; + params.icon_overlay = LLUI::getUIImage("Inv_Link"); } + + params.root = mFolderRoot; + params.listener = bridge; + params.tool_tip = params.name; + return LLUICtrlFactory::create<LLFolderViewFolder>(params); } LLFolderViewItem * LLInventoryPanel::createFolderViewItem(LLInvFVBridge * bridge) diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index c43c95a366..b8c42a85e6 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -470,7 +470,7 @@ void LLNearbyChatHandler::initChannel() -void LLNearbyChatHandler::processChat(const LLChat& chat_msg, // WARNING - not really const, see hack below changing chat_msg.mText +void LLNearbyChatHandler::processChat(const LLChat& chat_msg, const LLSD &args) { if(chat_msg.mMuted == TRUE) @@ -479,28 +479,10 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, // WARNING - not if(chat_msg.mText.empty()) return;//don't process empty messages - // Handle irc styled messages for toast panel - // HACK ALERT - changes mText, stripping out IRC style "/me" prefixes - LLChat& tmp_chat = const_cast<LLChat&>(chat_msg); - std::string original_message = tmp_chat.mText; // Save un-modified version of chat text - if (tmp_chat.mChatStyle == CHAT_STYLE_IRC) - { - if(!tmp_chat.mFromName.empty()) - tmp_chat.mText = tmp_chat.mFromName + tmp_chat.mText.substr(3); - else - tmp_chat.mText = tmp_chat.mText.substr(3); - } - LLFloater* chat_bar = LLFloaterReg::getInstance("chat_bar"); LLNearbyChat* nearby_chat = chat_bar->findChild<LLNearbyChat>("nearby_chat"); - { - //sometimes its usefull to have no name at all... - //if(tmp_chat.mFromName.empty() && tmp_chat.mFromID!= LLUUID::null) - // tmp_chat.mFromName = tmp_chat.mFromID.asString(); - } - // Build notification data LLSD notification; notification["message"] = chat_msg.mText; @@ -543,7 +525,7 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, // WARNING - not LLViewerChat::getChatColor(chat_msg,txt_color); - LLFloaterScriptDebug::addScriptLine(original_message, // Send full message with "/me" style prefix + LLFloaterScriptDebug::addScriptLine(chat_msg.mText, chat_msg.mFromName, txt_color, chat_msg.mFromID); @@ -597,6 +579,21 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, // WARNING - not if(channel) { + // Handle IRC styled messages. + std::string toast_msg; + if (chat_msg.mChatStyle == CHAT_STYLE_IRC) + { + if (!chat_msg.mFromName.empty()) + { + toast_msg += chat_msg.mFromName; + } + toast_msg += chat_msg.mText.substr(3); + } + else + { + toast_msg = chat_msg.mText; + } + // Add a nearby chat toast. LLUUID id; id.generate(); @@ -608,6 +605,7 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, // WARNING - not notification["text_color"] = r_color_name; notification["color_alpha"] = r_color_alpha; notification["font_size"] = (S32)LLViewerChat::getChatFontSize() ; + notification["message"] = toast_msg; channel->addNotification(notification); } } diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index 988e801b61..679b1bdcda 100644 --- a/indra/newview/llpanelavatar.cpp +++ b/indra/newview/llpanelavatar.cpp @@ -120,269 +120,6 @@ BOOL LLDropTarget::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, static LLDefaultChildRegistry::Register<LLDropTarget> r("drop_target"); -static LLRegisterPanelClassWrapper<LLPanelAvatarProfile> t_panel_profile("panel_profile"); -static LLRegisterPanelClassWrapper<LLPanelMyProfile> t_panel_my_profile("panel_my_profile"); -static LLRegisterPanelClassWrapper<LLPanelAvatarNotes> t_panel_notes("panel_notes"); - -//----------------------------------------------------------------------------- -// LLPanelAvatarNotes() -//----------------------------------------------------------------------------- -LLPanelAvatarNotes::LLPanelAvatarNotes() -: LLPanelProfileTab() -{ - -} - -void LLPanelAvatarNotes::updateData() -{ - LLAvatarPropertiesProcessor::getInstance()-> - sendAvatarNotesRequest(getAvatarId()); -} - -BOOL LLPanelAvatarNotes::postBuild() -{ - childSetCommitCallback("status_check", boost::bind(&LLPanelAvatarNotes::onCommitRights, this), NULL); - childSetCommitCallback("map_check", boost::bind(&LLPanelAvatarNotes::onCommitRights, this), NULL); - childSetCommitCallback("objects_check", boost::bind(&LLPanelAvatarNotes::onCommitRights, this), NULL); - - childSetCommitCallback("add_friend", boost::bind(&LLPanelAvatarNotes::onAddFriendButtonClick, this),NULL); - childSetCommitCallback("im", boost::bind(&LLPanelAvatarNotes::onIMButtonClick, this), NULL); - childSetCommitCallback("call", boost::bind(&LLPanelAvatarNotes::onCallButtonClick, this), NULL); - childSetCommitCallback("teleport", boost::bind(&LLPanelAvatarNotes::onTeleportButtonClick, this), NULL); - childSetCommitCallback("share", boost::bind(&LLPanelAvatarNotes::onShareButtonClick, this), NULL); - childSetCommitCallback("show_on_map_btn", (boost::bind( - &LLPanelAvatarNotes::onMapButtonClick, this)), NULL); - - LLTextEditor* te = getChild<LLTextEditor>("notes_edit"); - te->setCommitCallback(boost::bind(&LLPanelAvatarNotes::onCommitNotes,this)); - te->setCommitOnFocusLost(TRUE); - - resetControls(); - resetData(); - - LLVoiceClient::getInstance()->addObserver((LLVoiceClientStatusObserver*)this); - - return TRUE; -} - -void LLPanelAvatarNotes::onOpen(const LLSD& key) -{ - LLPanelProfileTab::onOpen(key); - - fillRightsData(); - - //Disable "Add Friend" button for friends. - getChildView("add_friend")->setEnabled(!LLAvatarActions::isFriend(getAvatarId())); -} - -void LLPanelAvatarNotes::fillRightsData() -{ - getChild<LLUICtrl>("status_check")->setValue(FALSE); - getChild<LLUICtrl>("map_check")->setValue(FALSE); - getChild<LLUICtrl>("objects_check")->setValue(FALSE); - - const LLRelationship* relation = LLAvatarTracker::instance().getBuddyInfo(getAvatarId()); - // If true - we are viewing friend's profile, enable check boxes and set values. - if(relation) - { - S32 rights = relation->getRightsGrantedTo(); - - getChild<LLUICtrl>("status_check")->setValue(LLRelationship::GRANT_ONLINE_STATUS & rights ? TRUE : FALSE); - getChild<LLUICtrl>("map_check")->setValue(LLRelationship::GRANT_MAP_LOCATION & rights ? TRUE : FALSE); - getChild<LLUICtrl>("objects_check")->setValue(LLRelationship::GRANT_MODIFY_OBJECTS & rights ? TRUE : FALSE); - - } - - enableCheckboxes(NULL != relation); -} - -void LLPanelAvatarNotes::onCommitNotes() -{ - std::string notes = getChild<LLUICtrl>("notes_edit")->getValue().asString(); - LLAvatarPropertiesProcessor::getInstance()-> sendNotes(getAvatarId(),notes); -} - -void LLPanelAvatarNotes::rightsConfirmationCallback(const LLSD& notification, - const LLSD& response, S32 rights) -{ - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - if (option == 0) - { - LLAvatarPropertiesProcessor::getInstance()->sendFriendRights( - getAvatarId(), rights); - } - else - { - getChild<LLUICtrl>("objects_check")->setValue( - getChild<LLUICtrl>("objects_check")->getValue().asBoolean() ? FALSE : TRUE); - } -} - -void LLPanelAvatarNotes::confirmModifyRights(bool grant, S32 rights) -{ - LLSD args; - args["NAME"] = LLSLURL("agent", getAvatarId(), "displayname").getSLURLString(); - - if (grant) - { - LLNotificationsUtil::add("GrantModifyRights", args, LLSD(), - boost::bind(&LLPanelAvatarNotes::rightsConfirmationCallback, this, - _1, _2, rights)); - } - else - { - LLNotificationsUtil::add("RevokeModifyRights", args, LLSD(), - boost::bind(&LLPanelAvatarNotes::rightsConfirmationCallback, this, - _1, _2, rights)); - } -} - -void LLPanelAvatarNotes::onCommitRights() -{ - const LLRelationship* buddy_relationship = - LLAvatarTracker::instance().getBuddyInfo(getAvatarId()); - - if (NULL == buddy_relationship) - { - // Lets have a warning log message instead of having a crash. EXT-4947. - llwarns << "Trying to modify rights for non-friend avatar. Skipped." << llendl; - return; - } - - - S32 rights = 0; - - if(getChild<LLUICtrl>("status_check")->getValue().asBoolean()) - rights |= LLRelationship::GRANT_ONLINE_STATUS; - if(getChild<LLUICtrl>("map_check")->getValue().asBoolean()) - rights |= LLRelationship::GRANT_MAP_LOCATION; - if(getChild<LLUICtrl>("objects_check")->getValue().asBoolean()) - rights |= LLRelationship::GRANT_MODIFY_OBJECTS; - - bool allow_modify_objects = getChild<LLUICtrl>("objects_check")->getValue().asBoolean(); - - // if modify objects checkbox clicked - if (buddy_relationship->isRightGrantedTo( - LLRelationship::GRANT_MODIFY_OBJECTS) != allow_modify_objects) - { - confirmModifyRights(allow_modify_objects, rights); - } - // only one checkbox can trigger commit, so store the rest of rights - else - { - LLAvatarPropertiesProcessor::getInstance()->sendFriendRights( - getAvatarId(), rights); - } -} - -void LLPanelAvatarNotes::processProperties(void* data, EAvatarProcessorType type) -{ - if(APT_NOTES == type) - { - LLAvatarNotes* avatar_notes = static_cast<LLAvatarNotes*>(data); - if(avatar_notes && getAvatarId() == avatar_notes->target_id) - { - getChild<LLUICtrl>("notes_edit")->setValue(avatar_notes->notes); - getChildView("notes edit")->setEnabled(true); - - LLAvatarPropertiesProcessor::getInstance()->removeObserver(getAvatarId(),this); - } - } -} - -void LLPanelAvatarNotes::resetData() -{ - getChild<LLUICtrl>("notes_edit")->setValue(LLStringUtil::null); - // Default value is TRUE - getChild<LLUICtrl>("status_check")->setValue(TRUE); -} - -void LLPanelAvatarNotes::resetControls() -{ - //Disable "Add Friend" button for friends. - getChildView("add_friend")->setEnabled(TRUE); - - enableCheckboxes(false); -} - -void LLPanelAvatarNotes::onAddFriendButtonClick() -{ - LLAvatarActions::requestFriendshipDialog(getAvatarId()); -} - -void LLPanelAvatarNotes::onIMButtonClick() -{ - LLAvatarActions::startIM(getAvatarId()); -} - -void LLPanelAvatarNotes::onTeleportButtonClick() -{ - LLAvatarActions::offerTeleport(getAvatarId()); -} - -void LLPanelAvatarNotes::onCallButtonClick() -{ - LLAvatarActions::startCall(getAvatarId()); -} - -void LLPanelAvatarNotes::onShareButtonClick() -{ - //*TODO not implemented. -} - -void LLPanelAvatarNotes::enableCheckboxes(bool enable) -{ - getChildView("status_check")->setEnabled(enable); - getChildView("map_check")->setEnabled(enable); - getChildView("objects_check")->setEnabled(enable); -} - -LLPanelAvatarNotes::~LLPanelAvatarNotes() -{ - if(getAvatarId().notNull()) - { - LLAvatarTracker::instance().removeParticularFriendObserver(getAvatarId(), this); - } - - if(LLVoiceClient::instanceExists()) - { - LLVoiceClient::getInstance()->removeObserver((LLVoiceClientStatusObserver*)this); - } -} - -// virtual, called by LLAvatarTracker -void LLPanelAvatarNotes::changed(U32 mask) -{ - getChildView("teleport")->setEnabled(LLAvatarTracker::instance().isBuddyOnline(getAvatarId())); - - // update rights to avoid have checkboxes enabled when friendship is terminated. EXT-4947. - fillRightsData(); -} - -// virtual -void LLPanelAvatarNotes::onChange(EStatusType status, const std::string &channelURI, bool proximal) -{ - if(status == STATUS_JOINING || status == STATUS_LEFT_CHANNEL) - { - return; - } - - getChildView("call")->setEnabled(LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking()); -} - -void LLPanelAvatarNotes::setAvatarId(const LLUUID& id) -{ - if(id.notNull()) - { - if(getAvatarId().notNull()) - { - LLAvatarTracker::instance().removeParticularFriendObserver(getAvatarId(), this); - } - LLPanelProfileTab::setAvatarId(id); - LLAvatarTracker::instance().addParticularFriendObserver(getAvatarId(), this); - } -} - ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// @@ -461,449 +198,3 @@ void LLPanelProfileTab::updateButtons() || gAgent.isGodlike(); getChildView("show_on_map_btn")->setEnabled(enable_map_btn); } - -////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// - -bool enable_god() -{ - return gAgent.isGodlike(); -} - -LLPanelAvatarProfile::LLPanelAvatarProfile() -: LLPanelProfileTab() -{ -} - -BOOL LLPanelAvatarProfile::postBuild() -{ - childSetCommitCallback("see_profile_btn",(boost::bind(&LLPanelAvatarProfile::onSeeProfileBtnClick,this)),NULL); - childSetCommitCallback("add_friend",(boost::bind(&LLPanelAvatarProfile::onAddFriendButtonClick,this)),NULL); - childSetCommitCallback("im",(boost::bind(&LLPanelAvatarProfile::onIMButtonClick,this)),NULL); - childSetCommitCallback("call",(boost::bind(&LLPanelAvatarProfile::onCallButtonClick,this)),NULL); - childSetCommitCallback("teleport",(boost::bind(&LLPanelAvatarProfile::onTeleportButtonClick,this)),NULL); - childSetCommitCallback("share",(boost::bind(&LLPanelAvatarProfile::onShareButtonClick,this)),NULL); - childSetCommitCallback("show_on_map_btn", (boost::bind( - &LLPanelAvatarProfile::onMapButtonClick, this)), NULL); - - LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar; - registrar.add("Profile.ShowOnMap", boost::bind(&LLPanelAvatarProfile::onMapButtonClick, this)); - registrar.add("Profile.Pay", boost::bind(&LLPanelAvatarProfile::pay, this)); - registrar.add("Profile.Share", boost::bind(&LLPanelAvatarProfile::share, this)); - registrar.add("Profile.BlockUnblock", boost::bind(&LLPanelAvatarProfile::toggleBlock, this)); - registrar.add("Profile.Kick", boost::bind(&LLPanelAvatarProfile::kick, this)); - registrar.add("Profile.Freeze", boost::bind(&LLPanelAvatarProfile::freeze, this)); - registrar.add("Profile.Unfreeze", boost::bind(&LLPanelAvatarProfile::unfreeze, this)); - registrar.add("Profile.CSR", boost::bind(&LLPanelAvatarProfile::csr, this)); - - LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable; - enable.add("Profile.EnableShowOnMap", boost::bind(&LLPanelAvatarProfile::enableShowOnMap, this)); - enable.add("Profile.EnableGod", boost::bind(&enable_god)); - enable.add("Profile.EnableBlock", boost::bind(&LLPanelAvatarProfile::enableBlock, this)); - enable.add("Profile.EnableUnblock", boost::bind(&LLPanelAvatarProfile::enableUnblock, this)); - - LLToggleableMenu* profile_menu = LLUICtrlFactory::getInstance()->createFromFile<LLToggleableMenu>("menu_profile_overflow.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); - getChild<LLMenuButton>("overflow_btn")->setMenu(profile_menu, LLMenuButton::MP_TOP_RIGHT); - - LLVoiceClient::getInstance()->addObserver((LLVoiceClientStatusObserver*)this); - - resetControls(); - resetData(); - - return TRUE; -} - -void LLPanelAvatarProfile::onOpen(const LLSD& key) -{ - LLPanelProfileTab::onOpen(key); - - mGroups.clear(); - - //Disable "Add Friend" button for friends. - getChildView("add_friend")->setEnabled(!LLAvatarActions::isFriend(getAvatarId())); -} - -void LLPanelAvatarProfile::updateData() -{ - if (getAvatarId().notNull()) - { - LLAvatarPropertiesProcessor::getInstance()-> - sendAvatarPropertiesRequest(getAvatarId()); - LLAvatarPropertiesProcessor::getInstance()-> - sendAvatarGroupsRequest(getAvatarId()); - } -} - -void LLPanelAvatarProfile::resetControls() -{ - getChildView("status_panel")->setVisible( true); - getChildView("profile_buttons_panel")->setVisible( true); - getChildView("title_groups_text")->setVisible( true); - getChildView("sl_groups")->setVisible( true); - getChildView("add_friend")->setEnabled(true); - - getChildView("status_me_panel")->setVisible( false); - getChildView("profile_me_buttons_panel")->setVisible( false); - getChildView("account_actions_panel")->setVisible( false); -} - -void LLPanelAvatarProfile::resetData() -{ - mGroups.clear(); - getChild<LLUICtrl>("2nd_life_pic")->setValue(LLUUID::null); - getChild<LLUICtrl>("real_world_pic")->setValue(LLUUID::null); - getChild<LLUICtrl>("online_status")->setValue(LLStringUtil::null); - getChild<LLUICtrl>("status_message")->setValue(LLStringUtil::null); - getChild<LLUICtrl>("sl_description_edit")->setValue(LLStringUtil::null); - getChild<LLUICtrl>("fl_description_edit")->setValue(LLStringUtil::null); - getChild<LLUICtrl>("sl_groups")->setValue(LLStringUtil::null); - getChild<LLUICtrl>("homepage_edit")->setValue(LLStringUtil::null); - getChild<LLUICtrl>("register_date")->setValue(LLStringUtil::null); - getChild<LLUICtrl>("acc_status_text")->setValue(LLStringUtil::null); - getChild<LLUICtrl>("partner_text")->setValue(LLStringUtil::null); -} - -void LLPanelAvatarProfile::processProperties(void* data, EAvatarProcessorType type) -{ - if(APT_PROPERTIES == type) - { - const LLAvatarData* avatar_data = static_cast<const LLAvatarData*>(data); - if(avatar_data && getAvatarId() == avatar_data->avatar_id) - { - processProfileProperties(avatar_data); - } - } - else if(APT_GROUPS == type) - { - LLAvatarGroups* avatar_groups = static_cast<LLAvatarGroups*>(data); - if(avatar_groups && getAvatarId() == avatar_groups->avatar_id) - { - processGroupProperties(avatar_groups); - } - } -} - -void LLPanelAvatarProfile::processProfileProperties(const LLAvatarData* avatar_data) -{ - fillCommonData(avatar_data); - - fillPartnerData(avatar_data); - - fillAccountStatus(avatar_data); -} - -void LLPanelAvatarProfile::processGroupProperties(const LLAvatarGroups* avatar_groups) -{ - // *NOTE dzaporozhan - // Group properties may arrive in two callbacks, we need to save them across - // different calls. We can't do that in textbox as textbox may change the text. - - LLAvatarGroups::group_list_t::const_iterator it = avatar_groups->group_list.begin(); - const LLAvatarGroups::group_list_t::const_iterator it_end = avatar_groups->group_list.end(); - - for(; it_end != it; ++it) - { - LLAvatarGroups::LLGroupData group_data = *it; - mGroups[group_data.group_name] = group_data.group_id; - } - - // Creating string, containing group list - std::string groups = ""; - for (group_map_t::iterator it = mGroups.begin(); it != mGroups.end(); ++it) - { - if (it != mGroups.begin()) - groups += ", "; - - std::string group_name = LLURI::escape(it->first); - std::string group_url= it->second.notNull() - ? "[secondlife:///app/group/" + it->second.asString() + "/about " + group_name + "]" - : getString("no_group_text"); - - groups += group_url; - } - - getChild<LLUICtrl>("sl_groups")->setValue(groups); -} - -static void got_full_name_callback( LLHandle<LLPanel> profile_panel_handle, const std::string& full_name ) -{ - if (profile_panel_handle.isDead() ) return; - - LLPanelAvatarProfile* profile_panel = dynamic_cast<LLPanelAvatarProfile*>(profile_panel_handle.get()); - if ( ! profile_panel ) return; - - LLStringUtil::format_map_t args; - - std::string name; - if (LLAvatarNameCache::useDisplayNames()) - { - name = LLCacheName::buildUsername(full_name); - } - else - { - name = full_name; - } - - args["[NAME]"] = name; - - std::string linden_name = profile_panel->getString("name_text_args", args); - profile_panel->getChild<LLUICtrl>("name_descr_text")->setValue(linden_name); -} - -void LLPanelAvatarProfile::onNameCache(const LLUUID& agent_id, const LLAvatarName& av_name) -{ - LLStringUtil::format_map_t args; - args["[DISPLAY_NAME]"] = av_name.mDisplayName; - - std::string display_name = getString("display_name_text_args", args); - getChild<LLUICtrl>("display_name_descr_text")->setValue(display_name); -} - -void LLPanelAvatarProfile::fillCommonData(const LLAvatarData* avatar_data) -{ - //remove avatar id from cache to get fresh info - LLAvatarIconIDCache::getInstance()->remove(avatar_data->avatar_id); - - LLStringUtil::format_map_t args; - { - std::string birth_date = LLTrans::getString("AvatarBirthDateFormat"); - LLStringUtil::format(birth_date, LLSD().with("datetime", (S32) avatar_data->born_on.secondsSinceEpoch())); - args["[REG_DATE]"] = birth_date; - } - - // ask (asynchronously) for the avatar name - LLHandle<LLPanel> profile_panel_handle = getHandle(); - std::string full_name; - if (gCacheName->getFullName(avatar_data->agent_id, full_name)) - { - // name in cache, call callback directly - got_full_name_callback( profile_panel_handle, full_name ); - } - else - { - // not in cache, lookup name - gCacheName->get(avatar_data->agent_id, false, boost::bind( got_full_name_callback, profile_panel_handle, _2 )); - } - - // get display name - LLAvatarNameCache::get(avatar_data->avatar_id, - boost::bind(&LLPanelAvatarProfile::onNameCache, this, _1, _2)); - - args["[AGE]"] = LLDateUtil::ageFromDate( avatar_data->born_on, LLDate::now()); - std::string register_date = getString("RegisterDateFormat", args); - getChild<LLUICtrl>("register_date")->setValue(register_date ); - getChild<LLUICtrl>("sl_description_edit")->setValue(avatar_data->about_text); - getChild<LLUICtrl>("fl_description_edit")->setValue(avatar_data->fl_about_text); - getChild<LLUICtrl>("2nd_life_pic")->setValue(avatar_data->image_id); - getChild<LLUICtrl>("real_world_pic")->setValue(avatar_data->fl_image_id); - getChild<LLUICtrl>("homepage_edit")->setValue(avatar_data->profile_url); - - // Hide home page textbox if no page was set to fix "homepage URL appears clickable without URL - EXT-4734" - getChildView("homepage_edit")->setVisible( !avatar_data->profile_url.empty()); -} - -void LLPanelAvatarProfile::fillPartnerData(const LLAvatarData* avatar_data) -{ - LLTextBox* partner_text = getChild<LLTextBox>("partner_text"); - if (avatar_data->partner_id.notNull()) - { - partner_text->setText(LLSLURL("agent", avatar_data->partner_id, "inspect").getSLURLString()); - } - else - { - partner_text->setText(getString("no_partner_text")); - } -} - -void LLPanelAvatarProfile::fillAccountStatus(const LLAvatarData* avatar_data) -{ - LLStringUtil::format_map_t args; - args["[ACCTTYPE]"] = LLAvatarPropertiesProcessor::accountType(avatar_data); - args["[PAYMENTINFO]"] = LLAvatarPropertiesProcessor::paymentInfo(avatar_data); - // *NOTE: AVATAR_AGEVERIFIED not currently getting set in - // dataserver/lldataavatar.cpp for privacy considerations - args["[AGEVERIFICATION]"] = ""; - std::string caption_text = getString("CaptionTextAcctInfo", args); - getChild<LLUICtrl>("acc_status_text")->setValue(caption_text); -} - -void LLPanelAvatarProfile::pay() -{ - LLAvatarActions::pay(getAvatarId()); -} - -void LLPanelAvatarProfile::share() -{ - LLAvatarActions::share(getAvatarId()); -} - -void LLPanelAvatarProfile::toggleBlock() -{ - LLAvatarActions::toggleBlock(getAvatarId()); -} - -bool LLPanelAvatarProfile::enableShowOnMap() -{ - bool is_buddy_online = LLAvatarTracker::instance().isBuddyOnline(getAvatarId()); - - bool enable_map_btn = (is_buddy_online && is_agent_mappable(getAvatarId())) - || gAgent.isGodlike(); - return enable_map_btn; -} - -bool LLPanelAvatarProfile::enableBlock() -{ - return LLAvatarActions::canBlock(getAvatarId()) && !LLAvatarActions::isBlocked(getAvatarId()); -} - -bool LLPanelAvatarProfile::enableUnblock() -{ - return LLAvatarActions::isBlocked(getAvatarId()); -} - -void LLPanelAvatarProfile::kick() -{ - LLAvatarActions::kick(getAvatarId()); -} - -void LLPanelAvatarProfile::freeze() -{ - LLAvatarActions::freeze(getAvatarId()); -} - -void LLPanelAvatarProfile::unfreeze() -{ - LLAvatarActions::unfreeze(getAvatarId()); -} - -void LLPanelAvatarProfile::csr() -{ - std::string name; - gCacheName->getFullName(getAvatarId(), name); - LLAvatarActions::csr(getAvatarId(), name); -} - -void LLPanelAvatarProfile::onAddFriendButtonClick() -{ - LLAvatarActions::requestFriendshipDialog(getAvatarId()); -} - -void LLPanelAvatarProfile::onSeeProfileBtnClick() -{ - LLAvatarActions::showProfile(getAvatarId()); -} - -void LLPanelAvatarProfile::onIMButtonClick() -{ - LLAvatarActions::startIM(getAvatarId()); -} - -void LLPanelAvatarProfile::onTeleportButtonClick() -{ - LLAvatarActions::offerTeleport(getAvatarId()); -} - -void LLPanelAvatarProfile::onCallButtonClick() -{ - LLAvatarActions::startCall(getAvatarId()); -} - -void LLPanelAvatarProfile::onShareButtonClick() -{ - //*TODO not implemented -} - -LLPanelAvatarProfile::~LLPanelAvatarProfile() -{ - if(getAvatarId().notNull()) - { - LLAvatarTracker::instance().removeParticularFriendObserver(getAvatarId(), this); - } - - if(LLVoiceClient::instanceExists()) - { - LLVoiceClient::getInstance()->removeObserver((LLVoiceClientStatusObserver*)this); - } -} - -// virtual, called by LLAvatarTracker -void LLPanelAvatarProfile::changed(U32 mask) -{ - getChildView("teleport")->setEnabled(LLAvatarTracker::instance().isBuddyOnline(getAvatarId())); -} - -// virtual -void LLPanelAvatarProfile::onChange(EStatusType status, const std::string &channelURI, bool proximal) -{ - if(status == STATUS_JOINING || status == STATUS_LEFT_CHANNEL) - { - return; - } - - getChildView("call")->setEnabled(LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking()); -} - -void LLPanelAvatarProfile::setAvatarId(const LLUUID& id) -{ - if(id.notNull()) - { - if(getAvatarId().notNull()) - { - LLAvatarTracker::instance().removeParticularFriendObserver(getAvatarId(), this); - } - LLPanelProfileTab::setAvatarId(id); - LLAvatarTracker::instance().addParticularFriendObserver(getAvatarId(), this); - } -} - -////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// - -LLPanelMyProfile::LLPanelMyProfile() -: LLPanelAvatarProfile() -{ -} - -BOOL LLPanelMyProfile::postBuild() -{ - LLPanelAvatarProfile::postBuild(); - - childSetCommitCallback("status_me_message_text", boost::bind(&LLPanelMyProfile::onStatusMessageChanged, this), NULL); - - resetControls(); - resetData(); - - return TRUE; -} - -void LLPanelMyProfile::onOpen(const LLSD& key) -{ - LLPanelProfileTab::onOpen(key); -} - -void LLPanelMyProfile::processProfileProperties(const LLAvatarData* avatar_data) -{ - fillCommonData(avatar_data); - - fillPartnerData(avatar_data); - - fillAccountStatus(avatar_data); -} - -void LLPanelMyProfile::resetControls() -{ - getChildView("status_panel")->setVisible( false); - getChildView("profile_buttons_panel")->setVisible( false); - getChildView("title_groups_text")->setVisible( false); - getChildView("sl_groups")->setVisible( false); - getChildView("status_me_panel")->setVisible( true); - getChildView("profile_me_buttons_panel")->setVisible( true); -} - - -void LLPanelMyProfile::onStatusMessageChanged() -{ - updateData(); -} diff --git a/indra/newview/llpanelavatar.h b/indra/newview/llpanelavatar.h index e95441cd58..e33a850cfa 100644 --- a/indra/newview/llpanelavatar.h +++ b/indra/newview/llpanelavatar.h @@ -36,14 +36,8 @@ class LLComboBox; class LLLineEditor; -enum EOnlineStatus -{ - ONLINE_STATUS_NO = 0, - ONLINE_STATUS_YES = 1 -}; - /** -* Base class for any Profile View or My Profile Panel. +* Base class for any Profile View. */ class LLPanelProfileTab : public LLPanel @@ -111,187 +105,4 @@ private: LLUUID mAvatarId; }; -/** -* Panel for displaying Avatar's first and second life related info. -*/ -class LLPanelAvatarProfile - : public LLPanelProfileTab - , public LLFriendObserver - , public LLVoiceClientStatusObserver -{ -public: - LLPanelAvatarProfile(); - /*virtual*/ ~LLPanelAvatarProfile(); - - /*virtual*/ void onOpen(const LLSD& key); - - /** - * LLFriendObserver trigger - */ - virtual void changed(U32 mask); - - // Implements LLVoiceClientStatusObserver::onChange() to enable the call - // button when voice is available - /*virtual*/ void onChange(EStatusType status, const std::string &channelURI, bool proximal); - - /*virtual*/ void setAvatarId(const LLUUID& id); - - /** - * Processes data received from server. - */ - /*virtual*/ void processProperties(void* data, EAvatarProcessorType type); - - /*virtual*/ BOOL postBuild(); - - /*virtual*/ void updateData(); - - /*virtual*/ void resetControls(); - - /*virtual*/ void resetData(); - -protected: - - /** - * Process profile related data received from server. - */ - virtual void processProfileProperties(const LLAvatarData* avatar_data); - - /** - * Processes group related data received from server. - */ - virtual void processGroupProperties(const LLAvatarGroups* avatar_groups); - - /** - * Fills common for Avatar profile and My Profile fields. - */ - virtual void fillCommonData(const LLAvatarData* avatar_data); - - /** - * Fills partner data. - */ - virtual void fillPartnerData(const LLAvatarData* avatar_data); - - /** - * Fills account status. - */ - virtual void fillAccountStatus(const LLAvatarData* avatar_data); - - /** - * Opens "Pay Resident" dialog. - */ - void pay(); - - /** - * opens inventory and IM for sharing items - */ - void share(); - - /** - * Add/remove resident to/from your block list. - */ - void toggleBlock(); - - void kick(); - void freeze(); - void unfreeze(); - void csr(); - - bool enableShowOnMap(); - bool enableBlock(); - bool enableUnblock(); - bool enableGod(); - - void onSeeProfileBtnClick(); - void onAddFriendButtonClick(); - void onIMButtonClick(); - void onCallButtonClick(); - void onTeleportButtonClick(); - void onShareButtonClick(); - -private: - void onNameCache(const LLUUID& agent_id, const LLAvatarName& av_name); - - typedef std::map< std::string,LLUUID> group_map_t; - group_map_t mGroups; -}; - -/** - * Panel for displaying own first and second life related info. - */ -class LLPanelMyProfile - : public LLPanelAvatarProfile -{ -public: - LLPanelMyProfile(); - - /*virtual*/ BOOL postBuild(); - -protected: - - /*virtual*/ void onOpen(const LLSD& key); - - /*virtual*/ void processProfileProperties(const LLAvatarData* avatar_data); - - /*virtual*/ void resetControls(); - -protected: - void onStatusMessageChanged(); -}; - -/** - * Panel for displaying Avatar's notes and modifying friend's rights. - */ -class LLPanelAvatarNotes - : public LLPanelProfileTab - , public LLFriendObserver - , public LLVoiceClientStatusObserver -{ -public: - LLPanelAvatarNotes(); - /*virtual*/ ~LLPanelAvatarNotes(); - - virtual void setAvatarId(const LLUUID& id); - - /** - * LLFriendObserver trigger - */ - virtual void changed(U32 mask); - - // Implements LLVoiceClientStatusObserver::onChange() to enable the call - // button when voice is available - /*virtual*/ void onChange(EStatusType status, const std::string &channelURI, bool proximal); - - /*virtual*/ void onOpen(const LLSD& key); - - /*virtual*/ BOOL postBuild(); - - /*virtual*/ void processProperties(void* data, EAvatarProcessorType type); - - /*virtual*/ void updateData(); - -protected: - - /*virtual*/ void resetControls(); - - /*virtual*/ void resetData(); - - /** - * Fills rights data for friends. - */ - void fillRightsData(); - - void rightsConfirmationCallback(const LLSD& notification, - const LLSD& response, S32 rights); - void confirmModifyRights(bool grant, S32 rights); - void onCommitRights(); - void onCommitNotes(); - - void onAddFriendButtonClick(); - void onIMButtonClick(); - void onCallButtonClick(); - void onTeleportButtonClick(); - void onShareButtonClick(); - void enableCheckboxes(bool enable); -}; - #endif // LL_LLPANELAVATAR_H diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp index 7e47a96f44..a9af56f750 100644 --- a/indra/newview/llpanelme.cpp +++ b/indra/newview/llpanelme.cpp @@ -48,16 +48,10 @@ #include "lltabcontainer.h" #include "lltexturectrl.h" -#define PICKER_SECOND_LIFE "2nd_life_pic" -#define PICKER_FIRST_LIFE "real_world_pic" -#define PANEL_PROFILE "panel_profile" - -static LLRegisterPanelClassWrapper<LLPanelMyProfileEdit> t_panel_me_profile_edit("edit_profile_panel"); static LLRegisterPanelClassWrapper<LLPanelMe> t_panel_me_profile("panel_me"); LLPanelMe::LLPanelMe(void) : LLPanelProfile() - , mEditPanel(NULL) { setAvatarId(gAgent.getID()); } @@ -73,282 +67,3 @@ void LLPanelMe::onOpen(const LLSD& key) { LLPanelProfile::onOpen(key); } - -void LLPanelMe::buildEditPanel() -{ - if (NULL == mEditPanel) - { - mEditPanel = new LLPanelMyProfileEdit(); - - // Note: Remove support for editing profile through this method. - // All profile editing should go through the web. - //mEditPanel->childSetAction("save_btn", boost::bind(&LLPanelMe::onSaveChangesClicked, this), this); - - //mEditPanel->childSetAction("cancel_btn", boost::bind(&LLPanelMe::onCancelClicked, this), this); - } -} - - -void LLPanelMe::onEditProfileClicked() -{ - buildEditPanel(); -} - -////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// - -LLPanelMyProfileEdit::LLPanelMyProfileEdit() - : LLPanelMyProfile() -{ - buildFromFile( "panel_edit_profile.xml"); - - setAvatarId(gAgent.getID()); - - LLAvatarNameCache::addUseDisplayNamesCallback(boost::bind(&LLPanelMyProfileEdit::onAvatarNameChanged, this)); -} - -void LLPanelMyProfileEdit::onOpen(const LLSD& key) -{ - resetData(); - - // Disable editing until data is loaded, or edited fields will be overwritten when data - // is loaded. - enableEditing(false); - - // force new avatar name fetch so we have latest update time - LLAvatarNameCache::fetch(gAgent.getID()); - LLPanelMyProfile::onOpen(getAvatarId()); - - LLAvatarName av_name; - if (LLAvatarNameCache::useDisplayNames()) - { - if (LLAvatarNameCache::get(gAgent.getID(), &av_name) && av_name.mIsDisplayNameDefault) - { - LLFirstUse::setDisplayName(); - } - else - { - LLFirstUse::setDisplayName(false); - } - } - - if (LLAvatarNameCache::useDisplayNames()) - { - getChild<LLUICtrl>("user_label")->setVisible( true ); - getChild<LLUICtrl>("user_slid")->setVisible( true ); - getChild<LLUICtrl>("display_name_label")->setVisible( true ); - getChild<LLUICtrl>("set_name")->setVisible( true ); - getChild<LLUICtrl>("set_name")->setEnabled( true ); - getChild<LLUICtrl>("solo_user_name")->setVisible( false ); - getChild<LLUICtrl>("solo_username_label")->setVisible( false ); - } - else - { - getChild<LLUICtrl>("user_label")->setVisible( false ); - getChild<LLUICtrl>("user_slid")->setVisible( false ); - getChild<LLUICtrl>("display_name_label")->setVisible( false ); - getChild<LLUICtrl>("set_name")->setVisible( false ); - getChild<LLUICtrl>("set_name")->setEnabled( false ); - getChild<LLUICtrl>("solo_user_name")->setVisible( true ); - getChild<LLUICtrl>("solo_username_label")->setVisible( true ); - } -} - -void LLPanelMyProfileEdit::onClose(const LLSD& key) -{ - if (LLAvatarNameCache::useDisplayNames()) - { - LLFirstUse::setDisplayName(false); - } -} - -void LLPanelMyProfileEdit::processProperties(void* data, EAvatarProcessorType type) -{ - if(APT_PROPERTIES == type) - { - const LLAvatarData* avatar_data = static_cast<const LLAvatarData*>(data); - if(avatar_data && getAvatarId() == avatar_data->avatar_id) - { - // *TODO dzaporozhan - // Workaround for ticket EXT-1099, waiting for fix for ticket EXT-1128 - enableEditing(true); - processProfileProperties(avatar_data); - LLAvatarPropertiesProcessor::getInstance()->removeObserver(getAvatarId(),this); - } - } -} - -void LLPanelMyProfileEdit::processProfileProperties(const LLAvatarData* avatar_data) -{ - fillCommonData(avatar_data); - - // 'Home page' was hidden in LLPanelAvatarProfile::fillCommonData() to fix EXT-4734 - // Show 'Home page' in Edit My Profile (EXT-4873) - getChildView("homepage_edit")->setVisible( true); - - fillPartnerData(avatar_data); - - fillAccountStatus(avatar_data); - - getChild<LLUICtrl>("show_in_search_checkbox")->setValue((BOOL)(avatar_data->flags & AVATAR_ALLOW_PUBLISH)); - - LLAvatarNameCache::get(avatar_data->avatar_id, - boost::bind(&LLPanelMyProfileEdit::onNameCache, this, _1, _2)); -} - -void LLPanelMyProfileEdit::onNameCache(const LLUUID& agent_id, const LLAvatarName& av_name) -{ - getChild<LLUICtrl>("user_name")->setValue( av_name.mDisplayName ); - getChild<LLUICtrl>("user_slid")->setValue( av_name.mUsername ); - getChild<LLUICtrl>("user_name_small")->setValue( av_name.mDisplayName ); - getChild<LLUICtrl>("solo_user_name")->setValue( av_name.mDisplayName ); - - - if (LLAvatarNameCache::useDisplayNames()) - { - getChild<LLUICtrl>("user_label")->setVisible( true ); - getChild<LLUICtrl>("user_slid")->setVisible( true ); - getChild<LLUICtrl>("display_name_label")->setVisible( true ); - getChild<LLUICtrl>("set_name")->setVisible( true ); - getChild<LLUICtrl>("set_name")->setEnabled( true ); - - getChild<LLUICtrl>("solo_user_name")->setVisible( false ); - getChild<LLUICtrl>("solo_username_label")->setVisible( false ); - - // show smaller display name if too long to display in regular size - if (getChild<LLTextBox>("user_name")->getTextPixelWidth() > getChild<LLTextBox>("user_name")->getRect().getWidth()) - { - getChild<LLUICtrl>("user_name_small")->setVisible( true ); - getChild<LLUICtrl>("user_name")->setVisible( false ); - } - else - { - getChild<LLUICtrl>("user_name_small")->setVisible( false ); - getChild<LLUICtrl>("user_name")->setVisible( true ); - } - } - else - { - getChild<LLUICtrl>("user_label")->setVisible( false ); - getChild<LLUICtrl>("user_slid")->setVisible( false ); - getChild<LLUICtrl>("display_name_label")->setVisible( false ); - getChild<LLUICtrl>("set_name")->setVisible( false ); - getChild<LLUICtrl>("set_name")->setEnabled( false ); - - getChild<LLUICtrl>("solo_user_name")->setVisible( true ); - getChild<LLUICtrl>("user_name_small")->setVisible( false ); - getChild<LLUICtrl>("user_name")->setVisible( false ); - getChild<LLUICtrl>("solo_username_label")->setVisible( true ); - } -} - - -void LLPanelMyProfileEdit::onAvatarNameChanged() -{ - LLAvatarNameCache::get(getAvatarId(), - boost::bind(&LLPanelMyProfileEdit::onNameCache, this, _1, _2)); -} - -BOOL LLPanelMyProfileEdit::postBuild() -{ - initTexturePickerMouseEvents(); - - getChild<LLUICtrl>("partner_edit_link")->setTextArg("[URL]", getString("partner_edit_link_url")); - getChild<LLUICtrl>("my_account_link")->setTextArg("[URL]", getString("my_account_link_url")); - - getChild<LLUICtrl>("set_name")->setCommitCallback( - boost::bind(&LLPanelMyProfileEdit::onClickSetName, this)); - - LLHints::registerHintTarget("set_display_name", getChild<LLUICtrl>("set_name")->getHandle()); - LLViewerDisplayName::addNameChangedCallback(boost::bind(&LLPanelMyProfileEdit::onAvatarNameChanged, this)); - return LLPanelAvatarProfile::postBuild(); -} -/** - * Inits map with texture picker and appropriate edit icon. - * Sets callbacks of Mouse Enter and Mouse Leave signals of Texture Pickers - */ -void LLPanelMyProfileEdit::initTexturePickerMouseEvents() -{ - LLTextureCtrl* text_pic = getChild<LLTextureCtrl>(PICKER_SECOND_LIFE); - LLIconCtrl* text_icon = getChild<LLIconCtrl>("2nd_life_edit_icon"); - mTextureEditIconMap[text_pic->getName()] = text_icon; - text_pic->setMouseEnterCallback(boost::bind(&LLPanelMyProfileEdit::onTexturePickerMouseEnter, this, _1)); - text_pic->setMouseLeaveCallback(boost::bind(&LLPanelMyProfileEdit::onTexturePickerMouseLeave, this, _1)); - text_icon->setVisible(FALSE); - - text_pic = getChild<LLTextureCtrl>(PICKER_FIRST_LIFE); - text_icon = getChild<LLIconCtrl>("real_world_edit_icon"); - mTextureEditIconMap[text_pic->getName()] = text_icon; - text_pic->setMouseEnterCallback(boost::bind(&LLPanelMyProfileEdit::onTexturePickerMouseEnter, this, _1)); - text_pic->setMouseLeaveCallback(boost::bind(&LLPanelMyProfileEdit::onTexturePickerMouseLeave, this, _1)); - text_icon->setVisible(FALSE); -} - -void LLPanelMyProfileEdit::resetData() -{ - LLPanelMyProfile::resetData(); - - //childSetTextArg("name_text", "[FIRST]", LLStringUtil::null); - //childSetTextArg("name_text", "[LAST]", LLStringUtil::null); - getChild<LLUICtrl>("user_name")->setValue( LLSD() ); - getChild<LLUICtrl>("user_slid")->setValue( LLSD() ); - getChild<LLUICtrl>("solo_user_name")->setValue( LLSD() ); - getChild<LLUICtrl>("user_name_small")->setValue( LLSD() ); -} - -void LLPanelMyProfileEdit::onTexturePickerMouseEnter(LLUICtrl* ctrl) -{ - mTextureEditIconMap[ctrl->getName()]->setVisible(TRUE); -} -void LLPanelMyProfileEdit::onTexturePickerMouseLeave(LLUICtrl* ctrl) -{ - mTextureEditIconMap[ctrl->getName()]->setVisible(FALSE); -} - -void LLPanelMyProfileEdit::onClickSetName() -{ - LLAvatarNameCache::get(getAvatarId(), - boost::bind(&LLPanelMyProfileEdit::onAvatarNameCache, - this, _1, _2)); - - LLFirstUse::setDisplayName(false); -} - -void LLPanelMyProfileEdit::onAvatarNameCache(const LLUUID& agent_id, const LLAvatarName& av_name) -{ - if (av_name.mDisplayName.empty()) - { - // something is wrong, tell user to try again later - LLNotificationsUtil::add("SetDisplayNameFailedGeneric"); - return; - } - - llinfos << "name-change now " << LLDate::now() << " next_update " - << LLDate(av_name.mNextUpdate) << llendl; - F64 now_secs = LLDate::now().secondsSinceEpoch(); - - if (now_secs < av_name.mNextUpdate) - { - // if the update time is more than a year in the future, it means updates have been blocked - // show a more general message - const int YEAR = 60*60*24*365; - if (now_secs + YEAR < av_name.mNextUpdate) - { - LLNotificationsUtil::add("SetDisplayNameBlocked"); - return; - } - } - - LLFloaterReg::showInstance("display_name"); -} - -void LLPanelMyProfileEdit::enableEditing(bool enable) -{ - getChildView("2nd_life_pic")->setEnabled(enable); - getChildView("real_world_pic")->setEnabled(enable); - getChildView("sl_description_edit")->setEnabled(enable); - getChildView("fl_description_edit")->setEnabled(enable); - getChildView("homepage_edit")->setEnabled(enable); - getChildView("show_in_search_checkbox")->setEnabled(enable); -} diff --git a/indra/newview/llpanelme.h b/indra/newview/llpanelme.h index b0f5d184cc..60e9d4317d 100644 --- a/indra/newview/llpanelme.h +++ b/indra/newview/llpanelme.h @@ -30,15 +30,9 @@ #include "llpanel.h" #include "llpanelprofile.h" -class LLAvatarName; -class LLPanelMyProfileEdit; -class LLPanelProfile; -class LLIconCtrl; - /** -* Panel for displaying Agent's profile, it consists of two sub panels - Profile -* and Picks. -* LLPanelMe allows user to edit his profile and picks. +* Panel for displaying Agent's Picks and Classifieds panel. +* LLPanelMe allows user to edit his picks and classifieds. */ class LLPanelMe : public LLPanelProfile { @@ -51,60 +45,6 @@ public: /*virtual*/ void onOpen(const LLSD& key); /*virtual*/ BOOL postBuild(); - -private: - - void buildEditPanel(); - - void onEditProfileClicked(); - - LLPanelMyProfileEdit * mEditPanel; - -}; - -class LLPanelMyProfileEdit : public LLPanelMyProfile -{ - LOG_CLASS(LLPanelMyProfileEdit); - -public: - - LLPanelMyProfileEdit(); - - /*virtual*/void processProperties(void* data, EAvatarProcessorType type); - - /*virtual*/BOOL postBuild(); - - /*virtual*/ void onOpen(const LLSD& key); - /*virtual*/ void onClose(const LLSD& key); - - void onAvatarNameChanged(); - -protected: - - /*virtual*/void resetData(); - - void processProfileProperties(const LLAvatarData* avatar_data); - void onNameCache(const LLUUID& agent_id, const LLAvatarName& av_name); - -private: - void initTexturePickerMouseEvents(); - void onTexturePickerMouseEnter(LLUICtrl* ctrl); - void onTexturePickerMouseLeave(LLUICtrl* ctrl); - void onClickSetName(); - void onAvatarNameCache(const LLUUID& id, const LLAvatarName& av_name); - - /** - * Enabled/disables controls to prevent overwriting edited data upon receiving - * current data from server. - */ - void enableEditing(bool enable); - - - -private: - // map TexturePicker name => Edit Icon pointer should be visible while hovering Texture Picker - typedef std::map<std::string, LLIconCtrl*> texture_edit_icon_map_t; - texture_edit_icon_map_t mTextureEditIconMap; }; #endif // LL_LLPANELMEPROFILE_H diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index 50dc66ed7c..cfbc8f1a94 100755 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -1048,13 +1048,10 @@ void LLPanelPicks::createPickInfoPanel() void LLPanelPicks::createClassifiedInfoPanel() { - if(!mPanelClassifiedInfo) - { - mPanelClassifiedInfo = LLPanelClassifiedInfo::create(); - mPanelClassifiedInfo->setExitCallback(boost::bind(&LLPanelPicks::onPanelClassifiedClose, this, mPanelClassifiedInfo)); - mPanelClassifiedInfo->setEditClassifiedCallback(boost::bind(&LLPanelPicks::onPanelClassifiedEdit, this)); - mPanelClassifiedInfo->setVisible(FALSE); - } + mPanelClassifiedInfo = LLPanelClassifiedInfo::create(); + mPanelClassifiedInfo->setExitCallback(boost::bind(&LLPanelPicks::onPanelClassifiedClose, this, mPanelClassifiedInfo)); + mPanelClassifiedInfo->setEditClassifiedCallback(boost::bind(&LLPanelPicks::onPanelClassifiedEdit, this)); + mPanelClassifiedInfo->setVisible(FALSE); } void LLPanelPicks::createClassifiedEditPanel(LLPanelClassifiedEdit** panel) @@ -1072,14 +1069,11 @@ void LLPanelPicks::createClassifiedEditPanel(LLPanelClassifiedEdit** panel) void LLPanelPicks::createPickEditPanel() { - if(!mPanelPickEdit) - { - mPanelPickEdit = LLPanelPickEdit::create(); - mPanelPickEdit->setExitCallback(boost::bind(&LLPanelPicks::onPanelPickClose, this, mPanelPickEdit)); - mPanelPickEdit->setSaveCallback(boost::bind(&LLPanelPicks::onPanelPickSave, this, mPanelPickEdit)); - mPanelPickEdit->setCancelCallback(boost::bind(&LLPanelPicks::onPanelPickClose, this, mPanelPickEdit)); - mPanelPickEdit->setVisible(FALSE); - } + mPanelPickEdit = LLPanelPickEdit::create(); + mPanelPickEdit->setExitCallback(boost::bind(&LLPanelPicks::onPanelPickClose, this, mPanelPickEdit)); + mPanelPickEdit->setSaveCallback(boost::bind(&LLPanelPicks::onPanelPickSave, this, mPanelPickEdit)); + mPanelPickEdit->setCancelCallback(boost::bind(&LLPanelPicks::onPanelPickClose, this, mPanelPickEdit)); + mPanelPickEdit->setVisible(FALSE); } // void LLPanelPicks::openPickEditPanel(LLPickItem* pick) diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp index 5ce59d8959..b1eeabb028 100755 --- a/indra/newview/llpanelprofile.cpp +++ b/indra/newview/llpanelprofile.cpp @@ -38,7 +38,6 @@ #include "llviewernetwork.h" static const std::string PANEL_PICKS = "panel_picks"; -static const std::string PANEL_PROFILE = "panel_profile"; std::string getProfileURL(const std::string& agent_name) { @@ -168,6 +167,23 @@ LLPanelProfile::ChildStack::ChildStack() { } +LLPanelProfile::ChildStack::~ChildStack() +{ + while (mStack.size() != 0) + { + view_list_t& top = mStack.back(); + for (view_list_t::const_iterator it = top.begin(); it != top.end(); ++it) + { + LLView* viewp = *it; + if (viewp) + { + delete viewp; + } + } + mStack.pop_back(); + } +} + void LLPanelProfile::ChildStack::setParent(LLPanel* parent) { llassert_always(parent != NULL); @@ -272,7 +288,6 @@ BOOL LLPanelProfile::postBuild() panel_picks->setProfilePanel(this); getTabContainer()[PANEL_PICKS] = panel_picks; - getTabContainer()[PANEL_PROFILE] = findChild<LLPanelAvatarProfile>(PANEL_PROFILE); return TRUE; } diff --git a/indra/newview/llpanelprofile.h b/indra/newview/llpanelprofile.h index bd4457c240..d97f60ed22 100755 --- a/indra/newview/llpanelprofile.h +++ b/indra/newview/llpanelprofile.h @@ -74,6 +74,7 @@ private: LOG_CLASS(LLPanelProfile::ChildStack); public: ChildStack(); + ~ChildStack(); void setParent(LLPanel* parent); bool push(); diff --git a/indra/newview/llpanelprofileview.cpp b/indra/newview/llpanelprofileview.cpp deleted file mode 100644 index 7635aedf58..0000000000 --- a/indra/newview/llpanelprofileview.cpp +++ /dev/null @@ -1,247 +0,0 @@ -/** -* @file llpanelprofileview.cpp -* @brief Side tray "Profile View" panel -* -* $LicenseInfo:firstyear=2009&license=viewerlgpl$ -* Second Life Viewer Source Code -* Copyright (C) 2010, Linden Research, Inc. -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; -* version 2.1 of the License only. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -* -* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -* $/LicenseInfo$ -*/ - -#include "llviewerprecompiledheaders.h" - -#include "llpanelprofileview.h" - -#include "llavatarconstants.h" -#include "llavatarnamecache.h" // IDEVO -#include "llclipboard.h" -#include "lluserrelations.h" - -#include "llavatarpropertiesprocessor.h" -#include "llcallingcard.h" -#include "llpanelavatar.h" -#include "llpanelpicks.h" -#include "llpanelprofile.h" -#include "llsidetraypanelcontainer.h" - -static LLRegisterPanelClassWrapper<LLPanelProfileView> t_panel_target_profile("panel_profile_view"); - -static std::string PANEL_NOTES = "panel_notes"; -static const std::string PANEL_PROFILE = "panel_profile"; -static const std::string PANEL_PICKS = "panel_picks"; - - -class AvatarStatusObserver : public LLAvatarPropertiesObserver -{ -public: - AvatarStatusObserver(LLPanelProfileView* profile_view) - { - mProfileView = profile_view; - } - - void processProperties(void* data, EAvatarProcessorType type) - { - if(APT_PROPERTIES != type) return; - const LLAvatarData* avatar_data = static_cast<const LLAvatarData*>(data); - if(avatar_data && mProfileView->getAvatarId() == avatar_data->avatar_id) - { - mProfileView->processOnlineStatus(avatar_data->flags & AVATAR_ONLINE); - LLAvatarPropertiesProcessor::instance().removeObserver(mProfileView->getAvatarId(), this); - } - } - - void subscribe() - { - LLAvatarPropertiesProcessor::instance().addObserver(mProfileView->getAvatarId(), this); - } - -private: - LLPanelProfileView* mProfileView; -}; - -LLPanelProfileView::LLPanelProfileView() -: LLPanelProfile() -, mStatusText(NULL) -, mAvatarStatusObserver(NULL) -{ - mAvatarStatusObserver = new AvatarStatusObserver(this); -} - -LLPanelProfileView::~LLPanelProfileView(void) -{ - delete mAvatarStatusObserver; -} - -/*virtual*/ -void LLPanelProfileView::onOpen(const LLSD& key) -{ - LLUUID id; - if(key.has("id")) - { - id = key["id"]; - } - - if(id.notNull() && getAvatarId() != id) - { - setAvatarId(id); - - // clear name fields, which might have old data - getChild<LLUICtrl>("user_name")->setValue( LLSD() ); - getChild<LLUICtrl>("user_slid")->setValue( LLSD() ); - } - - // Update the avatar name. - LLAvatarNameCache::get(getAvatarId(), - boost::bind(&LLPanelProfileView::onAvatarNameCache, this, _1, _2)); - - updateOnlineStatus(); - - - LLPanelProfile::onOpen(key); -} - -BOOL LLPanelProfileView::postBuild() -{ - LLPanelProfile::postBuild(); - - getTabContainer()[PANEL_NOTES] = findChild<LLPanelAvatarNotes>(PANEL_NOTES); - - //*TODO remove this, according to style guide we don't use status combobox - getTabContainer()[PANEL_PROFILE]->getChildView("online_me_status_text")->setVisible( FALSE); - getTabContainer()[PANEL_PROFILE]->getChildView("status_combo")->setVisible( FALSE); - - mStatusText = getChild<LLTextBox>("status"); - mStatusText->setVisible(false); - - childSetCommitCallback("back",boost::bind(&LLPanelProfileView::onBackBtnClick,this),NULL); - childSetCommitCallback("copy_to_clipboard",boost::bind(&LLPanelProfileView::onCopyToClipboard,this),NULL); - - return TRUE; -} - - -//private - -void LLPanelProfileView::onBackBtnClick() -{ - // Set dummy value to make picks panel dirty, - // This will make Picks reload on next open. - getTabContainer()[PANEL_PICKS]->setValue(LLSD()); - - LLSideTrayPanelContainer* parent = dynamic_cast<LLSideTrayPanelContainer*>(getParent()); - if(parent) - { - parent->openPreviousPanel(); - } -} - -void LLPanelProfileView::onCopyToClipboard() -{ - std::string name = getChild<LLUICtrl>("user_name")->getValue().asString() + " (" + getChild<LLUICtrl>("user_slid")->getValue().asString() + ")"; - gClipboard.copyFromString(utf8str_to_wstring(name)); -} - -bool LLPanelProfileView::isGrantedToSeeOnlineStatus() -{ - const LLRelationship* relationship = LLAvatarTracker::instance().getBuddyInfo(getAvatarId()); - if (NULL == relationship) - return false; - - // *NOTE: GRANT_ONLINE_STATUS is always set to false while changing any other status. - // When avatar disallow me to see her online status processOfflineNotification Message is received by the viewer - // see comments for ChangeUserRights template message. EXT-453. - // If GRANT_ONLINE_STATUS flag is changed it will be applied when viewer restarts. EXT-3880 - return relationship->isRightGrantedFrom(LLRelationship::GRANT_ONLINE_STATUS); -} - -// method was disabled according to EXT-2022. Re-enabled & improved according to EXT-3880 -void LLPanelProfileView::updateOnlineStatus() -{ - // set text box visible to show online status for non-friends who has not set in Preferences - // "Only Friends & Groups can see when I am online" - mStatusText->setVisible(TRUE); - - const LLRelationship* relationship = LLAvatarTracker::instance().getBuddyInfo(getAvatarId()); - if (NULL == relationship) - { - // this is non-friend avatar. Status will be updated from LLAvatarPropertiesProcessor. - // in LLPanelProfileView::processOnlineStatus() - - // subscribe observer to get online status. Request will be sent by LLPanelAvatarProfile itself. - // do not subscribe for friend avatar because online status can be wrong overridden - // via LLAvatarData::flags if Preferences: "Only Friends & Groups can see when I am online" is set. - mAvatarStatusObserver->subscribe(); - return; - } - // For friend let check if he allowed me to see his status - - // status should only show if viewer has permission to view online/offline. EXT-453, EXT-3880 - mStatusText->setVisible(isGrantedToSeeOnlineStatus()); - - bool online = relationship->isOnline(); - processOnlineStatus(online); -} - -void LLPanelProfileView::processOnlineStatus(bool online) -{ - std::string status = getString(online ? "status_online" : "status_offline"); - - mStatusText->setValue(status); -} - -void LLPanelProfileView::onAvatarNameCache(const LLUUID& agent_id, - const LLAvatarName& av_name) -{ - getChild<LLUICtrl>("user_name")->setValue( av_name.mDisplayName ); - getChild<LLUICtrl>("user_name_small")->setValue( av_name.mDisplayName ); - getChild<LLUICtrl>("user_slid")->setValue( av_name.mUsername ); - - // show smaller display name if too long to display in regular size - if (getChild<LLTextBox>("user_name")->getTextPixelWidth() > getChild<LLTextBox>("user_name")->getRect().getWidth()) - { - getChild<LLUICtrl>("user_name_small")->setVisible( true ); - getChild<LLUICtrl>("user_name")->setVisible( false ); - } - else - { - getChild<LLUICtrl>("user_name_small")->setVisible( false ); - getChild<LLUICtrl>("user_name")->setVisible( true ); - } - - if (LLAvatarNameCache::useDisplayNames()) - { - getChild<LLUICtrl>("user_label")->setVisible( true ); - getChild<LLUICtrl>("user_slid")->setVisible( true ); - getChild<LLUICtrl>("display_name_label")->setVisible( true ); - getChild<LLUICtrl>("copy_to_clipboard")->setVisible( true ); - getChild<LLUICtrl>("copy_to_clipboard")->setEnabled( true ); - getChild<LLUICtrl>("solo_username_label")->setVisible( false ); - } - else - { - getChild<LLUICtrl>("user_label")->setVisible( false ); - getChild<LLUICtrl>("user_slid")->setVisible( false ); - getChild<LLUICtrl>("display_name_label")->setVisible( false ); - getChild<LLUICtrl>("copy_to_clipboard")->setVisible( false ); - getChild<LLUICtrl>("copy_to_clipboard")->setEnabled( false ); - getChild<LLUICtrl>("solo_username_label")->setVisible( true ); - } -} - -// EOF diff --git a/indra/newview/llpanelprofileview.h b/indra/newview/llpanelprofileview.h deleted file mode 100644 index c6d921fdc4..0000000000 --- a/indra/newview/llpanelprofileview.h +++ /dev/null @@ -1,108 +0,0 @@ -/** -* @file llpanelprofileview.h -* @brief Side tray "Profile View" panel -* -* $LicenseInfo:firstyear=2009&license=viewerlgpl$ -* Second Life Viewer Source Code -* Copyright (C) 2010, Linden Research, Inc. -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; -* version 2.1 of the License only. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -* -* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -* $/LicenseInfo$ -*/ - -#ifndef LL_LLPANELPROFILEVIEW_H -#define LL_LLPANELPROFILEVIEW_H - -#include "llpanel.h" -#include "llpanelprofile.h" -#include "llavatarpropertiesprocessor.h" -#include "llagent.h" -#include "lltooldraganddrop.h" - -class LLAvatarName; -class LLPanelProfile; -class LLPanelProfileTab; -class LLTextBox; -class AvatarStatusObserver; - -/** -* Panel for displaying Avatar's profile. It consists of three sub panels - Profile, -* Picks and Notes. -*/ -class LLPanelProfileView : public LLPanelProfile -{ - LOG_CLASS(LLPanelProfileView); - friend class LLUICtrlFactory; - friend class AvatarStatusObserver; - -public: - - LLPanelProfileView(); - - /*virtual*/ ~LLPanelProfileView(); - - /*virtual*/ void onOpen(const LLSD& key); - - /*virtual*/ BOOL postBuild(); - - BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, - BOOL drop, EDragAndDropType cargo_type, - void *cargo_data, EAcceptance *accept, - std::string& tooltip_msg) - { - LLToolDragAndDrop::handleGiveDragAndDrop(getAvatarId(), gAgent.getSessionID(), drop, - cargo_type, cargo_data, accept); - - return TRUE; - } - - -protected: - - void onBackBtnClick(); - void onCopyToClipboard(); - bool isGrantedToSeeOnlineStatus(); - - /** - * Displays avatar's online status if possible. - * - * Requirements from EXT-3880: - * For friends: - * - Online when online and privacy settings allow to show - * - Offline when offline and privacy settings allow to show - * - Else: nothing - * For other avatars: - * - Online when online and was not set in Preferences/"Only Friends & Groups can see when I am online" - * - Else: Offline - */ - void updateOnlineStatus(); - void processOnlineStatus(bool online); - -private: - // LLCacheName will call this function when avatar name is loaded from server. - // This is required to display names that have not been cached yet. -// void onNameCache( -// const LLUUID& id, -// const std::string& full_name, -// bool is_group); - void onAvatarNameCache(const LLUUID& agent_id, const LLAvatarName& av_name); - - LLTextBox* mStatusText; - AvatarStatusObserver* mAvatarStatusObserver; -}; - -#endif //LL_LLPANELPROFILEVIEW_H diff --git a/indra/newview/llpaneltopinfobar.cpp b/indra/newview/llpaneltopinfobar.cpp index 5ed23d2f42..eb4c7572d4 100644 --- a/indra/newview/llpaneltopinfobar.cpp +++ b/indra/newview/llpaneltopinfobar.cpp @@ -203,6 +203,11 @@ void LLPanelTopInfoBar::onVisibilityChange(const LLSD& show) gFloaterView->setMinimizePositionVerticalOffset(minimize_pos_offset); } +boost::signals2::connection LLPanelTopInfoBar::setResizeCallback( const resize_signal_t::slot_type& cb ) +{ + return mResizeSignal.connect(cb); +} + void LLPanelTopInfoBar::draw() { updateParcelInfoText(); @@ -224,6 +229,7 @@ void LLPanelTopInfoBar::buildLocationString(std::string& loc_str, bool show_coor void LLPanelTopInfoBar::setParcelInfoText(const std::string& new_text) { + LLRect old_rect = getRect(); const LLFontGL* font = mParcelInfoText->getDefaultFont(); S32 new_text_width = font->getWidth(new_text); @@ -235,6 +241,11 @@ void LLPanelTopInfoBar::setParcelInfoText(const std::string& new_text) mParcelInfoText->reshape(rect.getWidth(), rect.getHeight(), TRUE); mParcelInfoText->setRect(rect); layoutParcelIcons(); + + if (old_rect != getRect()) + { + mResizeSignal(); + } } void LLPanelTopInfoBar::update() @@ -342,6 +353,8 @@ void LLPanelTopInfoBar::updateHealth() void LLPanelTopInfoBar::layoutParcelIcons() { + LLRect old_rect = getRect(); + // TODO: remove hard-coded values and read them as xml parameters static const int FIRST_ICON_HPAD = 32; static const int LAST_ICON_HPAD = 11; @@ -358,6 +371,11 @@ void LLPanelTopInfoBar::layoutParcelIcons() LLRect rect = getRect(); rect.set(rect.mLeft, rect.mTop, left + LAST_ICON_HPAD, rect.mBottom); setRect(rect); + + if (old_rect != getRect()) + { + mResizeSignal(); + } } S32 LLPanelTopInfoBar::layoutWidget(LLUICtrl* ctrl, S32 left) diff --git a/indra/newview/llpaneltopinfobar.h b/indra/newview/llpaneltopinfobar.h index e934b522be..d58d95be90 100644 --- a/indra/newview/llpaneltopinfobar.h +++ b/indra/newview/llpaneltopinfobar.h @@ -41,6 +41,8 @@ class LLPanelTopInfoBar : public LLPanel, public LLSingleton<LLPanelTopInfoBar>, friend class LLDestroyClass<LLPanelTopInfoBar>; public: + typedef boost::signals2::signal<void ()> resize_signal_t; + LLPanelTopInfoBar(); ~LLPanelTopInfoBar(); @@ -57,6 +59,8 @@ public: */ void onVisibilityChange(const LLSD& show); + boost::signals2::connection setResizeCallback( const resize_signal_t::slot_type& cb ); + private: class LLParcelChangeObserver; @@ -167,6 +171,8 @@ private: boost::signals2::connection mParcelPropsCtrlConnection; boost::signals2::connection mShowCoordsCtrlConnection; boost::signals2::connection mParcelMgrConnection; + + resize_signal_t mResizeSignal; }; #endif /* LLPANELTOPINFOBAR_H_ */ diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp index e0b07ed408..2d9d3241d8 100644 --- a/indra/newview/lltoast.cpp +++ b/indra/newview/lltoast.cpp @@ -419,25 +419,22 @@ void LLToast::onToastMouseLeave() S32 x, y; LLUI::getMousePositionScreen(&x, &y); - if( !panel_rc.pointInRect(x, y) && !button_rc.pointInRect(x, y)) - { - mOnToastHoverSignal(this, MOUSE_LEAVE); + mOnToastHoverSignal(this, MOUSE_LEAVE); - updateTransparency(); + updateTransparency(); - //toasts fading is management by Screen Channel + //toasts fading is management by Screen Channel - if(mHideBtn && mHideBtn->getEnabled()) + if(mHideBtn && mHideBtn->getEnabled()) + { + if( mHideBtnPressed ) { - if( mHideBtnPressed ) - { - mHideBtnPressed = false; - return; - } - mHideBtn->setVisible(FALSE); + mHideBtnPressed = false; + return; } - mToastMouseLeaveSignal(this, getValue()); + mHideBtn->setVisible(FALSE); } + mToastMouseLeaveSignal(this, getValue()); } void LLToast::setBackgroundOpaque(BOOL b) @@ -499,7 +496,31 @@ bool LLToast::isHovered() { S32 x, y; LLUI::getMousePositionScreen(&x, &y); - return mWrapperPanel->calcScreenRect().pointInRect(x, y); + + if (!mWrapperPanel->calcScreenRect().pointInRect(x, y)) + { + // mouse is not over this toast + return false; + } + + bool is_overlapped_by_other_floater = false; + + const child_list_t* child_list = gFloaterView->getChildList(); + + // find this toast in gFloaterView child list to check whether any floater + // with higher Z-order is visible under the mouse pointer overlapping this toast + child_list_const_reverse_iter_t r_iter = std::find(child_list->rbegin(), child_list->rend(), this); + if (r_iter != child_list->rend()) + { + // skip this toast and proceed to views above in Z-order + for (++r_iter; r_iter != child_list->rend(); ++r_iter) + { + LLView* view = *r_iter; + is_overlapped_by_other_floater = view->isInVisibleChain() && view->calcScreenRect().pointInRect(x, y); + if (is_overlapped_by_other_floater) break; + } + } + return !is_overlapped_by_other_floater; } //-------------------------------------------------------------------------- diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 273bf822bc..acbc5f8fb6 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -285,6 +285,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("stop_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotRunQueue>); LLFloaterReg::add("snapshot", "floater_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSnapshot>); LLFloaterReg::add("search", "floater_search.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSearch>); + LLFloaterReg::add("my_profile", "floater_my_web_profile.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterReg::add("profile", "floater_web_profile.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterReg::add("how_to", "floater_how_to.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); @@ -301,7 +302,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("web_content", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterReg::add("whitelist_entry", "floater_whitelist_entry.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWhiteListEntry>); - LLFloaterWindowSizeUtil::registerFloater(); + LLFloaterReg::add("window_size", "floater_window_size.xml", &LLFloaterReg::build<LLFloaterWindowSize>); LLFloaterReg::add("world_map", "floater_world_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWorldMap>); // *NOTE: Please keep these alphabetized for easier merges diff --git a/indra/newview/llviewerfoldertype.cpp b/indra/newview/llviewerfoldertype.cpp index c39df7efce..a179b61cff 100644 --- a/indra/newview/llviewerfoldertype.cpp +++ b/indra/newview/llviewerfoldertype.cpp @@ -30,7 +30,6 @@ #include "lldictionary.h" #include "llmemory.h" #include "llvisualparam.h" -#include "llviewercontrol.h" static const std::string empty_string; @@ -267,7 +266,7 @@ BOOL LLViewerFolderType::lookupIsQuietType(LLFolderType::EType folder_type) bool LLViewerFolderType::lookupIsHiddenIfEmpty(LLFolderType::EType folder_type) { const ViewerFolderEntry *entry = LLViewerFolderDictionary::getInstance()->lookup(folder_type); - if (gSavedSettings.getBOOL("DebugHideEmptySystemFolders") && entry) + if (entry) { return entry->mHideIfEmpty; } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 22d95563d8..74a43b66fa 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3122,7 +3122,7 @@ void handle_avatar_eject(const LLSD& avatar_id) bool my_profile_visible() { - LLFloater* floaterp = LLFloaterReg::findInstance("profile", LLSD().with("id", gAgent.getID())); + LLFloater* floaterp = LLAvatarActions::getProfileFloater(gAgentID); return floaterp && floaterp->isInVisibleChain(); } @@ -7803,24 +7803,6 @@ class LLWorldPostProcess : public view_listener_t } }; -class LLWorldToggleMovementControls : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - LLFloaterReg::toggleInstanceOrBringToFront("moveview"); - return true; - } -}; - -class LLWorldToggleCameraControls : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - LLFloaterReg::toggleInstanceOrBringToFront("camera"); - return true; - } -}; - void handle_flush_name_caches() { // Toggle display names on and off to flush @@ -7976,6 +7958,11 @@ void initialize_menus() // Agent commit.add("Agent.toggleFlying", boost::bind(&LLAgent::toggleFlying)); enable.add("Agent.enableFlying", boost::bind(&LLAgent::enableFlying)); + commit.add("Agent.PressMicrophone", boost::bind(&LLAgent::pressMicrophone, _2)); + commit.add("Agent.ReleaseMicrophone", boost::bind(&LLAgent::releaseMicrophone, _2)); + commit.add("Agent.ToggleMicrophone", boost::bind(&LLAgent::toggleMicrophone, _2)); + enable.add("Agent.IsMicrophoneOn", boost::bind(&LLAgent::isMicrophoneOn, _2)); + enable.add("Agent.IsActionAllowed", boost::bind(&LLAgent::isActionAllowed, _2)); // File menu init_menu_file(); @@ -8039,9 +8026,6 @@ void initialize_menus() view_listener_t::addMenu(new LLWorldEnableEnvPreset(), "World.EnableEnvPreset"); view_listener_t::addMenu(new LLWorldPostProcess(), "World.PostProcess"); - view_listener_t::addMenu(new LLWorldToggleMovementControls(), "World.Toggle.MovementControls"); - view_listener_t::addMenu(new LLWorldToggleCameraControls(), "World.Toggle.CameraControls"); - // Tools menu view_listener_t::addMenu(new LLToolsSelectTool(), "Tools.SelectTool"); view_listener_t::addMenu(new LLToolsSelectOnlyMyObjects(), "Tools.SelectOnlyMyObjects"); diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index d6002e7320..4f66b63d34 100644 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -1457,6 +1457,8 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use S32 other_clean_time = 0; + LLViewerParcelMgr& parcel_mgr = LLViewerParcelMgr::instance(); + msg->getS32Fast(_PREHASH_ParcelData, _PREHASH_RequestResult, request_result ); msg->getS32Fast(_PREHASH_ParcelData, _PREHASH_SequenceID, sequence_id ); @@ -1472,31 +1474,31 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use if (sequence_id == SELECTED_PARCEL_SEQ_ID) { // ...selected parcels report this sequence id - LLViewerParcelMgr::getInstance()->mRequestResult = PARCEL_RESULT_SUCCESS; - parcel = LLViewerParcelMgr::getInstance()->mCurrentParcel; + parcel_mgr.mRequestResult = PARCEL_RESULT_SUCCESS; + parcel = parcel_mgr.mCurrentParcel; } else if (sequence_id == HOVERED_PARCEL_SEQ_ID) { - LLViewerParcelMgr::getInstance()->mHoverRequestResult = PARCEL_RESULT_SUCCESS; - parcel = LLViewerParcelMgr::getInstance()->mHoverParcel; + parcel_mgr.mHoverRequestResult = PARCEL_RESULT_SUCCESS; + parcel = parcel_mgr.mHoverParcel; } else if (sequence_id == COLLISION_NOT_IN_GROUP_PARCEL_SEQ_ID || sequence_id == COLLISION_NOT_ON_LIST_PARCEL_SEQ_ID || sequence_id == COLLISION_BANNED_PARCEL_SEQ_ID) { - LLViewerParcelMgr::getInstance()->mHoverRequestResult = PARCEL_RESULT_SUCCESS; - parcel = LLViewerParcelMgr::getInstance()->mCollisionParcel; + parcel_mgr.mHoverRequestResult = PARCEL_RESULT_SUCCESS; + parcel = parcel_mgr.mCollisionParcel; } - else if (sequence_id == 0 || sequence_id > LLViewerParcelMgr::getInstance()->mAgentParcelSequenceID) + else if (sequence_id == 0 || sequence_id > parcel_mgr.mAgentParcelSequenceID) { // new agent parcel - LLViewerParcelMgr::getInstance()->mAgentParcelSequenceID = sequence_id; - parcel = LLViewerParcelMgr::getInstance()->mAgentParcel; + parcel_mgr.mAgentParcelSequenceID = sequence_id; + parcel = parcel_mgr.mAgentParcel; } else { llinfos << "out of order agent parcel sequence id " << sequence_id - << " last good " << LLViewerParcelMgr::getInstance()->mAgentParcelSequenceID + << " last good " << parcel_mgr.mAgentParcelSequenceID << llendl; return; } @@ -1567,15 +1569,15 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use parcel->setRegionDenyAgeUnverifiedOverride(region_deny_age_unverified_override); parcel->unpackMessage(msg); - if (parcel == LLViewerParcelMgr::getInstance()->mAgentParcel) + if (parcel == parcel_mgr.mAgentParcel) { - S32 bitmap_size = LLViewerParcelMgr::getInstance()->mParcelsPerEdge - * LLViewerParcelMgr::getInstance()->mParcelsPerEdge + S32 bitmap_size = parcel_mgr.mParcelsPerEdge + * parcel_mgr.mParcelsPerEdge / 8; U8* bitmap = new U8[ bitmap_size ]; msg->getBinaryDataFast(_PREHASH_ParcelData, _PREHASH_Bitmap, bitmap, bitmap_size); - LLViewerParcelMgr::getInstance()->writeAgentParcelFromBitmap(bitmap); + parcel_mgr.writeAgentParcelFromBitmap(bitmap); delete[] bitmap; // Let interesting parties know about agent parcel change. @@ -1595,11 +1597,11 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use if (sequence_id == SELECTED_PARCEL_SEQ_ID) { // Update selected counts - LLViewerParcelMgr::getInstance()->mCurrentParcelSelection->mSelectedSelfCount = self_count; - LLViewerParcelMgr::getInstance()->mCurrentParcelSelection->mSelectedOtherCount = other_count; - LLViewerParcelMgr::getInstance()->mCurrentParcelSelection->mSelectedPublicCount = public_count; + parcel_mgr.mCurrentParcelSelection->mSelectedSelfCount = self_count; + parcel_mgr.mCurrentParcelSelection->mSelectedOtherCount = other_count; + parcel_mgr.mCurrentParcelSelection->mSelectedPublicCount = public_count; - LLViewerParcelMgr::getInstance()->mCurrentParcelSelection->mSelectedMultipleOwners = + parcel_mgr.mCurrentParcelSelection->mSelectedMultipleOwners = (request_result == PARCEL_RESULT_MULTIPLE); // Select the whole parcel @@ -1610,67 +1612,67 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use { // don't muck with the westsouth and eastnorth. // just highlight it - LLVector3 west_south = region->getPosRegionFromGlobal(LLViewerParcelMgr::getInstance()->mWestSouth); - LLVector3 east_north = region->getPosRegionFromGlobal(LLViewerParcelMgr::getInstance()->mEastNorth); + LLVector3 west_south = region->getPosRegionFromGlobal(parcel_mgr.mWestSouth); + LLVector3 east_north = region->getPosRegionFromGlobal(parcel_mgr.mEastNorth); - LLViewerParcelMgr::getInstance()->resetSegments(LLViewerParcelMgr::getInstance()->mHighlightSegments); - LLViewerParcelMgr::getInstance()->writeHighlightSegments( + parcel_mgr.resetSegments(parcel_mgr.mHighlightSegments); + parcel_mgr.writeHighlightSegments( west_south.mV[VX], west_south.mV[VY], east_north.mV[VX], east_north.mV[VY] ); - LLViewerParcelMgr::getInstance()->mCurrentParcelSelection->mWholeParcelSelected = FALSE; + parcel_mgr.mCurrentParcelSelection->mWholeParcelSelected = FALSE; } else if (0 == local_id) { // this is public land, just highlight the selection - LLViewerParcelMgr::getInstance()->mWestSouth = region->getPosGlobalFromRegion( aabb_min ); - LLViewerParcelMgr::getInstance()->mEastNorth = region->getPosGlobalFromRegion( aabb_max ); + parcel_mgr.mWestSouth = region->getPosGlobalFromRegion( aabb_min ); + parcel_mgr.mEastNorth = region->getPosGlobalFromRegion( aabb_max ); - LLViewerParcelMgr::getInstance()->resetSegments(LLViewerParcelMgr::getInstance()->mHighlightSegments); - LLViewerParcelMgr::getInstance()->writeHighlightSegments( + parcel_mgr.resetSegments(parcel_mgr.mHighlightSegments); + parcel_mgr.writeHighlightSegments( aabb_min.mV[VX], aabb_min.mV[VY], aabb_max.mV[VX], aabb_max.mV[VY] ); - LLViewerParcelMgr::getInstance()->mCurrentParcelSelection->mWholeParcelSelected = TRUE; + parcel_mgr.mCurrentParcelSelection->mWholeParcelSelected = TRUE; } else { - LLViewerParcelMgr::getInstance()->mWestSouth = region->getPosGlobalFromRegion( aabb_min ); - LLViewerParcelMgr::getInstance()->mEastNorth = region->getPosGlobalFromRegion( aabb_max ); + parcel_mgr.mWestSouth = region->getPosGlobalFromRegion( aabb_min ); + parcel_mgr.mEastNorth = region->getPosGlobalFromRegion( aabb_max ); // Owned land, highlight the boundaries - S32 bitmap_size = LLViewerParcelMgr::getInstance()->mParcelsPerEdge - * LLViewerParcelMgr::getInstance()->mParcelsPerEdge + S32 bitmap_size = parcel_mgr.mParcelsPerEdge + * parcel_mgr.mParcelsPerEdge / 8; U8* bitmap = new U8[ bitmap_size ]; msg->getBinaryDataFast(_PREHASH_ParcelData, _PREHASH_Bitmap, bitmap, bitmap_size); - LLViewerParcelMgr::getInstance()->resetSegments(LLViewerParcelMgr::getInstance()->mHighlightSegments); - LLViewerParcelMgr::getInstance()->writeSegmentsFromBitmap( bitmap, LLViewerParcelMgr::getInstance()->mHighlightSegments ); + parcel_mgr.resetSegments(parcel_mgr.mHighlightSegments); + parcel_mgr.writeSegmentsFromBitmap( bitmap, parcel_mgr.mHighlightSegments ); delete[] bitmap; bitmap = NULL; - LLViewerParcelMgr::getInstance()->mCurrentParcelSelection->mWholeParcelSelected = TRUE; + parcel_mgr.mCurrentParcelSelection->mWholeParcelSelected = TRUE; } // Request access list information for this land - LLViewerParcelMgr::getInstance()->sendParcelAccessListRequest(AL_ACCESS | AL_BAN); + parcel_mgr.sendParcelAccessListRequest(AL_ACCESS | AL_BAN); // Request the media url filter list for this land - LLViewerParcelMgr::getInstance()->requestParcelMediaURLFilter(); + parcel_mgr.requestParcelMediaURLFilter(); // Request dwell for this land, if it's not public land. - LLViewerParcelMgr::getInstance()->mSelectedDwell = DWELL_NAN; + parcel_mgr.mSelectedDwell = DWELL_NAN; if (0 != local_id) { - LLViewerParcelMgr::getInstance()->sendParcelDwellRequest(); + parcel_mgr.sendParcelDwellRequest(); } - LLViewerParcelMgr::getInstance()->mSelected = TRUE; - LLViewerParcelMgr::getInstance()->notifyObservers(); + parcel_mgr.mSelected = TRUE; + parcel_mgr.notifyObservers(); } } else if (sequence_id == COLLISION_NOT_IN_GROUP_PARCEL_SEQ_ID || @@ -1678,32 +1680,32 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use sequence_id == COLLISION_BANNED_PARCEL_SEQ_ID) { // We're about to collide with this parcel - LLViewerParcelMgr::getInstance()->mRenderCollision = TRUE; - LLViewerParcelMgr::getInstance()->mCollisionTimer.reset(); + parcel_mgr.mRenderCollision = TRUE; + parcel_mgr.mCollisionTimer.reset(); // Differentiate this parcel if we are banned from it. if (sequence_id == COLLISION_BANNED_PARCEL_SEQ_ID) { - LLViewerParcelMgr::getInstance()->mCollisionBanned = BA_BANNED; + parcel_mgr.mCollisionBanned = BA_BANNED; } else if (sequence_id == COLLISION_NOT_IN_GROUP_PARCEL_SEQ_ID) { - LLViewerParcelMgr::getInstance()->mCollisionBanned = BA_NOT_IN_GROUP; + parcel_mgr.mCollisionBanned = BA_NOT_IN_GROUP; } else { - LLViewerParcelMgr::getInstance()->mCollisionBanned = BA_NOT_ON_LIST; + parcel_mgr.mCollisionBanned = BA_NOT_ON_LIST; } - S32 bitmap_size = LLViewerParcelMgr::getInstance()->mParcelsPerEdge - * LLViewerParcelMgr::getInstance()->mParcelsPerEdge + S32 bitmap_size = parcel_mgr.mParcelsPerEdge + * parcel_mgr.mParcelsPerEdge / 8; U8* bitmap = new U8[ bitmap_size ]; msg->getBinaryDataFast(_PREHASH_ParcelData, _PREHASH_Bitmap, bitmap, bitmap_size); - LLViewerParcelMgr::getInstance()->resetSegments(LLViewerParcelMgr::getInstance()->mCollisionSegments); - LLViewerParcelMgr::getInstance()->writeSegmentsFromBitmap( bitmap, LLViewerParcelMgr::getInstance()->mCollisionSegments ); + parcel_mgr.resetSegments(parcel_mgr.mCollisionSegments); + parcel_mgr.writeSegmentsFromBitmap( bitmap, parcel_mgr.mCollisionSegments ); delete[] bitmap; bitmap = NULL; @@ -1714,13 +1716,13 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use LLViewerRegion *region = LLWorld::getInstance()->getRegion( msg->getSender() ); if (region) { - LLViewerParcelMgr::getInstance()->mHoverWestSouth = region->getPosGlobalFromRegion( aabb_min ); - LLViewerParcelMgr::getInstance()->mHoverEastNorth = region->getPosGlobalFromRegion( aabb_max ); + parcel_mgr.mHoverWestSouth = region->getPosGlobalFromRegion( aabb_min ); + parcel_mgr.mHoverEastNorth = region->getPosGlobalFromRegion( aabb_max ); } else { - LLViewerParcelMgr::getInstance()->mHoverWestSouth.clearVec(); - LLViewerParcelMgr::getInstance()->mHoverEastNorth.clearVec(); + parcel_mgr.mHoverWestSouth.clearVec(); + parcel_mgr.mHoverEastNorth.clearVec(); } } else diff --git a/indra/newview/llviewerprecompiledheaders.h b/indra/newview/llviewerprecompiledheaders.h index 12f6a0dd1c..f738b84bb9 100644 --- a/indra/newview/llviewerprecompiledheaders.h +++ b/indra/newview/llviewerprecompiledheaders.h @@ -124,4 +124,7 @@ // Library includes from llmessage project #include "llcachename.h" +// Library includes from llxuixml +#include "llinitparam.h" + #endif diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 140cbb4e04..2479006eeb 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -838,6 +838,20 @@ void LLViewerWindow::updateDebugText() // LLViewerWindow // +LLViewerWindow::Params::Params() +: title("title"), + name("name"), + x("x"), + y("y"), + width("width"), + height("height"), + min_width("min_width"), + min_height("min_height"), + fullscreen("fullscreen", false), + ignore_pixel_depth("ignore_pixel_depth", false) +{} + + BOOL LLViewerWindow::handleAnyMouseClick(LLWindow *window, LLCoordGL pos, MASK mask, LLMouseHandler::EClickType clicktype, BOOL down) { const char* buttonname = ""; @@ -1531,18 +1545,13 @@ std::string LLViewerWindow::translateString(const char* tag, // // Classes // -LLViewerWindow::LLViewerWindow( - const std::string& title, const std::string& name, - S32 x, S32 y, - S32 width, S32 height, - BOOL fullscreen, BOOL ignore_pixel_depth) // fullscreen is no longer used - : - mWindow(NULL), +LLViewerWindow::LLViewerWindow(const Params& p) +: mWindow(NULL), mActive(true), mUIVisible(true), - mWindowRectRaw(0, height, width, 0), - mWindowRectScaled(0, height, width, 0), - mWorldViewRectRaw(0, height, width, 0), + mWindowRectRaw(0, p.height, p.width, 0), + mWindowRectScaled(0, p.height, p.width, 0), + mWorldViewRectRaw(0, p.height, p.width, 0), mLeftMouseDown(FALSE), mMiddleMouseDown(FALSE), mRightMouseDown(FALSE), @@ -1578,12 +1587,12 @@ LLViewerWindow::LLViewerWindow( // create window mWindow = LLWindowManager::createWindow(this, - title, name, x, y, width, height, 0, - fullscreen, + p.title, p.name, p.x, p.y, p.width, p.height, 0, + p.fullscreen, gHeadlessClient, gSavedSettings.getBOOL("DisableVerticalSync"), !gHeadlessClient, - ignore_pixel_depth, + p.ignore_pixel_depth, gSavedSettings.getBOOL("RenderDeferred") ? 0 : gSavedSettings.getU32("RenderFSAASamples")); //don't use window level anti-aliasing if FBOs are enabled if (NULL == mWindow) @@ -1610,10 +1619,11 @@ LLViewerWindow::LLViewerWindow( LL_WARNS("Window") << " Someone took over my signal/exception handler (post createWindow)!" << LL_ENDL; } + mWindow->setMinSize(p.min_width, p.min_height); LLCoordScreen scr; mWindow->getSize(&scr); - if(fullscreen && ( scr.mX!=width || scr.mY!=height)) + if(p.fullscreen && ( scr.mX!=p.width || scr.mY!=p.height)) { llwarns << "Fullscreen has forced us in to a different resolution now using "<<scr.mX<<" x "<<scr.mY<<llendl; gSavedSettings.setS32("FullScreenWidth",scr.mX); @@ -2157,21 +2167,11 @@ void LLViewerWindow::reshape(S32 width, S32 height) BOOL maximized = mWindow->getMaximized(); gSavedSettings.setBOOL("WindowMaximized", maximized); - LLCoordScreen window_size; - if (!maximized - && mWindow->getSize(&window_size)) + if (!maximized) { U32 min_window_width=gSavedSettings.getU32("MinWindowWidth"); - if ( window_size.mX < min_window_width ) - window_size.mX=min_window_width; - gSavedSettings.setU32("WindowWidth", window_size.mX); - U32 min_window_height=gSavedSettings.getU32("MinWindowHeight"); - if ( window_size.mY < min_window_height ) - window_size.mY=min_window_height; - gSavedSettings.setU32("WindowHeight", window_size.mY); - - // tell the OS specific window code about min windoow size + // tell the OS specific window code about min window size mWindow->setMinSize(min_window_width, min_window_height); } @@ -4099,25 +4099,18 @@ void LLViewerWindow::resetSnapshotLoc() sSnapshotDir.clear(); } -static S32 BORDERHEIGHT = 0; -static S32 BORDERWIDTH = 0; - // static void LLViewerWindow::movieSize(S32 new_width, S32 new_height) { - LLCoordScreen size; + LLCoordWindow size; gViewerWindow->getWindow()->getSize(&size); - if ( (size.mX != new_width + BORDERWIDTH) - ||(size.mY != new_height + BORDERHEIGHT)) - { - // use actual display dimensions, not virtual UI dimensions - S32 x = gViewerWindow->getWindowWidthRaw(); - S32 y = gViewerWindow->getWindowHeightRaw(); - BORDERWIDTH = size.mX - x; - BORDERHEIGHT = size.mY- y; - LLCoordScreen new_size(new_width + BORDERWIDTH, - new_height + BORDERHEIGHT); - gViewerWindow->getWindow()->setSize(new_size); + if ( size.mX != new_width + || size.mY != new_height) + { + LLCoordWindow new_size(new_width, new_height); + LLCoordScreen screen_size; + gViewerWindow->getWindow()->convertCoords(new_size, &screen_size); + gViewerWindow->getWindow()->setSize(screen_size); } } diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 0cb7f82b58..6efcaeaf18 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -44,6 +44,7 @@ #include "llstat.h" #include "llmousehandler.h" #include "llhandle.h" +#include "llinitparam.h" #include <boost/function.hpp> #include <boost/signals2.hpp> @@ -133,7 +134,23 @@ public: // // CREATORS // - LLViewerWindow(const std::string& title, const std::string& name, S32 x, S32 y, S32 width, S32 height, BOOL fullscreen, BOOL ignore_pixel_depth); + struct Params : public LLInitParam::Block<Params> + { + Mandatory<std::string> title, + name; + Mandatory<S32> x, + y, + width, + height, + min_width, + min_height; + Optional<bool> fullscreen, + ignore_pixel_depth; + + Params(); + }; + + LLViewerWindow(const Params& p); virtual ~LLViewerWindow(); void shutdownViews(); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 380d63c77b..1bf991a3a9 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -3266,7 +3266,7 @@ void LLVOVolume::updateRenderComplexity() mRenderComplexity_current = 0; } -U32 LLVOVolume::getTriangleCount() const +U32 LLVOVolume::getTriangleCount() { U32 count = 0; LLVolume* volume = getVolume(); diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index b6347526ee..22648ce46f 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -131,9 +131,11 @@ public: /*virtual*/ const LLMatrix4 getRenderMatrix() const; typedef std::map<LLUUID, S32> texture_cost_t; U32 getRenderCost(texture_cost_t &textures) const; - /*virtual*/ F32 getStreamingCost(S32* bytes = NULL, S32* visible_bytes = NULL, F32* unscaled_value = NULL) const; - /*virtual*/ U32 getTriangleCount() const; + F32 getStreamingCost(S32* bytes, S32* visible_bytes, F32* unscaled_value) const; + /*virtual*/ F32 getStreamingCost(S32* bytes = NULL, S32* visible_bytes = NULL) { return getStreamingCost(bytes, visible_bytes, NULL); } + + /*virtual*/ U32 getTriangleCount(); /*virtual*/ U32 getHighLODTriangleCount(); /*virtual*/ BOOL lineSegmentIntersect(const LLVector3& start, const LLVector3& end, S32 face = -1, // which face to check, -1 = ALL_SIDES diff --git a/indra/newview/skins/default/xui/da/panel_my_profile.xml b/indra/newview/skins/default/xui/da/panel_my_profile.xml deleted file mode 100644 index 94da58389f..0000000000 --- a/indra/newview/skins/default/xui/da/panel_my_profile.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil" name="panel_profile"> - <string name="no_partner_text" value="Ingen"/> - <string name="no_group_text" value="Ingen"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - Brugernavn - </text> - <text name="name_descr_text"> - Visningsnavn - </text> - <button label="Profil" name="see_profile_btn" tool_tip="Se profil for denne avatar"/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_notes.xml b/indra/newview/skins/default/xui/da/panel_notes.xml deleted file mode 100644 index 7d8097f6ff..0000000000 --- a/indra/newview/skins/default/xui/da/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Noter & Privatliv" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="Min private noter:"/> - <text name="status_message2" value="Tillad denne person at:"/> - <check_box label="Se min online status" name="status_check"/> - <check_box label="Se mig på kortet" name="map_check"/> - <check_box label="Editére, slette og tage mine objekter" name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Tilføj ven" name="add_friend" tool_tip="Tilbyd venskab til beboer"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Åben session med personlige beskeder"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Opkald" name="call" tool_tip="Opkald til denne beboer"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Kort" name="show_on_map_btn" tool_tip="Vis denne beboer på kortet"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportér" name="teleport" tool_tip="Tilbyd teleport"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_profile.xml b/indra/newview/skins/default/xui/da/panel_profile.xml deleted file mode 100644 index db85eb23a8..0000000000 --- a/indra/newview/skins/default/xui/da/panel_profile.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil" name="panel_profile"> - <string name="no_partner_text" value="Ingen"/> - <string name="no_group_text" value="Ingen"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="Real World:"/> - </panel> - <text name="title_member_text" value="Beboer siden:"/> - <text name="title_acc_status_text" value="Konto status:"/> - <text name="title_partner_text" value="Partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(henter)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="Grupper:"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Tilføj ven" name="add_friend" tool_tip="Tilbyd venskab til beboeren"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="Personlig besked" name="im" tool_tip="Åben session med personlig besked"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Opkald" name="call" tool_tip="Opkald til denne beboer"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Teleportér" name="teleport" tool_tip="Tilbyd teleport"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="Betal eller del beholdning med denne beboer"/> - </layout_panel> - </layout_stack> - </layout_panel> - <layout_panel name="profile_me_buttons_panel"> - <button label="Redigér profil" name="edit_profile_btn" tool_tip="Redigér din personlige information"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_profile_view.xml b/indra/newview/skins/default/xui/da/panel_profile_view.xml deleted file mode 100644 index e6e8ca4d10..0000000000 --- a/indra/newview/skins/default/xui/da/panel_profile_view.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - Online - </string> - <string name="status_offline"> - Offline - </string> - <text name="display_name_label" value="Visningsnavn:"/> - <text name="solo_username_label" value="Brugernavn:"/> - <text name="status" value="Online"/> - <text name="user_name_small" value="Se på mig med dette enormt ekstremt super lange navn"/> - <button name="copy_to_clipboard" tool_tip="Kopiér til udskriftsholder"/> - <text name="user_label" value="Brugernavn:"/> - <tab_container name="tabs"> - <panel label="PROFIL" name="panel_profile"/> - <panel label="FAVORITTER" name="panel_picks"/> - <panel label="NOTER & PRIVATLIV" name="panel_notes"/> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_my_profile.xml b/indra/newview/skins/default/xui/de/panel_my_profile.xml deleted file mode 100644 index 89a4dfdaba..0000000000 --- a/indra/newview/skins/default/xui/de/panel_my_profile.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=de-DE - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=de - </string> - <string name="my_account_link_url" value="http://secondlife.com/my/account/index.php?lang=de-DE"/> - <string name="no_partner_text" value="Keiner"/> - <string name="no_group_text" value="Keiner"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - Benutzername - </text> - <text name="name_descr_text"> - Anzeigename - </text> - <button label="Profil" name="see_profile_btn" tool_tip="Profil zu diesem Avatar anzeigen"/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_notes.xml b/indra/newview/skins/default/xui/de/panel_notes.xml deleted file mode 100644 index ef1961b63d..0000000000 --- a/indra/newview/skins/default/xui/de/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Notizen & Privatsphäre" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="Meine Notizen:"/> - <text name="status_message2" value="Diese Person kann:"/> - <check_box label="meinen Online-Status sehen." name="status_check"/> - <check_box label="mich auf der Karte sehen." name="map_check"/> - <check_box label="meine Objekte bearbeiten, löschen oder nehmen." name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Freund hinzufügen" name="add_friend" tool_tip="Dem Einwohner die Freundschaft anbieten"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Instant Messenger öffnen"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Anrufen" name="call" tool_tip="Diesen Einwohner anrufen"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Karte" name="show_on_map_btn" tool_tip="Einwohner auf Karte anzeigen"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportieren" name="teleport" tool_tip="Teleport anbieten"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_profile.xml b/indra/newview/skins/default/xui/de/panel_profile.xml deleted file mode 100644 index b4c6e67108..0000000000 --- a/indra/newview/skins/default/xui/de/panel_profile.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=de-DE - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=de - </string> - <string name="my_account_link_url" value="http://secondlife.com/my/account/index.php?lang=de-DE"/> - <string name="no_partner_text" value="Keiner"/> - <string name="no_group_text" value="Keiner"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="Echtes Leben:"/> - </panel> - <text name="title_member_text" value="Einwohner seit:"/> - <text name="title_acc_status_text" value="Kontostatus:"/> - <text_editor name="acc_status_text"> - Einwohner. Keine Zahlungsinfo archiviert. - Linden. - </text_editor> - <text name="title_partner_text" value="Partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(wird in Datenbank gesucht)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="Gruppen:"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Freund hinzufügen" name="add_friend" tool_tip="Dem Einwohner die Freundschaft anbieten"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Instant Messenger öffnen"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Anrufen" name="call" tool_tip="Diesen Einwohner anrufen"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Teleportieren" name="teleport" tool_tip="Teleport anbieten"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="Dem Einwohner Geld geben oder Inventar an den Einwohner schicken"/> - </layout_panel> - </layout_stack> - </layout_panel> - <layout_panel name="profile_me_buttons_panel"> - <button label="Profil bearbeiten" name="edit_profile_btn" tool_tip="Ihre persönlichen Informationen bearbeiten"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_profile_view.xml b/indra/newview/skins/default/xui/de/panel_profile_view.xml deleted file mode 100644 index 7e93bd1ede..0000000000 --- a/indra/newview/skins/default/xui/de/panel_profile_view.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - Online - </string> - <string name="status_offline"> - Offline - </string> - <text name="display_name_label" value="Anzeigename:"/> - <text name="solo_username_label" value="Benutzername:"/> - <text name="status" value="Online"/> - <text name="user_name_small" value="Dieser Name ist ein ganz außerordentlich langer Name"/> - <button name="copy_to_clipboard" tool_tip="In Zwischenablage kopieren"/> - <text name="user_label" value="Benutzername:"/> - <tab_container name="tabs" tab_min_width="60"> - <panel label="PROFIL" name="panel_profile"/> - <panel label="AUSWAHL" name="panel_picks"/> - <panel label="NOTIZEN & PRIVATSPHÄRE" name="panel_notes"/> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index cb7d91abb8..0ef6709f11 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -5,6 +5,7 @@ default_tab_group="1" follows="all" height="350" + help_topic="floater_im_box" layout="topleft" name="panel_im" can_dock="false" diff --git a/indra/newview/skins/default/xui/en/floater_my_web_profile.xml b/indra/newview/skins/default/xui/en/floater_my_web_profile.xml new file mode 100644 index 0000000000..df46fc198f --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_my_web_profile.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="floater_my_web_profile" + help_topic="web_profile" + width="780" + height="775" + save_rect="true" + single_instance="true" + reuse_instance="false" + filename="floater_web_content.xml"/>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/floater_people.xml b/indra/newview/skins/default/xui/en/floater_people.xml index 32dda1b694..d6d8431150 100644 --- a/indra/newview/skins/default/xui/en/floater_people.xml +++ b/indra/newview/skins/default/xui/en/floater_people.xml @@ -26,10 +26,6 @@ name="panel_people" filename="panel_people.xml"/> <panel - class="panel_profile_view" - name="panel_profile_view" - filename="panel_profile_view.xml"/> - <panel class="panel_group_info_sidetray" name="panel_group_info_sidetray" filename="panel_group_info_sidetray.xml" diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 263d961be1..8e9e555c52 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -9,14 +9,6 @@ name="Me" tear_off="true"> <menu_item_call - label="Dashboard..." - name="Manage My Account"> - <menu_item_call.on_click - function="PromptShowURL" - name="ManageMyAccount_url" - parameter="WebLaunchJoinNow,http://secondlife.com/account/" /> - </menu_item_call> - <menu_item_call label="Profile..." name="Profile"> <menu_item_call.on_click @@ -31,6 +23,14 @@ <menu_item_call.on_enable function="Edit.EnableCustomizeAvatar" /> </menu_item_call> + <menu_item_call + label="Choose an avatar..." + name="Avatar Picker"> + <menu_item_call.on_click + function="Floater.ToggleOrBringToFront" + parameter="avatar" /> + </menu_item_call> + <menu_item_separator/> <menu_item_check label="Inventory..." name="Inventory" @@ -52,29 +52,28 @@ function="Inventory.NewWindow" parameter="" /> </menu_item_call> - <menu_item_check - label="Gestures..." - name="Gestures" - shortcut="control|G"> - <menu_item_check.on_check - function="Floater.Visible" - parameter="gestures" /> - <menu_item_check.on_click - function="Floater.Toggle" - parameter="gestures" /> - </menu_item_check> - <menu_item_check - label="Voice..." - name="ShowVoice" - visibility_control="VoiceMorphingEnabled"> - <menu_item_check.on_check - function="Floater.Visible" - Parameter="voice_effect" /> - <menu_item_check.on_click - function="Floater.Toggle" - parameter="voice_effect" /> - </menu_item_check> - + <menu_item_call + label="Places..." + name="Places"> + <menu_item_call.on_click + function="Floater.ToggleOrBringToFront" + parameter="places" /> + </menu_item_call> + <menu_item_call + label="Picks..." + name="Picks"> + <menu_item_call.on_click + function="Floater.ToggleOrBringToFront" + parameter="picks" /> + </menu_item_call> + <menu_item_separator/> + <menu_item_call + label="Camera Controls..." + name="Camera Controls"> + <menu_item_call.on_click + function="Floater.ToggleOrBringToFront" + parameter="camera" /> + </menu_item_call> <menu create_jump_keys="true" label="Movement" @@ -117,6 +116,13 @@ <menu_item_call.on_click function="Tools.StopAllAnimations" /> </menu_item_call> + <menu_item_call + label="Walk / run / fly..." + name="Stop Animating My Avatar"> + <menu_item_call.on_click + function="Floater.ToggleOrBringToFront" + parameter="moveview" /> + </menu_item_call> </menu> <menu @@ -163,6 +169,14 @@ <menu_item_call.on_click function="BuyCurrency" /> </menu_item_call> + <menu_item_call + label="Account dashboard..." + name="Manage My Account"> + <menu_item_call.on_click + function="PromptShowURL" + name="ManageMyAccount_url" + parameter="WebLaunchJoinNow,http://secondlife.com/account/" /> + </menu_item_call> <menu_item_separator/> @@ -205,25 +219,6 @@ label="Communicate" name="Communicate" tear_off="true"> - <menu_item_call - label="My Friends" - name="My Friends" - shortcut="control|shift|F"> - <menu_item_call.on_click - function="SideTray.PanelPeopleTab" - parameter="friends_panel" /> - </menu_item_call> - <menu_item_call - label="My Groups" - name="My Groups" - shortcut="control|shift|G"> - <menu_item_call.on_click - function="SideTray.PanelPeopleTab" - parameter="groups_panel" /> - </menu_item_call> - - <menu_item_separator/> - <!--menu_item_call label="Chat" name="Chat"> @@ -231,7 +226,7 @@ function="World.Chat" /> </menu_item_call--> <menu_item_check - label="Nearby Chat" + label="Chat..." name="Nearby Chat" shortcut="control|H" use_mac_ctrl="true"> @@ -242,16 +237,21 @@ function="Floater.Toggle" parameter="chat_bar" /> </menu_item_check> - <menu_item_call - label="Nearby People" - name="Active Speakers" - shortcut="control|shift|A"> - <menu_item_call.on_click - function="SideTray.PanelPeopleTab" - parameter="nearby_panel" /> - </menu_item_call> <menu_item_check - label="Nearby Voice" + label="Speak" + name="Speak"> + <menu_item_check.on_check + function="Agent.IsMicrophoneOn" + parameter="speak" /> + <menu_item_check.on_enable + function="Agent.IsActionAllowed" + parameter="speak" /> + <menu_item_check.on_click + function="Agent.ToggleMicrophone" + parameter="speak" /> + </menu_item_check> + <menu_item_check + label="Voice settings..." name="Nearby Voice"> <menu_item_check.on_check function="Floater.Visible" @@ -260,12 +260,86 @@ function="Floater.Toggle" parameter="voice_controls" /> </menu_item_check> + <menu_item_check + label="Voice morphing..." + name="ShowVoice" + visibility_control="VoiceMorphingEnabled"> + <menu_item_check.on_check + function="Floater.Visible" + parameter="voice_effect" /> + <menu_item_check.on_click + function="Floater.Toggle" + parameter="voice_effect" /> + </menu_item_check> + <menu_item_check + label="Gestures..." + name="Gestures" + shortcut="control|G"> + <menu_item_check.on_check + function="Floater.Visible" + parameter="gestures" /> + <menu_item_check.on_click + function="Floater.Toggle" + parameter="gestures" /> + </menu_item_check> + <menu_item_separator/> + <menu_item_call + label="Friends" + name="My Friends" + shortcut="control|shift|F"> + <menu_item_call.on_click + function="SideTray.PanelPeopleTab" + parameter="friends_panel" /> + </menu_item_call> + <menu_item_call + label="Groups" + name="My Groups" + shortcut="control|shift|G"> + <menu_item_call.on_click + function="SideTray.PanelPeopleTab" + parameter="groups_panel" /> + </menu_item_call> + <menu_item_call + label="Nearby people" + name="Active Speakers" + shortcut="control|shift|A"> + <menu_item_call.on_click + function="SideTray.PanelPeopleTab" + parameter="nearby_panel" /> + </menu_item_call> </menu> <menu create_jump_keys="true" label="World" name="World" tear_off="true"> + <menu_item_call + label="Landmark This Place" + name="Create Landmark Here"> + <menu_item_call.on_click + function="World.CreateLandmark" /> + <menu_item_call.on_enable + function="World.EnableCreateLandmark" /> + </menu_item_call> + <menu_item_call + label="Destinations..." + name="Destinations"> + <menu_item_call.on_click + function="Floater.ToggleOrBringToFront" + parameter="destinations" /> + </menu_item_call> + <menu_item_check + label="World map" + name="World Map" + shortcut="control|M" + use_mac_ctrl="true"> + <menu_item_check.on_check + function="Floater.Visible" + parameter="world_map" /> + <menu_item_check.on_click + function="Floater.Toggle" + parameter="world_map" /> + </menu_item_check> <menu_item_check label="Mini-map" name="Mini-Map" @@ -277,18 +351,6 @@ function="Floater.Toggle" parameter="mini_map" /> </menu_item_check> - <menu_item_check - label="World Map" - name="World Map" - shortcut="control|M" - use_mac_ctrl="true"> - <menu_item_check.on_check - function="Floater.Visible" - parameter="world_map" /> - <menu_item_check.on_click - function="Floater.Toggle" - parameter="world_map" /> - </menu_item_check> <menu_item_check label="Search" name="Search" @@ -300,6 +362,25 @@ function="Floater.Toggle" parameter="search" /> </menu_item_check> + <menu_item_separator/> + <menu_item_call + label="Teleport home" + name="Teleport Home" + shortcut="control|shift|H"> + <menu_item_call.on_click + function="World.TeleportHome" /> + <menu_item_call.on_enable + function="World.EnableTeleportHome" /> + </menu_item_call> + <menu_item_call + label="Set home to here" + name="Set Home to Here"> + <menu_item_call.on_click + function="World.SetHomeLocation" /> + <menu_item_call.on_enable + function="World.EnableSetHomeLocation" /> + </menu_item_call> + <menu_item_separator/> <menu_item_call label="Snapshot" name="Take Snapshot" @@ -308,82 +389,51 @@ function="Floater.Show" parameter="snapshot" /> </menu_item_call> - <menu_item_call - label="Landmark This Place" - name="Create Landmark Here"> - <menu_item_call.on_click - function="World.CreateLandmark" /> - <menu_item_call.on_enable - function="World.EnableCreateLandmark" /> - </menu_item_call> - <menu - create_jump_keys="true" - label="Place Profile" - name="Land" - tear_off="true"> + <menu_item_separator/> <menu_item_call - label="Place Profile" + label="Place profile" layout="topleft" name="Place Profile"> <menu_item_call.on_click function="World.PlaceProfile" /> </menu_item_call> <menu_item_call - label="About Land" + label="About land" name="About Land"> <menu_item_call.on_click function="Floater.Show" parameter="about_land" /> </menu_item_call> <menu_item_call - label="Region/Estate" + label="Region / Estate" name="Region/Estate"> <menu_item_call.on_click function="Floater.Show" parameter="region_info" /> </menu_item_call> - </menu> + <menu_item_call + label="My land holdings..." + name="My Land"> + <menu_item_call.on_click + function="Floater.Show" + parameter="land_holdings" /> + </menu_item_call> + <menu_item_call + label="Buy this land" + name="Buy Land"> + <menu_item_call.on_click + function="Land.Buy" /> + <menu_item_call.on_enable + function="World.EnableBuyLand" /> + </menu_item_call> <menu_item_separator/> - <menu_item_call - label="Buy This Land" - name="Buy Land"> - <menu_item_call.on_click - function="Land.Buy" /> - <menu_item_call.on_enable - function="World.EnableBuyLand" /> - </menu_item_call> - <menu_item_call - label="My Land" - name="My Land"> - <menu_item_call.on_click - function="Floater.Show" - parameter="land_holdings" /> - </menu_item_call> <menu create_jump_keys="true" label="Show" name="LandShow" tear_off="true"> - <menu_item_check - label="Move Controls" - name="Movement Controls"> - <menu_item_check.on_check - function="Floater.Visible" - parameter="moveview" /> - <menu_item_check.on_click - function="World.Toggle.MovementControls" /> - </menu_item_check> - <menu_item_check - label="View Controls" - name="Camera Controls"> - <menu_item_check.on_check - function="Floater.Visible" - parameter="camera" /> - <menu_item_check.on_click - function="World.Toggle.CameraControls" /> - </menu_item_check> <menu_item_check label="Ban Lines" name="Ban Lines"> @@ -456,24 +506,6 @@ </menu> <menu_item_separator/> - - <menu_item_call - label="Teleport Home" - name="Teleport Home" - shortcut="control|shift|H"> - <menu_item_call.on_click - function="World.TeleportHome" /> - <menu_item_call.on_enable - function="World.EnableTeleportHome" /> - </menu_item_call> - <menu_item_call - label="Set Home to Here" - name="Set Home to Here"> - <menu_item_call.on_click - function="World.SetHomeLocation" /> - <menu_item_call.on_enable - function="World.EnableSetHomeLocation" /> - </menu_item_call> <!-- <menu_item_check label="Show Navigation Bar" name="ShowNavbarNavigationPanel"> @@ -496,8 +528,6 @@ </menu_item_check> <menu_item_separator/>--> - <menu_item_separator/> - <menu create_jump_keys="true" label="Sun" @@ -1147,6 +1177,13 @@ name="Help" tear_off="true"> <menu_item_call + label="How to..." + name="How To"> + <menu_item_call.on_click + function="Help.ToggleHowTo" + parameter="" /> + </menu_item_call> + <menu_item_call label="[SECOND_LIFE] Help" name="Second Life Help" shortcut="F1"> diff --git a/indra/newview/skins/default/xui/en/panel_my_profile.xml b/indra/newview/skins/default/xui/en/panel_my_profile.xml deleted file mode 100644 index 4bd2235cda..0000000000 --- a/indra/newview/skins/default/xui/en/panel_my_profile.xml +++ /dev/null @@ -1,146 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - follows="all" - height="535" - label="Profile" - layout="topleft" - left="0" - name="panel_profile" - top="0" - width="315"> - <string - name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string - name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=en - </string> - <string - name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string - name="my_account_link_url" - value="http://secondlife.com/account" /> - <string - name="no_partner_text" - value="None" /> - <string - name="no_group_text" - value="None" /> - <string - name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string - name="name_text_args"> - [NAME] - </string> - <string - name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack - name="layout" - orientation="vertical" - follows="all" - layout="topleft" - left="0" - top="0" - height="510" - width="315" - border_size="0"> - <layout_panel - name="profile_stack" - follows="all" - layout="topleft" - top="0" - left="0" - height="492" - user_resize="false" - width="315"> - <scroll_container - color="DkGray2" - follows="all" - layout="topleft" - left="0" - name="profile_scroll" - opaque="true" - height="488" - width="315" - top="0"> - <panel - layout="topleft" - follows="left|top|right" - height="488" - name="scroll_content_panel" - top="0" - left="0" - width="297"> - <panel - follows="left|top|right" - height="117" - layout="topleft" - left="10" - name="second_life_image_panel" - top="0" - width="297"> - - <texture_picker - allow_no_texture="true" - default_image_name="None" - enabled="false" - fallback_image="Generic_Person_Large" - follows="top|left" - height="124" - layout="topleft" - left="3" - name="2nd_life_pic" - top="10" - width="102" /> - - <text - follows="left|top|right" - font="SansSerifLarge" - font.style="BOLD" - height="15" - layout="topleft" - left_pad="10" - name="display_name_descr_text" - text_color="0.7 0.7 0.7 1.0" - top_delta="0" - width="280" > - User name - </text> - - <text - follows="left|top|right" - font.style="BOLD" - height="15" - layout="topleft" - left_delta="0" - name="name_descr_text" - text_color="0.4 0.4 0.4 1.0" - top_delta="20" - width="280"> - Display Name - </text> - - <button - follows="bottom" - height="23" - left_delta="0" - top_delta="20" - label="Profile" - name="see_profile_btn" - tool_tip="See profile for this avatar" - width="120" /> - - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/en/panel_notes.xml b/indra/newview/skins/default/xui/en/panel_notes.xml deleted file mode 100644 index 124b1cfc6b..0000000000 --- a/indra/newview/skins/default/xui/en/panel_notes.xml +++ /dev/null @@ -1,236 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - follows="all" - height="515" - label="Notes & Privacy" - layout="topleft" - left="0" - name="panel_notes" - top="0" - width="313" -> - <layout_stack - name="layout" - orientation="vertical" - follows="all" - layout="topleft" - left="0" - top="0" - height="517" - width="313" - border_size="0"> - <layout_panel - name="notes_stack" - follows="all" - layout="topleft" - top="0" - left="0" - height="450" - width="313"> - <scroll_container - color="DkGray2" - follows="all" - layout="topleft" - left="0" - name="profile_scroll" - opaque="true" - height="450" - width="313" - top="0"> - <panel - height="450" - layout="topleft" - name="profile_scroll_panel" - top="0" - left="0" - width="303"> - <text - follows="left|top" - font.style="BOLD" - height="16" - layout="topleft" - left="11" - name="status_message" - text_color="white" - top="10" - value="My private notes:" - width="293" /> - <text_editor - follows="left|top" - height="120" - layout="topleft" - left="12" - max_length="1000" - name="notes_edit" - text_color="DkGray" - top_pad="3" - width="288" - word_wrap="true" /> - <text - follows="left|top" - font.style="BOLD" - height="16" - layout="topleft" - left="11" - name="status_message2" - text_color="white" - top_pad="20" - value="Allow this person to:" - width="293" /> - <check_box - enabled="false" - height="16" - label="See my online status" - layout="topleft" - left="10" - name="status_check" - width="293" /> - <check_box - enabled="false" - height="16" - label="See me on the map" - layout="topleft" - left="10" - name="map_check" - width="293" /> - <check_box - enabled="false" - height="16" - label="Edit, delete or take my objects" - layout="topleft" - left="10" - name="objects_check" - width="293" /> - </panel> - </scroll_container> - </layout_panel> - <layout_panel - follows="bottom|left" - height="30" - layout="topleft" - left="0" - name="notes_buttons_panel" - auto_resize="false" - width="313"> - - <layout_stack - follows="bottom|left|right" - height="23" - layout="topleft" - name="bottom_bar_ls" - left="2" - orientation="horizontal" - top_pad="5" - width="309"> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left="0" - name="add_friend_btn_lp" - user_resize="false" - auto_resize="true" - width="118"> - <button - follows="bottom|left|right" - height="23" - label="Add Friend" - layout="topleft" - left="1" - mouse_opaque="false" - name="add_friend" - tool_tip="Offer friendship to the Resident" - top="0" - width="117" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="im_btn_lp" - user_resize="false" - auto_resize="true" - width="22"> - <button - follows="bottom|left|right" - height="23" - label="IM" - layout="topleft" - name="im" - tool_tip="Open instant message session" - top="0" - left="1" - width="21" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="call_btn_lp" - user_resize="false" - auto_resize="true" - width="52"> - <button - follows="bottom|left|right" - height="23" - label="Call" - layout="topleft" - name="call" - tool_tip="Call this Resident" - left="1" - top="0" - use_ellipses="true" - width="51" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="show_on_map_btn_lp" - user_resize="false" - auto_resize="true" - width="46"> - <button - enabled="false" - follows="bottom|left|right" - height="23" - label="Map" - layout="topleft" - name="show_on_map_btn" - tool_tip="Show the Resident on the map" - top="0" - left="1" - width="45" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="teleport_btn_lp" - user_resize="false" - auto_resize="true" - width="81"> - <button - follows="bottom|left|right" - height="23" - label="Teleport" - layout="topleft" - name="teleport" - tool_tip="Offer teleport" - left="1" - top="0" - width="80" /> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml deleted file mode 100644 index f5a9daa994..0000000000 --- a/indra/newview/skins/default/xui/en/panel_profile.xml +++ /dev/null @@ -1,458 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - follows="all" - height="430" - label="Profile" - layout="topleft" - left="0" - name="panel_profile" - top="0" - width="317"> - <string - name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string - name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=en - </string> - <string - name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string - name="my_account_link_url" - value="http://secondlife.com/account" /> - <string - name="no_partner_text" - value="None" /> - <string - name="no_group_text" - value="None" /> - <string - name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string - name="name_text_args"> - [NAME] - </string> - <string - name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack - name="layout" - orientation="vertical" - follows="all" - layout="topleft" - left="0" - top="0" - height="400" - width="317" - border_size="0"> - <layout_panel - name="profile_stack" - follows="all" - layout="topleft" - top="0" - left="0" - height="400" - width="317"> - <scroll_container - color="DkGray2" - follows="all" - layout="topleft" - left="0" - name="profile_scroll" - opaque="true" - height="400" - width="317" - top="0"> - <panel - layout="topleft" - follows="left|top|right" - height="505" - min_height="505" - name="profile_scroll_panel" - top="0" - left="0" - width="297"> - <panel - follows="left|top|right" - height="124" - layout="topleft" - left="13" - name="second_life_image_panel" - top="0" - width="297"> - <texture_picker - allow_no_texture="true" - default_image_name="None" - enabled="false" - fallback_image="Generic_Person_Large" - follows="top|left" - height="124" - layout="topleft" - left="0" - name="2nd_life_pic" - top="10" - width="102" /> - <text - follows="left|top|right" - font.style="BOLD" - height="15" - layout="topleft" - left_pad="10" - name="title_sl_descr_text" - text_color="white" - top_delta="0" - value="[SECOND_LIFE]:" - width="180" /> - <expandable_text - follows="left|top|right" - height="97" - layout="topleft" - left="107" - textbox.max_length="512" - textbox.show_context_menu="true" - name="sl_description_edit" - top_pad="-3" - translate="false" - width="180" - expanded_bg_visible="true" - expanded_bg_color="DkGray"> - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean viverra orci et justo sagittis aliquet.Nullamma lesuada mauris sit amet ipsum. adipiscing elit. Ae nean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. - </expandable_text> - </panel> - <panel - follows="left|top|right" - height="124" - layout="topleft" - top_pad="0" - left="13" - name="first_life_image_panel" - width="297"> - <texture_picker - allow_no_texture="true" - default_image_name="None" - enabled="false" - fallback_image="Generic_Person_Large" - follows="top|left" - height="124" - layout="topleft" - left="0" - name="real_world_pic" - width="102" /> - <text - follows="left|top|right" - font.style="BOLD" - height="15" - layout="topleft" - left_pad="10" - name="title_rw_descr_text" - text_color="white" - top_delta="0" - value="Real World:" - width="180" /> - <expandable_text - follows="left|top|right" - height="97" - layout="topleft" - left="107" - textbox.max_length="512" - textbox.show_context_menu="true" - name="fl_description_edit" - top_pad="-3" - translate="false" - width="180" - expanded_bg_visible="true" - expanded_bg_color="DkGray"> - Lorem ipsum dolor sit amet, consectetur adlkjpiscing elit moose moose. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet. adipiscing elit. Aenean rigviverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet sorbet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. - </expandable_text> - </panel> - <text - follows="left|top" - height="15" - font.style="BOLD" - font="SansSerifMedium" - layout="topleft" - left="10" - name="homepage_edit" - top_pad="0" - translate="false" - value="http://librarianavengers.org" - width="300" - word_wrap="false" - use_ellipses="true" /> - <text - follows="left|top" - font.style="BOLD" - height="10" - layout="topleft" - left="10" - name="title_member_text" - text_color="white" - top_pad="10" - value="Resident Since:" - width="300" /> - <text_editor - allow_scroll="false" - bg_visible="false" - follows="left|top" - h_pad="0" - height="15" - layout="topleft" - left="10" - name="register_date" - read_only="true" - translate="false" - v_pad="0" - value="05/31/2376" - width="300" - word_wrap="true" /> - <text - follows="left|top" - font.style="BOLD" - height="15" - layout="topleft" - left="10" - name="title_acc_status_text" - text_color="white" - top_pad="5" - value="Account Status:" - width="300" /> - <!-- <text - type="string" - follows="left|top" - font="SansSerifSmall" - height="15" - layout="topleft" - left_pad="10" - name="my_account_link" - top_delta="0" - value="Go to Dashboard" - width="100"/> --> - <text_editor - allow_scroll="false" - bg_visible="false" - follows="left|top" - h_pad="0" - height="28" - layout="topleft" - left="10" - name="acc_status_text" - read_only="true" - top_pad="0" - translate="false" - v_pad="0" - width="300" - word_wrap="true"> - Resident. No payment info on file. - Linden. - </text_editor> - <text - follows="left|top" - font.style="BOLD" - height="15" - layout="topleft" - left="10" - name="title_partner_text" - text_color="white" - top_pad="3" - value="Partner:" - width="300" /> - <panel - follows="left|top" - height="15" - layout="topleft" - left="10" - name="partner_data_panel" - top_pad="0" - width="300"> - <text - follows="left|top" - height="10" - initial_value="(retrieving)" - layout="topleft" - left="0" - parse_urls="true" - name="partner_text" - top="0" - use_ellipses="true" - width="300" /> - </panel> - <text - follows="left|top" - font.style="BOLD" - height="13" - layout="topleft" - left="10" - name="title_groups_text" - text_color="white" - top_pad="3" - value="Groups:" - width="300" /> - <expandable_text - follows="all" - height="103" - layout="topleft" - left="7" - name="sl_groups" - textbox.max_length="512" - textbox.show_context_menu="true" - top_pad="0" - translate="false" - width="290" - expanded_bg_visible="true" - expanded_bg_color="DkGray"> - Lorem ipsum dolor sit amet, consectetur adlkjpiscing elit moose moose. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet. adipiscing elit. Aenean rigviverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet sorbet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. Aenean viverra tulip moosetop. Slan de heelish marfnik tooplod. Sum sum to whop de wompam booster copm. - </expandable_text> - </panel> - </scroll_container> - </layout_panel> - -</layout_stack> - - <layout_stack - name="layout_verb_buttons" - orientation="horizontal" - follows="bottom|left|right" - layout="topleft" - left="2" - top_pad="1" - height="30" - width="315" - border_size="0"> - <layout_panel - follows="bottom|left" - height="30" - layout="topleft" - name="profile_buttons_panel" - top="0" - auto_resize="false" - width="317"> - - <layout_stack - follows="bottom|left|right" - height="23" - layout="topleft" - name="bottom_bar_ls" - left="0" - orientation="horizontal" - top_pad="5" - width="317"> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left="0" - name="add_friend_btn_lp" - user_resize="false" - auto_resize="true" - width="121"> - <button - follows="bottom|left|right" - height="23" - label="Add Friend" - layout="topleft" - left="1" - mouse_opaque="false" - name="add_friend" - tool_tip="Offer friendship to the Resident" - top="0" - width="120" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="im_btn_lp" - user_resize="false" - auto_resize="true" - width="22"> - <button - follows="bottom|left|right" - height="23" - label="IM" - layout="topleft" - name="im" - tool_tip="Open instant message session" - top="0" - left="1" - width="21" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="call_btn_lp" - user_resize="false" - auto_resize="true" - width="52"> - <button - follows="bottom|left|right" - height="23" - label="Call" - layout="topleft" - name="call" - tool_tip="Call this Resident" - left="1" - top="0" - use_ellipses="true" - width="51" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="chat_btn_lp" - user_resize="false" - auto_resize="true" - width="93"> - <button - follows="bottom|left|right" - height="23" - label="Teleport" - layout="topleft" - name="teleport" - tool_tip="Offer teleport" - left="1" - top="0" - use_ellipses="true" - width="92" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - name="overflow_btn_lp" - user_resize="false" - auto_resize="false" - width="24"> - <menu_button - follows="bottom|left|right" - height="23" - label="▼" - layout="topleft" - name="overflow_btn" - tool_tip="Pay money to or share inventory with the Resident" - left="1" - top="0" - width="23" /> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> - -</panel> diff --git a/indra/newview/skins/default/xui/en/panel_profile_view.xml b/indra/newview/skins/default/xui/en/panel_profile_view.xml deleted file mode 100644 index 646875b52e..0000000000 --- a/indra/newview/skins/default/xui/en/panel_profile_view.xml +++ /dev/null @@ -1,162 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_visible="true" - follows="all" - height="570" - layout="topleft" - min_height="350" - name="panel_target_profile" - left="0" - width="333"> - <string - name="status_online"> - Online - </string> - <string - name="status_offline"> - Offline - </string> - <button - follows="top|left" - height="24" - image_hover_unselected="BackButton_Over" - image_pressed="BackButton_Press" - image_unselected="BackButton_Off" - layout="topleft" - name="back" - left="10" - tab_stop="false" - top="2" - width="30" - use_draw_context_alpha="false" /> - <text - top="10" - follows="top|left" - height="13" - layout="topleft" - left="45" - name="display_name_label" - text_color="LtGray" - value="Display Name:" - width="80" /> - <text - top_delta="0" - follows="top|left" - height="13" - layout="topleft" - left="45" - name="solo_username_label" - text_color="LtGray" - value="Username:" - visible="false" - width="80" /> - <text - follows="top|right" - halign="right" - height="13" - layout="topleft" - right="-15" - name="status" - text_color="LtGray_50" - top_delta="0" - value="Online" - width="150" /> - <text - follows="top|left|right" - font="SansSerifBigBold" - height="29" - layout="topleft" - left="45" - name="user_name_small" - text_color="LtGray" - top="22" - value="Jack oh look at me this is a super duper long name" - use_ellipses="true" - word_wrap="true" - visible="false" - width="255" /> - <text - follows="top|left|right" - font="SansSerifHugeBold" - height="27" - layout="topleft" - left="45" - name="user_name" - text_color="LtGray" - translate="false" - top="25" - value="TestString PleaseIgnore" - visible="true" - use_ellipses="true" - width="258" /> - <button - name="copy_to_clipboard" - layout="topleft" - follows="top|right" - image_overlay="Copy" - top_delta="0" - right="-15" - height="21" - width="21" - tab_stop="false" - tool_tip="Copy to Clipboard"/> - <text - follows="top|left" - height="13" - layout="topleft" - left="45" - name="user_label" - text_color="LtGray" - top_pad="10" - value="Username:" - width="70" /> - <text - follows="top|left" - height="20" - layout="topleft" - left_pad="0" - name="user_slid" - text_color="EmphasisColor" - font="SansSerifBold" - top_delta="-2" - translate="false" - use_ellipses="true" - value="teststring.pleaseignore" - width="195" - wrap="true "/> - <tab_container - follows="all" - height="489" - halign="center" - layout="topleft" - left="5" - min_width="333" - name="tabs" - tab_min_width="80" - tab_height="30" - tab_position="top" - top_pad="5" - width="317"> - <panel - class="panel_profile" - filename="panel_profile.xml" - label="PROFILE" - layout="topleft" - help_topic="profile_profile_tab" - name="panel_profile" /> - <panel - class="panel_picks" - filename="panel_picks.xml" - label="PICKS" - layout="topleft" - help_topic="profile_picks_tab" - name="panel_picks" /> - <panel - class="panel_notes" - filename="panel_notes.xml" - label="NOTES & PRIVACY" - layout="topleft" - help_topic="profile_notes_tab" - name="panel_notes" /> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_my_profile.xml b/indra/newview/skins/default/xui/es/panel_my_profile.xml deleted file mode 100644 index 29e5e6f652..0000000000 --- a/indra/newview/skins/default/xui/es/panel_my_profile.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Perfil" name="panel_profile"> - <string name="no_partner_text" value="Ninguno/a"/> - <string name="no_group_text" value="Ninguno"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - Nombre de usuario - </text> - <text name="name_descr_text"> - Nombre mostrado - </text> - <button label="Perfil" name="see_profile_btn" tool_tip="Ver el perfil de este avatar"/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_notes.xml b/indra/newview/skins/default/xui/es/panel_notes.xml deleted file mode 100644 index 00d4caf468..0000000000 --- a/indra/newview/skins/default/xui/es/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Notas y Privacidad" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="Mis notas privadas:"/> - <text name="status_message2" value="Permitir que esta persona:"/> - <check_box label="Vea si estoy conectado" name="status_check"/> - <check_box label="Me vea en el mapa" name="map_check"/> - <check_box label="Edite, borre o coja mis objetos" name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Añadir como amigo" name="add_friend" tool_tip="Ofrecer amistad a este Residente"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="MI" name="im" tool_tip="Abrir una sesión de mensajes instantáneos"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Llamar" name="call" tool_tip="Llamar a este Residente"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" tool_tip="Mostrar al Residente en el mapa"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleporte" name="teleport" tool_tip="Ofrecer teleporte"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_profile.xml b/indra/newview/skins/default/xui/es/panel_profile.xml deleted file mode 100644 index 334c0541af..0000000000 --- a/indra/newview/skins/default/xui/es/panel_profile.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Perfil" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=es-ES - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=es - </string> - <string name="my_account_link_url" value="http://secondlife.com/my/account/index.php?lang=es-ES"/> - <string name="no_partner_text" value="Ninguno"/> - <string name="no_group_text" value="Ninguno"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="Mundo real:"/> - </panel> - <text name="title_member_text" value="Residente desde:"/> - <text name="title_acc_status_text" value="Estado de la cuenta:"/> - <text name="title_partner_text" value="Compañero/a:"/> - <panel name="partner_data_panel"> - <text initial_value="(obteniendo)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="Grupos:"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Añadir como amigo" name="add_friend" tool_tip="Ofrecer amistad a este Residente"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="MI" name="im" tool_tip="Abrir una sesión de mensajes instantáneos"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Llamar" name="call" tool_tip="Llamar a este Residente"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Teleporte" name="teleport" tool_tip="Ofrecer teleporte"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="Pagar dinero al Residente o compartir algo del inventario con él"/> - </layout_panel> - </layout_stack> - </layout_panel> - <layout_panel name="profile_me_buttons_panel"> - <button label="Editar el perfil" name="edit_profile_btn" tool_tip="Modificar tu información personal"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_profile_view.xml b/indra/newview/skins/default/xui/es/panel_profile_view.xml deleted file mode 100644 index cb374dee52..0000000000 --- a/indra/newview/skins/default/xui/es/panel_profile_view.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - Conectado/a - </string> - <string name="status_offline"> - Desconectado/a - </string> - <text name="display_name_label" value="Nombre mostrado:"/> - <text name="solo_username_label" value="Nombre de usuario:"/> - <text name="status" value="Conectado/a"/> - <text name="user_name_small" value="Jack, ¿has visto esto? Es un nombre larguísimo."/> - <button name="copy_to_clipboard" tool_tip="Copiar al portapapeles"/> - <text name="user_label" value="Nombre de usuario:"/> - <tab_container name="tabs"> - <panel label="PERFIL" name="panel_profile"/> - <panel label="DESTACADOS" name="panel_picks"/> - <panel label="NOTAS Y PRIVACIDAD" name="panel_notes"/> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_my_profile.xml b/indra/newview/skins/default/xui/fr/panel_my_profile.xml deleted file mode 100644 index 5207c5a28e..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_my_profile.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=en - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url" value="http://secondlife.com/account"/> - <string name="no_partner_text" value="Aucun"/> - <string name="no_group_text" value="Aucun"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - Nom d'utilisateur - </text> - <text name="name_descr_text"> - Nom d'affichage - </text> - <button label="Profil" name="see_profile_btn" tool_tip="Afficher le profil de cet avatar."/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_notes.xml b/indra/newview/skins/default/xui/fr/panel_notes.xml deleted file mode 100644 index 1b44bc4b73..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Notes/Perso" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="Mes notes perso :"/> - <text name="status_message2" value="Autoriser cette personne à :"/> - <check_box label="Afficher mon statut en ligne" name="status_check"/> - <check_box label="Me situer sur la carte" name="map_check"/> - <check_box label="Modifier, supprimer ou prendre mes objets" name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Devenir amis" name="add_friend" tool_tip="Proposer à ce résident de devenir votre ami"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Ouvrir une session IM"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Appeler" name="call" tool_tip="Appeler ce résident"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Carte" name="show_on_map_btn" tool_tip="Afficher le résident sur la carte"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Téléporter" name="teleport" tool_tip="Proposer une téléportation"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_profile.xml b/indra/newview/skins/default/xui/fr/panel_profile.xml deleted file mode 100644 index 9aa6fe97a1..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_profile.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=fr-FR - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=fr - </string> - <string name="my_account_link_url" value="http://secondlife.com/my/account/index.php?lang=fr-FR"/> - <string name="no_partner_text" value="Aucun"/> - <string name="no_group_text" value="Aucun"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="Vie réelle :"/> - </panel> - <text name="title_member_text" value="Résident depuis :"/> - <text name="title_acc_status_text" value="Statut du compte :"/> - <text_editor name="acc_status_text"> - Résident. Aucune info de paiement enregistrée. - Linden. - </text_editor> - <text name="title_partner_text" value="Partenaire :"/> - <panel name="partner_data_panel"> - <text initial_value="(récupération en cours)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="Groupes :"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Devenir amis" name="add_friend" tool_tip="Proposer à ce résident de devenir votre ami"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Ouvrir une session IM"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Appeler" name="call" tool_tip="Appeler ce résident"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Téléporter" name="teleport" tool_tip="Proposer une téléportation"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="Payer le résident ou partager l'inventaire avec lui"/> - </layout_panel> - </layout_stack> - </layout_panel> - <layout_panel name="profile_me_buttons_panel"> - <button label="Modifier le profil" name="edit_profile_btn" tool_tip="Modifier vos informations personnelles"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_profile_view.xml b/indra/newview/skins/default/xui/fr/panel_profile_view.xml deleted file mode 100644 index 76ba44e899..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_profile_view.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - En ligne - </string> - <string name="status_offline"> - Hors ligne - </string> - <text name="display_name_label" value="Nom d'affichage :"/> - <text name="solo_username_label" value="Nom d'utilisateur :"/> - <text name="status" value="En ligne"/> - <text name="user_name_small" value="Jack oh look at me this is a super duper long name"/> - <button name="copy_to_clipboard" tool_tip="Copier dans le presse-papiers"/> - <text name="user_label" value="Nom d'utilisateur :"/> - <tab_container name="tabs"> - <panel label="PROFIL" name="panel_profile"/> - <panel label="FAVORIS" name="panel_picks"/> - <panel label="NOTES/PERSO" name="panel_notes"/> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_my_profile.xml b/indra/newview/skins/default/xui/it/panel_my_profile.xml deleted file mode 100644 index 094b97962f..0000000000 --- a/indra/newview/skins/default/xui/it/panel_my_profile.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profilo" name="panel_profile"> - <string name="no_partner_text" value="Nessuno"/> - <string name="no_group_text" value="Nessuno"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - Nome utente - </text> - <text name="name_descr_text"> - Nome visualizzato - </text> - <button label="Profilo" name="see_profile_btn" tool_tip="Visualizza profilo per questo avatar"/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_notes.xml b/indra/newview/skins/default/xui/it/panel_notes.xml deleted file mode 100644 index e127138277..0000000000 --- a/indra/newview/skins/default/xui/it/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Note e Privacy" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="Le mie note private:"/> - <text name="status_message2" value="Consenti a questa persona di:"/> - <check_box label="Vedere se sono online" name="status_check"/> - <check_box label="Vedermi sulla mappa" name="map_check"/> - <check_box label="Modificare, eliminare o prendere i miei oggetti" name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Aggiungi come amico" name="add_friend" tool_tip="Offri amicizia a questo residente"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Apri una sessione messaggio istantaneo"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Chiama" name="call" tool_tip="Chiama questo residente"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mappa" name="show_on_map_btn" tool_tip="Mostra il residente sulla mappa"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleport" name="teleport" tool_tip="Offri teleport"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_profile.xml b/indra/newview/skins/default/xui/it/panel_profile.xml deleted file mode 100644 index 309937c5a0..0000000000 --- a/indra/newview/skins/default/xui/it/panel_profile.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profilo" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=it-IT - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=it - </string> - <string name="my_account_link_url" value="http://secondlife.com/my/account/index.php?lang=it-IT"/> - <string name="no_partner_text" value="Nessuno"/> - <string name="no_group_text" value="Nessuno"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="Mondo reale:"/> - </panel> - <text name="title_member_text" value="Residente dal:"/> - <text name="title_acc_status_text" value="Stato account:"/> - <text name="title_partner_text" value="Partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(recupero)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="Gruppi:"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Aggiungi come amico" name="add_friend" tool_tip="Offri amicizia a questo residente"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Apri una sessione messaggio istantaneo"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Chiama" name="call" tool_tip="Chiama questo residente"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Teleport" name="teleport" tool_tip="Offri teleport"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="Paga del denaro o condividi qualcosa dall'inventario con il residente"/> - </layout_panel> - </layout_stack> - </layout_panel> - <layout_panel name="profile_me_buttons_panel"> - <button label="Modifica profilo" name="edit_profile_btn" tool_tip="Modifica le tue informazioni personali"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_profile_view.xml b/indra/newview/skins/default/xui/it/panel_profile_view.xml deleted file mode 100644 index 409eb5d1f4..0000000000 --- a/indra/newview/skins/default/xui/it/panel_profile_view.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - Online - </string> - <string name="status_offline"> - Offline - </string> - <text name="display_name_label" value="Nome visualizzato:"/> - <text name="solo_username_label" value="Nome utente:"/> - <text name="status" value="Online"/> - <text name="user_name_small" value="Jack guarda quanto è lungo questo splendido nome"/> - <text name="user_name" value="Jack Linden"/> - <button name="copy_to_clipboard" tool_tip="Copia negli appunti"/> - <text name="user_label" value="Nome utente:"/> - <text name="user_slid" value="jack.linden"/> - <tab_container name="tabs"> - <panel label="PROFILO" name="panel_profile"/> - <panel label="LUOGHI CONSIGLIATI" name="panel_picks"/> - <panel label="NOTE E PRIVACY" name="panel_notes"/> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_my_profile.xml b/indra/newview/skins/default/xui/ja/panel_my_profile.xml deleted file mode 100644 index a0d99ba5a8..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_my_profile.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="プロフィール" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=ja - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/billing.php?lang=ja - </string> - <string name="my_account_link_url" value="http://secondlife.com/account"/> - <string name="no_partner_text" value="なし"/> - <string name="no_group_text" value="なし"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - ユーザー名 - </text> - <text name="name_descr_text"> - 表示名 - </text> - <button label="プロフィール" name="see_profile_btn" tool_tip="このアバターのプロフィールを表示"/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_notes.xml b/indra/newview/skins/default/xui/ja/panel_notes.xml deleted file mode 100644 index aa6d823c59..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="メモとプライバシー" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="個人的メモ:"/> - <text name="status_message2" value="この人に許可:"/> - <check_box label="オンライン状態の確認" name="status_check"/> - <check_box label="地図で居場所を確認" name="map_check"/> - <check_box label="私のオブジェクトの編集・削除・取得" name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="フレンド登録" name="add_friend" tool_tip="フレンド登録を申し出ます"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="インスタントメッセージを開きます"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="コール" name="call" tool_tip="この住人にコールする"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="地図" name="show_on_map_btn" tool_tip="住人を地図上で表示する"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="テレポート" name="teleport" tool_tip="テレポートを送ります"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_profile.xml b/indra/newview/skins/default/xui/ja/panel_profile.xml deleted file mode 100644 index 1acad9f81a..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_profile.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="プロフィール" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=ja-JP - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=ja - </string> - <string name="my_account_link_url" value="http://secondlife.com/my/account/index.php?lang=ja-JP"/> - <string name="no_partner_text" value="なし"/> - <string name="no_group_text" value="なし"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="現実世界:"/> - </panel> - <text name="title_member_text" value="住人登録:"/> - <text name="title_acc_status_text" value="アカウントの状態:"/> - <text_editor name="acc_status_text"> - 住人。 支払情報未登録。 - リンデン。 - </text_editor> - <text name="title_partner_text" value="パートナー:"/> - <panel name="partner_data_panel"> - <text initial_value="(取得中)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="グループ:"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="フレンド登録" name="add_friend" tool_tip="フレンド登録を申し出ます"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="インスタントメッセージを開きます"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="コール" name="call" tool_tip="この住人にコールする"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="テレポート" name="teleport" tool_tip="テレポートを送ります"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="住人にお金を渡すか持ち物を共有します"/> - </layout_panel> - </layout_stack> - </layout_panel> - <layout_panel name="profile_me_buttons_panel"> - <button label="プロフィールの編集" name="edit_profile_btn" tool_tip="個人的な情報を編集します"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_profile_view.xml b/indra/newview/skins/default/xui/ja/panel_profile_view.xml deleted file mode 100644 index 5cb6575773..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_profile_view.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - オンライン - </string> - <string name="status_offline"> - オフライン - </string> - <text name="display_name_label" value="表示名:"/> - <text name="solo_username_label" value="ユーザー名:"/> - <text name="status" value="オンライン"/> - <text name="user_name_small" value="Jack oh look at me this is a super duper long name"/> - <text name="user_name" value="Jack Linden"/> - <button name="copy_to_clipboard" tool_tip="クリップボードにコピー"/> - <text name="user_label" value="ユーザー名:"/> - <text name="user_slid" value="jack.linden"/> - <tab_container name="tabs"> - <panel label="プロフィール" name="panel_profile"/> - <panel label="ピック" name="panel_picks"/> - <panel label="メモとプライバシー" name="panel_notes"/> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_my_profile.xml b/indra/newview/skins/default/xui/pl/panel_my_profile.xml deleted file mode 100644 index cdc833241d..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_my_profile.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil" name="panel_profile"> - <string name="no_partner_text" value="Żadne"/> - <string name="no_group_text" value="Żadne"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - Nazwa użytkownika - </text> - <text name="name_descr_text"> - Wyświetlana nazwa - </text> - <button label="Profil" name="see_profile_btn" tool_tip="Zobacz profil tego awatara"/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_notes.xml b/indra/newview/skins/default/xui/pl/panel_notes.xml deleted file mode 100644 index 571171d64c..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Notatki & Prywatność" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="Notatki:"/> - <text name="status_message2" value="Pozwól tej osobie na:"/> - <check_box label="Widzenie mojego statusu" name="status_check"/> - <check_box label="Lokalizowanie mnie na mapie" name="map_check"/> - <check_box label="Edytowanie, kasowanie lub zabieranie moich obiektów" name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Dodaj do Znajomych" name="add_friend" tool_tip="Zaoferuj znajomość Rezydentowi"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Otwórz wiadomości IM"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Dzwoń" name="call" tool_tip="Zadzwoń do Rezydenta"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" tool_tip="Pokaż Rezydenta na mapie"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportuj" name="teleport" tool_tip="Teleportuj"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile.xml b/indra/newview/skins/default/xui/pl/panel_profile.xml deleted file mode 100644 index 77dd951bc4..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_profile.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil" name="panel_profile"> - <string name="no_partner_text" value="Brak"/> - <string name="no_group_text" value="Żadne"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="Życie#1:"/> - </panel> - <text name="title_member_text" value="Urodziny:"/> - <text name="title_acc_status_text" value="Konto:"/> - <text name="title_partner_text" value="Partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(przetwarzanie)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="Grupy:"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Poznaj" name="add_friend" tool_tip="Zaproponuj znajomość Rezydentowi"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Otwórz wiadomości IM"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Dzwoń" name="call" tool_tip="Zadzwoń do tego Rezydenta"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Teleportuj" name="teleport" tool_tip="Teleportuj"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="Zapłać lub udostępnij obiekt Rezydentowi"/> - </layout_panel> - </layout_stack> - </layout_panel> - <layout_panel name="profile_me_buttons_panel"> - <button label="Edytuj profil" name="edit_profile_btn" tool_tip="Edytuj informacje o sobie"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_view.xml b/indra/newview/skins/default/xui/pl/panel_profile_view.xml deleted file mode 100644 index 1fd6bc1d10..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_profile_view.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - Obecnie w SL - </string> - <string name="status_offline"> - Nieaktywny - </string> - <text name="display_name_label" value="Wyświetlana nazwa:"/> - <text name="solo_username_label" value="Nazwa użytkownika:"/> - <text name="status" value="Obecnie w SL"/> - <text name="user_name_small" value="Jack oh look at me this is a super duper long name"/> - <button name="copy_to_clipboard" tool_tip="Kopiuj do schowka"/> - <text name="user_label" value="Nazwa użytkownika:"/> - <tab_container name="tabs"> - <panel label="PROFIL" name="panel_profile"/> - <panel label="ULUBIONE" name="panel_picks"/> - <panel label="NOTATKI & PRYWATNOŚĆ" name="panel_notes"/> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_my_profile.xml b/indra/newview/skins/default/xui/pt/panel_my_profile.xml deleted file mode 100644 index aa15a2445d..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_my_profile.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Perfil" name="panel_profile"> - <string name="no_partner_text" value="Nenhum"/> - <string name="no_group_text" value="Nenhum"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - Nome de usuário - </text> - <text name="name_descr_text"> - Nome de tela - </text> - <button label="Perfil" name="see_profile_btn" tool_tip="Ver o perfil deste avatar"/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_notes.xml b/indra/newview/skins/default/xui/pt/panel_notes.xml deleted file mode 100644 index c15e838b34..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Anotações e Privacidade" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="Minhas anotações privadas:"/> - <text name="status_message2" value="Deixar esta pessoa:"/> - <check_box label="Ver meu status" name="status_check"/> - <check_box label="Ver minha localização no mapa" name="map_check"/> - <check_box label="Pegar, editar ou excluir objetos meus" name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Adicionar amigo" name="add_friend" tool_tip="Oferecer amizade ao residente"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="MI" name="im" tool_tip="Abrir sessão de mensagem instantânea"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Ligar" name="call" tool_tip="Ligar para este residente"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" tool_tip="Exibir o residente no mapa"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teletransportar" name="teleport" tool_tip="Oferecer teletransporte"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_profile.xml b/indra/newview/skins/default/xui/pt/panel_profile.xml deleted file mode 100644 index 075ef55dee..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_profile.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Perfil" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=pt-BR - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=pt - </string> - <string name="my_account_link_url" value="http://secondlife.com/my/account/index.php?lang=pt-BR"/> - <string name="no_partner_text" value="Ninguém"/> - <string name="no_group_text" value="Nenhum"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="Mundo real:"/> - </panel> - <text name="title_member_text" value="Residente desde:"/> - <text name="title_acc_status_text" value="Conta:"/> - <text name="title_partner_text" value="Parceiro(a):"/> - <panel name="partner_data_panel"> - <text initial_value="(pesquisando)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="Grupos:"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Adicionar amigo" name="add_friend" tool_tip="Oferecer amizade ao residente"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="MI" name="im" tool_tip="Abrir sessão de mensagem instantânea"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Ligar" name="call" tool_tip="Ligar para este residente"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Teletransportar" name="teleport" tool_tip="Oferecer teletransporte"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="Pagar ou compartilhar inventário com o residente"/> - </layout_panel> - </layout_stack> - </layout_panel> - <layout_panel name="profile_me_buttons_panel"> - <button label="Editar perfil" name="edit_profile_btn" tool_tip="Editar dados pessoais"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_profile_view.xml b/indra/newview/skins/default/xui/pt/panel_profile_view.xml deleted file mode 100644 index d81ee08e6c..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_profile_view.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - Conectado - </string> - <string name="status_offline"> - Desconectado - </string> - <text name="display_name_label" value="Nome de tela:"/> - <text name="solo_username_label" value="Nome de usuário:"/> - <text name="status" value="Conectado"/> - <text name="user_name_small" value="Jack oh look at me this is a super duper long name"/> - <button name="copy_to_clipboard" tool_tip="Copiar para área de transferência"/> - <text name="user_label" value="Nome de usuário:"/> - <tab_container name="tabs"> - <panel label="PERFIL" name="panel_profile"/> - <panel label="DESTAQUES" name="panel_picks"/> - <panel label="ANOTAÇÕES E PRIVACIDADE" name="panel_notes"/> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_my_profile.xml b/indra/newview/skins/default/xui/ru/panel_my_profile.xml deleted file mode 100644 index 9117bfec18..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_my_profile.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Профиль" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=en - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url" value="http://secondlife.com/account"/> - <string name="no_partner_text" value="Нет"/> - <string name="no_group_text" value="Нет"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - Имя пользователя - </text> - <text name="name_descr_text"> - Экранное имя - </text> - <button label="Профиль" name="see_profile_btn" tool_tip="Посмотреть профиль этого аватара"/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_notes.xml b/indra/newview/skins/default/xui/ru/panel_notes.xml deleted file mode 100644 index f88b4f13c3..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Заметки и приватность" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="Мои личные заметки:"/> - <text name="status_message2" value="Разрешить этому жителю:"/> - <check_box label="Видеть мой статус в сети" name="status_check"/> - <check_box label="Видеть меня на карте" name="map_check"/> - <check_box label="Редактировать, удалять или брать мои объекты" name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Добавить в друзья" name="add_friend" tool_tip="Предложить дружбу этому жителю"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Начать сеанс IM"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Позвонить" name="call" tool_tip="Позвонить этому жителю"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Карта" name="show_on_map_btn" tool_tip="Показать жителя на карте"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Телепортация" name="teleport" tool_tip="Предложить телепортацию"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_profile.xml b/indra/newview/skins/default/xui/ru/panel_profile.xml deleted file mode 100644 index 79c060c050..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_profile.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Профиль" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=en - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url" value="http://secondlife.com/account"/> - <string name="no_partner_text" value="Нет"/> - <string name="no_group_text" value="Нет"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="Реальный мир:"/> - </panel> - <text name="title_member_text" value="Обитатель SL с:"/> - <text name="title_acc_status_text" value="Статус аккаунта:"/> - <text name="title_partner_text" value="Партнер:"/> - <panel name="partner_data_panel"> - <text initial_value="(получение информации)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="Группы:"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="В друзья" name="add_friend" tool_tip="Предложить дружбу этому жителю"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="Начать сеанс IM"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Позвонить" name="call" tool_tip="Позвонить этому жителю"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Телепортироваться" name="teleport" tool_tip="Предложить телепортацию"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="Заплатить жителю или поделиться с ним вещами"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_profile_view.xml b/indra/newview/skins/default/xui/ru/panel_profile_view.xml deleted file mode 100644 index c97c5afc01..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_profile_view.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - Онлайн - </string> - <string name="status_offline"> - Оффлайн - </string> - <text name="display_name_label" value="Экранное имя:"/> - <text name="solo_username_label" value="Имя пользователя:"/> - <text name="status" value="Онлайн"/> - <text name="user_name_small" value="Взгляни-ка, друг, какое длиннющее имя"/> - <button name="copy_to_clipboard" tool_tip="Копировать в буфер обмена"/> - <text name="user_label" value="Имя пользователя:"/> - <tab_container name="tabs"> - <panel label="ПРОФИЛЬ" name="panel_profile"/> - <panel label="ПОДБОРКА" name="panel_picks"/> - <panel label="ЗАМЕТКИ И ДОСТУП" name="panel_notes"/> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_my_profile.xml b/indra/newview/skins/default/xui/tr/panel_my_profile.xml deleted file mode 100644 index fc0b9b6e03..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_my_profile.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=en - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url" value="http://secondlife.com/account"/> - <string name="no_partner_text" value="Hiçbiri"/> - <string name="no_group_text" value="Hiçbiri"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - Kullanıcı adı - </text> - <text name="name_descr_text"> - Görüntü Adı - </text> - <button label="Profil" name="see_profile_btn" tool_tip="Bu avatar profiline bak"/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_notes.xml b/indra/newview/skins/default/xui/tr/panel_notes.xml deleted file mode 100644 index ff5b60996a..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Notlar ve Gizlilik" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="Özel notlarım:"/> - <text name="status_message2" value="Bu kişiye şu izinler verilsin:"/> - <check_box label="Çevrimiçi durumumu görme" name="status_check"/> - <check_box label="Beni haritada görme" name="map_check"/> - <check_box label="Nesnelerimi düzenleme, silme veya alma" name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Arkadaş Ekle" name="add_friend" tool_tip="Sakine arkadaşlık öner"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="Aİ" name="im" tool_tip="Anlık ileti oturumu aç"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Ara" name="call" tool_tip="Bu Sakini ara"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Harita" name="show_on_map_btn" tool_tip="Sakini haritada göster"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Işınla" name="teleport" tool_tip="Işınlama teklif et"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_profile.xml b/indra/newview/skins/default/xui/tr/panel_profile.xml deleted file mode 100644 index 4b7a964537..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_profile.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=en - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url" value="http://secondlife.com/account"/> - <string name="no_partner_text" value="Hiçbiri"/> - <string name="no_group_text" value="Hiçbiri"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="Gerçek Dünya:"/> - </panel> - <text name="title_member_text" value="Ne Zamandan Beri SL Sakini:"/> - <text name="title_acc_status_text" value="Hesap Durumu:"/> - <text name="title_partner_text" value="Partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(alınıyor)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="Gruplar:"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="Arkadaş Ekle" name="add_friend" tool_tip="Sakine arkadaşlık öner"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="Aİ" name="im" tool_tip="Anlık ileti oturumu aç"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Ara" name="call" tool_tip="Bu Sakini ara"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Işınla" name="teleport" tool_tip="Işınlama teklif et"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="Sakine para öde veya envanteri paylaş"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_profile_view.xml b/indra/newview/skins/default/xui/tr/panel_profile_view.xml deleted file mode 100644 index 17c5002bd7..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_profile_view.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - Çevrimiçi - </string> - <string name="status_offline"> - Çevrimdışı - </string> - <text name="display_name_label" value="Ekran Adı:"/> - <text name="solo_username_label" value="Kullanıcı Adı:"/> - <text name="status" value="Çevrimiçi"/> - <text name="user_name_small" value="Bak arkadaşım bu çok uzun bir ad"/> - <button name="copy_to_clipboard" tool_tip="Panoya Kopyala"/> - <text name="user_label" value="Kullanıcı Adı:"/> - <tab_container name="tabs"> - <panel label="PROFİL" name="panel_profile"/> - <panel label="SEÇMELER" name="panel_picks"/> - <panel label="NOTLAR & GİZLİLİK" name="panel_notes"/> - </tab_container> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_my_profile.xml b/indra/newview/skins/default/xui/zh/panel_my_profile.xml deleted file mode 100644 index 79817d7be9..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_my_profile.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="檔案" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=en - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url" value="http://secondlife.com/account"/> - <string name="no_partner_text" value="無"/> - <string name="no_group_text" value="無"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="second_life_image_panel"> - <text name="display_name_descr_text"> - User name - </text> - <text name="name_descr_text"> - 顯示名稱 - </text> - <button label="檔案" name="see_profile_btn" tool_tip="察看這位化身的檔案"/> - </panel> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_notes.xml b/indra/newview/skins/default/xui/zh/panel_notes.xml deleted file mode 100644 index 875c6bb328..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_notes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Notes & Privacy" name="panel_notes"> - <layout_stack name="layout"> - <layout_panel name="notes_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <text name="status_message" value="My private notes:"/> - <text name="status_message2" value="允許這個人可以:"/> - <check_box label="看到我上線狀態" name="status_check"/> - <check_box label="在地圖上看見我" name="map_check"/> - <check_box label="邊輯,刪除或取下我的物件" name="objects_check"/> - </panel> - </scroll_container> - </layout_panel> - <layout_panel name="notes_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="加為朋友" name="add_friend" tool_tip="向這個居民提出交友邀請"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="開啟即時訊息會話"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="通話" name="call" tool_tip="與這位居民通話"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="地圖" name="show_on_map_btn" tool_tip="在地圖上顯示這個居民"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="瞬間傳送" name="teleport" tool_tip="發給瞬間傳送請求"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_profile.xml b/indra/newview/skins/default/xui/zh/panel_profile.xml deleted file mode 100644 index 502449ac3a..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_profile.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="檔案" name="panel_profile"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="payment_update_link_url"> - http://www.secondlife.com/account/billing.php?lang=en - </string> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url" value="http://secondlife.com/account"/> - <string name="no_partner_text" value="無"/> - <string name="no_group_text" value="無"/> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="name_text_args"> - [NAME] - </string> - <string name="display_name_text_args"> - [DISPLAY_NAME] - </string> - <layout_stack name="layout"> - <layout_panel name="profile_stack"> - <scroll_container name="profile_scroll"> - <panel name="profile_scroll_panel"> - <panel name="second_life_image_panel"> - <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/> - </panel> - <panel name="first_life_image_panel"> - <text name="title_rw_descr_text" value="真實世界:"/> - </panel> - <text name="title_member_text" value="成為居民自:"/> - <text name="title_acc_status_text" value="帳戶狀態:"/> - <text name="title_partner_text" value="配偶:"/> - <panel name="partner_data_panel"> - <text initial_value="(檢索中)" name="partner_text"/> - </panel> - <text name="title_groups_text" value="群組:"/> - </panel> - </scroll_container> - </layout_panel> - </layout_stack> - <layout_stack name="layout_verb_buttons"> - <layout_panel name="profile_buttons_panel"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="add_friend_btn_lp"> - <button label="加為朋友" name="add_friend" tool_tip="發出交友邀請給這居民"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im" tool_tip="開啟即時訊息會話"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="通話" name="call" tool_tip="與這位居民通話"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="瞬間傳送" name="teleport" tool_tip="發給瞬間傳送請求"/> - </layout_panel> - <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="支付金錢,或分享收納區給居民"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_profile_view.xml b/indra/newview/skins/default/xui/zh/panel_profile_view.xml deleted file mode 100644 index 2684287692..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_profile_view.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_target_profile"> - <string name="status_online"> - 上線 - </string> - <string name="status_offline"> - 離線 - </string> - <text name="display_name_label" value="顯示名稱:"/> - <text name="solo_username_label" value="使用者名稱:"/> - <text name="status" value="上線"/> - <text name="user_name_small" value="Jack oh look at me this is a super duper long name"/> - <button name="copy_to_clipboard" tool_tip="覆製到剪貼簿"/> - <text name="user_label" value="使用者名稱:"/> - <tab_container name="tabs"> - <panel label="檔案" name="panel_profile"/> - <panel label="精選地點" name="panel_picks"/> - <panel label="NOTES & PRIVACY" name="panel_notes"/> - </tab_container> -</panel> |