From 2bb3a24ca115832bdbfc5030f4ab553cab1e2ef8 Mon Sep 17 00:00:00 2001 From: Lynx Linden Date: Tue, 26 Jan 2010 10:40:17 +0000 Subject: EXT-4716: Added new SLapps for Home web content. secondlife:///app/appearance - to open the My Appearance sidetray secondlife:///app/help/{TOPIC} - to display help for a given topic I've updated https://wiki.lindenlab.com/wiki/Viewer_2.0_SLapps --- indra/newview/llappearancemgr.cpp | 18 ++++++++++++++++++ indra/newview/llviewerhelp.cpp | 28 ++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 03180b6a9d..66e9b377d9 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -35,6 +35,7 @@ #include "llagent.h" #include "llagentwearables.h" #include "llappearancemgr.h" +#include "llcommandhandler.h" #include "llfloatercustomize.h" #include "llgesturemgr.h" #include "llinventorybridge.h" @@ -47,6 +48,23 @@ #include "llviewerregion.h" #include "llwearablelist.h" +// support for secondlife:///app/appearance SLapps +class LLAppearanceHandler : public LLCommandHandler +{ +public: + // requests will be throttled from a non-trusted browser + LLAppearanceHandler() : LLCommandHandler("appearance", UNTRUSTED_THROTTLE) {} + + bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + { + // we currently don't support any commands after the "appearance" + // part of the SLapp - we just show the appearance side panel + LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD()); + return true; + } +}; +LLAppearanceHandler gAppearanceHandler; + class LLWearInventoryCategoryCallback : public LLInventoryCallback { public: diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp index 7c491ad154..b82538dacb 100644 --- a/indra/newview/llviewerhelp.cpp +++ b/indra/newview/llviewerhelp.cpp @@ -33,6 +33,7 @@ #include "llviewerprecompiledheaders.h" +#include "llcommandhandler.h" #include "llfloaterhelpbrowser.h" #include "llfloaterreg.h" #include "llfocusmgr.h" @@ -43,6 +44,33 @@ #include "llviewerhelputil.h" #include "llviewerhelp.h" +// support for secondlife:///app/help/{TOPIC} SLapps +class LLHelpHandler : public LLCommandHandler +{ +public: + // requests will be throttled from a non-trusted browser + LLHelpHandler() : LLCommandHandler("help", UNTRUSTED_THROTTLE) {} + + bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + { + LLViewerHelp* vhelp = LLViewerHelp::getInstance(); + if (! vhelp) + { + return false; + } + + // get the requested help topic name, or use the fallback if none + std::string help_topic = vhelp->defaultTopic(); + if (params.size() >= 1) + { + help_topic = params[0].asString(); + } + + vhelp->showTopic(help_topic); + return true; + } +}; +LLHelpHandler gHelpHandler; ////////////////////////////// // implement LLHelp interface -- cgit v1.3 From aad8a1bd00ff12afdfdb7f508bc57a8ea1347b3b Mon Sep 17 00:00:00 2001 From: Lynx Linden Date: Tue, 26 Jan 2010 10:42:54 +0000 Subject: EXT-4716: Updated a comment. To say that we must explicitly support secondlife:///app/appearance/show --- indra/newview/llappearancemgr.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 66e9b377d9..1dec8c7bd8 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -57,8 +57,8 @@ public: bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) { - // we currently don't support any commands after the "appearance" - // part of the SLapp - we just show the appearance side panel + // support secondlife:///app/appearance/show, but for now we just + // make all secondlife:///app/appearance SLapps behave this way LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD()); return true; } -- cgit v1.3 From 0a38adfd8af7d95627cd43e44901b9ae4e4e2d29 Mon Sep 17 00:00:00 2001 From: Lynx Linden Date: Tue, 26 Jan 2010 13:09:26 +0000 Subject: EXT-4678: Don't hyperlink sim URLs in About window. Added support for specifying a black list of URLs on a per-widget basis. URLs on this black list will not be hyperlinked in the text widget. The About dialog adds the sim hostname to this black list. --- indra/llui/lltextbase.cpp | 46 ++++++++++++++++++++++++++++++++-------- indra/llui/lltextbase.h | 8 +++++++ indra/newview/llfloaterabout.cpp | 6 ++++++ 3 files changed, 51 insertions(+), 9 deletions(-) (limited to 'indra/newview') diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 47db990a37..ab0d9b2221 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -1511,6 +1511,25 @@ void LLTextBase::setText(const LLStringExplicit &utf8str, const LLStyle::Params& onValueChange(0, getLength()); } +void LLTextBase::addBlackListUrl(const std::string &url) +{ + mBlackListUrls.push_back(url); +} + +bool LLTextBase::isBlackListUrl(const std::string &url) const +{ + std::vector::const_iterator it; + for (it = mBlackListUrls.begin(); it != mBlackListUrls.end(); ++it) + { + const std::string &blacklist_url = *it; + if (url.find(blacklist_url) != std::string::npos) + { + return true; + } + } + return false; +} + //virtual std::string LLTextBase::getText() const { @@ -1585,20 +1604,29 @@ void LLTextBase::appendText(const std::string &new_text, bool prepend_newline, c prepend_newline = false; } } - // output the styled Url - appendAndHighlightText(match.getLabel(), prepend_newline, part, link_params); - prepend_newline = false; - // set the tooltip for the Url label - if (! match.getTooltip().empty()) + // output the styled Url (unless we've been asked to suppress it) + if (isBlackListUrl(match.getUrl())) + { + std::string orig_url = text.substr(start, end-start); + appendAndHighlightText(orig_url, prepend_newline, part, style_params); + } + else { - segment_set_t::iterator it = getSegIterContaining(getLength()-1); - if (it != mSegments.end()) + appendAndHighlightText(match.getLabel(), prepend_newline, part, link_params); + + // set the tooltip for the Url label + if (! match.getTooltip().empty()) { - LLTextSegmentPtr segment = *it; - segment->setToolTip(match.getTooltip()); + segment_set_t::iterator it = getSegIterContaining(getLength()-1); + if (it != mSegments.end()) + { + LLTextSegmentPtr segment = *it; + segment->setToolTip(match.getTooltip()); + } } } + prepend_newline = false; // move on to the rest of the text after the Url if (end < (S32)text.length()) diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h index 038b9eaa62..e1c6cc36ab 100644 --- a/indra/llui/lltextbase.h +++ b/indra/llui/lltextbase.h @@ -41,6 +41,7 @@ #include "llpanel.h" #include +#include #include #include @@ -186,6 +187,9 @@ public: const LLFontGL* getDefaultFont() const { return mDefaultFont; } LLStyle::Params getDefaultStyle(); + // tell the text object to suppress auto highlighting of a specific URL + void addBlackListUrl(const std::string &url); + public: // Fired when a URL link is clicked commit_signal_t mURLClickSignal; @@ -308,6 +312,7 @@ protected: void updateRects(); void needsScroll() { mScrollNeeded = TRUE; } void replaceUrlLabel(const std::string &url, const std::string &label); + bool isBlackListUrl(const std::string &url) const; protected: // text segmentation and flow @@ -359,6 +364,9 @@ protected: LLView* mDocumentView; class LLScrollContainer* mScroller; + // list of URLs to suppress from automatic hyperlinking + std::vector mBlackListUrls; + // transient state bool mReflowNeeded; // need to reflow text because of change to text contents or display region bool mScrollNeeded; // need to change scroll region because of change to cursor position diff --git a/indra/newview/llfloaterabout.cpp b/indra/newview/llfloaterabout.cpp index ef69f39ad2..04f4ddf996 100644 --- a/indra/newview/llfloaterabout.cpp +++ b/indra/newview/llfloaterabout.cpp @@ -187,6 +187,12 @@ BOOL LLFloaterAbout::postBuild() support << '\n' << getString("AboutTraffic", args); } + // don't make the sim hostname be a hyperlink + if (info.has("HOSTNAME")) + { + support_widget->addBlackListUrl(info["HOSTNAME"].asString()); + } + support_widget->appendText(support.str(), FALSE, LLStyle::Params() -- cgit v1.3 From 020f855f643a198737e7bd4066bdc1757d864a54 Mon Sep 17 00:00:00 2001 From: Lynx Linden Date: Tue, 26 Jan 2010 14:23:28 +0000 Subject: EXT-4063: Enable tear-offs for pre-login menus. --- indra/newview/skins/default/xui/en/menu_login.xml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index a0dec346a4..5f38522758 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -10,6 +10,7 @@ Date: Tue, 26 Jan 2010 13:13:38 -0800 Subject: Configured build for the windows lightweight(stub) installer. Added a dependency on the package target to get parabuild to build the indra/win_setup project. Reviewed by Palmer --- indra/newview/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 5373556c20..ecea72fa0d 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1580,7 +1580,10 @@ if (WINDOWS) DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) - add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat) + add_custom_target(package ALL DEPENDS + ${CMAKE_CFG_INTDIR}/touched.bat + windows-setup-build-all + ) # temporarily disable packaging of event_host until hg subrepos get # sorted out on the parabuild cluster... #${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2) -- cgit v1.3 From fee564c26e1018787cf70b95fc677c1da447118c Mon Sep 17 00:00:00 2001 From: "Mark Palange (Mani)" Date: Tue, 26 Jan 2010 13:15:52 -0800 Subject: Removed tabs. --- indra/newview/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 8f333e9fd8..7ddeb90d29 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1579,9 +1579,9 @@ if (WINDOWS) ) add_custom_target(package ALL DEPENDS - ${CMAKE_CFG_INTDIR}/touched.bat - windows-setup-build-all - ) + ${CMAKE_CFG_INTDIR}/touched.bat + windows-setup-build-all + ) # temporarily disable packaging of event_host until hg subrepos get # sorted out on the parabuild cluster... #${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2) -- cgit v1.3 From 3f7ed7ef1de1012e3bea719e8042a256deb10ac3 Mon Sep 17 00:00:00 2001 From: Eli Linden Date: Tue, 26 Jan 2010 14:28:07 -0800 Subject: DEV-43688 cycle3 for DE --- .../skins/default/xui/de/floater_about_land.xml | 144 +++++------ .../default/xui/de/floater_animation_preview.xml | 5 +- .../default/xui/de/floater_avatar_textures.xml | 62 ++--- .../skins/default/xui/de/floater_buy_currency.xml | 2 +- .../skins/default/xui/de/floater_customize.xml | 71 ++--- .../skins/default/xui/de/floater_god_tools.xml | 9 +- .../skins/default/xui/de/floater_im_container.xml | 2 +- .../skins/default/xui/de/floater_incoming_call.xml | 6 + .../skins/default/xui/de/floater_lsl_guide.xml | 2 +- .../skins/default/xui/de/floater_media_browser.xml | 2 +- .../default/xui/de/floater_outfit_save_as.xml | 11 + .../skins/default/xui/de/floater_outgoing_call.xml | 9 + .../default/xui/de/floater_preview_gesture.xml | 3 + .../default/xui/de/floater_preview_notecard.xml | 4 +- .../default/xui/de/floater_preview_texture.xml | 5 +- .../skins/default/xui/de/floater_report_abuse.xml | 4 +- .../skins/default/xui/de/floater_script_limits.xml | 2 + .../skins/default/xui/de/floater_search.xml | 7 + .../skins/default/xui/de/floater_select_key.xml | 7 +- .../skins/default/xui/de/floater_sell_land.xml | 2 +- .../skins/default/xui/de/floater_snapshot.xml | 18 +- .../skins/default/xui/de/floater_sys_well.xml | 9 +- .../skins/default/xui/de/floater_telehub.xml | 11 +- .../newview/skins/default/xui/de/floater_tools.xml | 13 +- .../skins/default/xui/de/floater_top_objects.xml | 67 ++--- .../default/xui/de/floater_voice_controls.xml | 30 ++- .../default/xui/de/floater_whitelist_entry.xml | 2 +- .../skins/default/xui/de/floater_window_size.xml | 17 ++ .../skins/default/xui/de/floater_world_map.xml | 128 +++++---- .../skins/default/xui/de/inspect_avatar.xml | 10 +- .../newview/skins/default/xui/de/inspect_group.xml | 1 + .../skins/default/xui/de/menu_attachment_other.xml | 17 ++ .../skins/default/xui/de/menu_attachment_self.xml | 12 + .../skins/default/xui/de/menu_avatar_icon.xml | 2 +- .../skins/default/xui/de/menu_avatar_other.xml | 16 ++ .../skins/default/xui/de/menu_avatar_self.xml | 27 ++ .../skins/default/xui/de/menu_bottomtray.xml | 5 + .../skins/default/xui/de/menu_im_well_button.xml | 4 + .../skins/default/xui/de/menu_imchiclet_adhoc.xml | 4 + .../default/xui/de/menu_inspect_avatar_gear.xml | 1 + .../skins/default/xui/de/menu_inventory.xml | 10 +- .../skins/default/xui/de/menu_inventory_add.xml | 2 +- .../default/xui/de/menu_inventory_gear_default.xml | 2 + indra/newview/skins/default/xui/de/menu_land.xml | 9 + indra/newview/skins/default/xui/de/menu_login.xml | 6 +- .../xui/de/menu_notification_well_button.xml | 4 + indra/newview/skins/default/xui/de/menu_object.xml | 25 ++ .../skins/default/xui/de/menu_participant_list.xml | 19 +- .../skins/default/xui/de/menu_people_groups.xml | 8 + .../skins/default/xui/de/menu_people_nearby.xml | 1 + .../skins/default/xui/de/menu_profile_overflow.xml | 4 + indra/newview/skins/default/xui/de/menu_viewer.xml | 46 ++-- .../skins/default/xui/de/mime_types_linux.xml | 217 ++++++++++++++++ .../skins/default/xui/de/mime_types_mac.xml | 217 ++++++++++++++++ .../newview/skins/default/xui/de/notifications.xml | 159 +++++------- .../default/xui/de/panel_active_object_row.xml | 9 + .../default/xui/de/panel_adhoc_control_panel.xml | 16 +- .../default/xui/de/panel_avatar_list_item.xml | 1 + .../default/xui/de/panel_block_list_sidetray.xml | 4 +- .../skins/default/xui/de/panel_bottomtray.xml | 12 +- .../skins/default/xui/de/panel_edit_classified.xml | 4 +- .../skins/default/xui/de/panel_edit_profile.xml | 5 +- .../newview/skins/default/xui/de/panel_friends.xml | 46 ++-- .../default/xui/de/panel_group_control_panel.xml | 20 +- .../skins/default/xui/de/panel_group_general.xml | 8 +- .../default/xui/de/panel_group_info_sidetray.xml | 2 + .../skins/default/xui/de/panel_group_invite.xml | 8 +- .../skins/default/xui/de/panel_group_list_item.xml | 1 + .../skins/default/xui/de/panel_group_notices.xml | 14 +- .../default/xui/de/panel_im_control_panel.xml | 32 ++- .../skins/default/xui/de/panel_landmark_info.xml | 1 + indra/newview/skins/default/xui/de/panel_login.xml | 68 ++--- .../skins/default/xui/de/panel_main_inventory.xml | 8 +- .../xui/de/panel_media_settings_general.xml | 10 +- .../xui/de/panel_media_settings_permissions.xml | 25 +- .../xui/de/panel_media_settings_security.xml | 6 +- .../skins/default/xui/de/panel_my_profile.xml | 80 +++--- .../skins/default/xui/de/panel_navigation_bar.xml | 2 +- indra/newview/skins/default/xui/de/panel_notes.xml | 18 +- .../default/xui/de/panel_outfits_inventory.xml | 15 +- .../de/panel_outfits_inventory_gear_default.xml | 6 +- .../newview/skins/default/xui/de/panel_people.xml | 1 + indra/newview/skins/default/xui/de/panel_picks.xml | 12 +- .../skins/default/xui/de/panel_place_profile.xml | 1 + .../newview/skins/default/xui/de/panel_places.xml | 7 +- .../default/xui/de/panel_preferences_alerts.xml | 2 +- .../default/xui/de/panel_preferences_chat.xml | 10 +- .../default/xui/de/panel_preferences_general.xml | 24 +- .../default/xui/de/panel_preferences_privacy.xml | 6 +- .../default/xui/de/panel_preferences_setup.xml | 8 +- .../default/xui/de/panel_preferences_sound.xml | 2 +- .../default/xui/de/panel_prim_media_controls.xml | 52 +++- .../newview/skins/default/xui/de/panel_profile.xml | 77 +++--- .../skins/default/xui/de/panel_region_estate.xml | 9 +- .../skins/default/xui/de/panel_region_general.xml | 6 +- .../default/xui/de/panel_region_general_layout.xml | 43 ++++ .../skins/default/xui/de/panel_region_texture.xml | 3 +- .../xui/de/panel_script_limits_my_avatar.xml | 13 + .../xui/de/panel_script_limits_region_memory.xml | 24 ++ .../skins/default/xui/de/panel_side_tray.xml | 11 +- .../skins/default/xui/de/panel_status_bar.xml | 3 +- .../default/xui/de/panel_teleport_history.xml | 4 +- .../default/xui/de/panel_teleport_history_item.xml | 1 + .../newview/skins/default/xui/de/role_actions.xml | 244 +++++------------- .../skins/default/xui/de/sidepanel_appearance.xml | 8 +- .../skins/default/xui/de/sidepanel_inventory.xml | 2 +- .../skins/default/xui/de/sidepanel_item_info.xml | 57 ++-- .../skins/default/xui/de/sidepanel_task_info.xml | 76 +++--- indra/newview/skins/default/xui/de/strings.xml | 286 +++++++++++++++++++-- 109 files changed, 1904 insertions(+), 991 deletions(-) create mode 100644 indra/newview/skins/default/xui/de/floater_outfit_save_as.xml create mode 100644 indra/newview/skins/default/xui/de/floater_script_limits.xml create mode 100644 indra/newview/skins/default/xui/de/floater_window_size.xml create mode 100644 indra/newview/skins/default/xui/de/menu_attachment_other.xml create mode 100644 indra/newview/skins/default/xui/de/menu_attachment_self.xml create mode 100644 indra/newview/skins/default/xui/de/menu_avatar_other.xml create mode 100644 indra/newview/skins/default/xui/de/menu_avatar_self.xml create mode 100644 indra/newview/skins/default/xui/de/menu_im_well_button.xml create mode 100644 indra/newview/skins/default/xui/de/menu_imchiclet_adhoc.xml create mode 100644 indra/newview/skins/default/xui/de/menu_land.xml create mode 100644 indra/newview/skins/default/xui/de/menu_notification_well_button.xml create mode 100644 indra/newview/skins/default/xui/de/menu_object.xml create mode 100644 indra/newview/skins/default/xui/de/menu_people_groups.xml create mode 100644 indra/newview/skins/default/xui/de/mime_types_linux.xml create mode 100644 indra/newview/skins/default/xui/de/mime_types_mac.xml create mode 100644 indra/newview/skins/default/xui/de/panel_active_object_row.xml create mode 100644 indra/newview/skins/default/xui/de/panel_region_general_layout.xml create mode 100644 indra/newview/skins/default/xui/de/panel_script_limits_my_avatar.xml create mode 100644 indra/newview/skins/default/xui/de/panel_script_limits_region_memory.xml (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/de/floater_about_land.xml b/indra/newview/skins/default/xui/de/floater_about_land.xml index af489d39d2..cd5abf86e0 100644 --- a/indra/newview/skins/default/xui/de/floater_about_land.xml +++ b/indra/newview/skins/default/xui/de/floater_about_land.xml @@ -13,7 +13,7 @@ Restzeit - + Nur neue Benutzer @@ -36,10 +36,10 @@ (In Gruppenbesitz) - Profil... + Profil - Info... + Info (öffentlich) @@ -52,7 +52,6 @@ Keine Parzelle ausgewählt. -Öffnen Sie „Welt“ > „Land-Info“ oder wählen Sie eine andere Parzelle aus, um Informationen darüber anzuzeigen. Name: @@ -78,33 +77,35 @@ Leyla Linden -