From 5baf0de6a396b120aba4e2351ed5bff70f2562ef Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Mon, 19 Sep 2011 19:13:39 +0300 Subject: [PATCH 001/213] EXP-1203 FIXED (As a FUI user, I want the address bar and favorites to be on one line) - Relocated address bar, combined with favorite landmarks EXP-1208 - Added dragger to change amount of space allocated to address bar and favorites bar EXP-1217 - Modified Favorites ->> More spillover EXP-1218 - Combined context menu menuitems for favorites & address bars EXP-1219 --- indra/newview/llfavoritesbar.cpp | 8 +- indra/newview/llfavoritesbar.h | 4 +- indra/newview/llnavigationbar.cpp | 148 -------- indra/newview/llnavigationbar.h | 3 - indra/newview/llviewercontrol.cpp | 9 +- indra/newview/llviewerwindow.cpp | 11 +- .../skins/default/xui/en/main_view.xml | 2 +- .../skins/default/xui/en/menu_hide_navbar.xml | 13 +- .../default/xui/en/panel_navigation_bar.xml | 319 ++++++++++-------- 9 files changed, 188 insertions(+), 329 deletions(-) diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 0b17d64eb07..63519b7c214 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -360,7 +360,7 @@ struct LLFavoritesSort LLFavoritesBarCtrl::Params::Params() : image_drag_indication("image_drag_indication"), - chevron_button("chevron_button"), + more_button("more_button"), label("label") { } @@ -389,9 +389,9 @@ LLFavoritesBarCtrl::LLFavoritesBarCtrl(const LLFavoritesBarCtrl::Params& p) gInventory.addObserver(this); //make chevron button - LLButton::Params chevron_button_params(p.chevron_button); - chevron_button_params.click_callback.function(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this)); - mChevronButton = LLUICtrlFactory::create<LLButton> (chevron_button_params); + LLTextBox::Params more_button_params(p.more_button); + mChevronButton = LLUICtrlFactory::create<LLTextBox> (more_button_params); + mChevronButton->setClickedCallback(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this)); addChild(mChevronButton); LLTextBox::Params label_param(p.label); diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index 1a28731c4f2..3811de3e2f7 100644 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -40,7 +40,7 @@ class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { Optional<LLUIImage*> image_drag_indication; - Optional<LLButton::Params> chevron_button; + Optional<LLTextBox::Params> more_button; Optional<LLTextBox::Params> label; Params(); }; @@ -135,7 +135,7 @@ class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver BOOL mShowDragMarker; LLUICtrl* mLandingTab; LLUICtrl* mLastTab; - LLButton* mChevronButton; + LLTextBox* mChevronButton; LLTextBox* mBarLabel; LLUUID mDragItemId; diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 9d54ad74631..133168f0baa 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -736,151 +736,3 @@ int LLNavigationBar::getDefFavBarHeight() { return mDefaultFpRect.getHeight(); } - -void LLNavigationBar::showNavigationPanel(BOOL visible) -{ - bool fpVisible = gSavedSettings.getBOOL("ShowNavbarFavoritesPanel"); - - LLFavoritesBarCtrl* fb = getChild<LLFavoritesBarCtrl>("favorite"); - LLPanel* navPanel = getChild<LLPanel>("navigation_panel"); - - LLRect nbRect(getRect()); - LLRect fbRect(fb->getRect()); - - navPanel->setVisible(visible); - - if (visible) - { - if (fpVisible) - { - // Navigation Panel must be shown. Favorites Panel is visible. - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), mDefaultNbRect.getHeight()); - fbRect.setLeftTopAndSize(fbRect.mLeft, mDefaultFpRect.mTop, fbRect.getWidth(), fbRect.getHeight()); - - // this is duplicated in 'else' section because it should be called BEFORE fb->reshape - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - // propagate size to parent container - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - - fb->reshape(fbRect.getWidth(), fbRect.getHeight()); - fb->setRect(fbRect); - } - else - { - // Navigation Panel must be shown. Favorites Panel is hidden. - - S32 height = mDefaultNbRect.getHeight() - mDefaultFpRect.getHeight() - FAVBAR_TOP_PADDING; - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), height); - - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - } - } - else - { - if (fpVisible) - { - // Navigation Panel must be hidden. Favorites Panel is visible. - - S32 fpHeight = mDefaultFpRect.getHeight() + FAVBAR_TOP_PADDING; - S32 fpTop = fpHeight - (mDefaultFpRect.getHeight() / 2) + 1; - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), fpHeight); - fbRect.setLeftTopAndSize(fbRect.mLeft, fpTop, fbRect.getWidth(), mDefaultFpRect.getHeight()); - - // this is duplicated in 'else' section because it should be called BEFORE fb->reshape - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - - fb->reshape(fbRect.getWidth(), fbRect.getHeight()); - fb->setRect(fbRect); - } - else - { - // Navigation Panel must be hidden. Favorites Panel is hidden. - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), 0); - - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - } - } - - getChildView("bg_icon")->setVisible( visible && fpVisible); - getChildView("bg_icon_no_fav_bevel")->setVisible( visible && !fpVisible); - getChildView("bg_icon_no_nav_bevel")->setVisible( !visible && fpVisible); -} - -void LLNavigationBar::showFavoritesPanel(BOOL visible) -{ - bool npVisible = gSavedSettings.getBOOL("ShowNavbarNavigationPanel"); - - LLFavoritesBarCtrl* fb = getChild<LLFavoritesBarCtrl>("favorite"); - - LLRect nbRect(getRect()); - LLRect fbRect(fb->getRect()); - - if (visible) - { - if (npVisible) - { - // Favorites Panel must be shown. Navigation Panel is visible. - - S32 fbHeight = fbRect.getHeight(); - S32 newHeight = nbRect.getHeight() + fbHeight + FAVBAR_TOP_PADDING; - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), newHeight); - fbRect.setLeftTopAndSize(mDefaultFpRect.mLeft, mDefaultFpRect.mTop, fbRect.getWidth(), fbRect.getHeight()); - } - else - { - // Favorites Panel must be shown. Navigation Panel is hidden. - - S32 fpHeight = mDefaultFpRect.getHeight() + FAVBAR_TOP_PADDING; - S32 fpTop = fpHeight - (mDefaultFpRect.getHeight() / 2) + 1; - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), fpHeight); - fbRect.setLeftTopAndSize(fbRect.mLeft, fpTop, fbRect.getWidth(), mDefaultFpRect.getHeight()); - } - - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - - fb->reshape(fbRect.getWidth(), fbRect.getHeight()); - fb->setRect(fbRect); - } - else - { - if (npVisible) - { - // Favorites Panel must be hidden. Navigation Panel is visible. - - S32 fbHeight = fbRect.getHeight(); - S32 newHeight = nbRect.getHeight() - fbHeight - FAVBAR_TOP_PADDING; - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), newHeight); - } - else - { - // Favorites Panel must be hidden. Navigation Panel is hidden. - - nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), 0); - } - - reshape(nbRect.getWidth(), nbRect.getHeight()); - setRect(nbRect); - getParent()->reshape(nbRect.getWidth(), nbRect.getHeight()); - } - - getChildView("bg_icon")->setVisible( npVisible && visible); - getChildView("bg_icon_no_fav_bevel")->setVisible( npVisible && !visible); - getChildView("bg_icon_no_nav_bevel")->setVisible( !npVisible && visible); - - fb->setVisible(visible); -} diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h index 3c9f8a762de..f200253de57 100644 --- a/indra/newview/llnavigationbar.h +++ b/indra/newview/llnavigationbar.h @@ -98,9 +98,6 @@ class LLNavigationBar void handleLoginComplete(); void clearHistoryCache(); - void showNavigationPanel(BOOL visible); - void showFavoritesPanel(BOOL visible); - int getDefNavBarHeight(); int getDefFavBarHeight(); diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index b87ca1eaecd..cd522c91217 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -538,18 +538,12 @@ bool toggle_show_navigation_panel(const LLSD& newvalue) { bool value = newvalue.asBoolean(); - LLNavigationBar::getInstance()->showNavigationPanel(value); + LLNavigationBar::getInstance()->setVisible(value); gSavedSettings.setBOOL("ShowMiniLocationPanel", !value); return true; } -bool toggle_show_favorites_panel(const LLSD& newvalue) -{ - LLNavigationBar::getInstance()->showFavoritesPanel(newvalue.asBoolean()); - return true; -} - bool toggle_show_mini_location_panel(const LLSD& newvalue) { bool value = newvalue.asBoolean(); @@ -732,7 +726,6 @@ void settings_setup_listeners() gSavedSettings.getControl("UseDebugMenus")->getSignal()->connect(boost::bind(&show_debug_menus)); gSavedSettings.getControl("AgentPause")->getSignal()->connect(boost::bind(&toggle_agent_pause, _2)); gSavedSettings.getControl("ShowNavbarNavigationPanel")->getSignal()->connect(boost::bind(&toggle_show_navigation_panel, _2)); - gSavedSettings.getControl("ShowNavbarFavoritesPanel")->getSignal()->connect(boost::bind(&toggle_show_favorites_panel, _2)); gSavedSettings.getControl("ShowMiniLocationPanel")->getSignal()->connect(boost::bind(&toggle_show_mini_location_panel, _2)); gSavedSettings.getControl("ShowObjectRenderingCost")->getSignal()->connect(boost::bind(&toggle_show_object_render_cost, _2)); gSavedSettings.getControl("UpdaterServiceSetting")->getSignal()->connect(boost::bind(&toggle_updater_service_active, _2)); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 5893259d964..3665ed4b5b1 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1885,12 +1885,7 @@ void LLViewerWindow::initWorldUI() if (!gSavedSettings.getBOOL("ShowNavbarNavigationPanel")) { - navbar->showNavigationPanel(FALSE); - } - - if (!gSavedSettings.getBOOL("ShowNavbarFavoritesPanel")) - { - navbar->showFavoritesPanel(FALSE); + navbar->setVisible(FALSE); } // Top Info bar @@ -2196,7 +2191,9 @@ void LLViewerWindow::setNormalControlsVisible( BOOL visible ) LLNavigationBar* navbarp = LLUI::getRootView()->findChild<LLNavigationBar>("navigation_bar"); if (navbarp) { - navbarp->setVisible( visible ); + // when it's time to show navigation bar we need to ensure that the user wants to see it + // i.e. ShowNavbarNavigationPanel option is true + navbarp->setVisible( visible && gSavedSettings.getBOOL("ShowNavbarNavigationPanel") ); } } diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index a7d1aa963c7..688349aa164 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -16,7 +16,7 @@ orientation="vertical" top="19"> <layout_panel auto_resize="false" - height="60" + height="34" mouse_opaque="false" name="nav_bar_container" tab_stop="false" diff --git a/indra/newview/skins/default/xui/en/menu_hide_navbar.xml b/indra/newview/skins/default/xui/en/menu_hide_navbar.xml index 3f38d734b95..b517fd7957d 100644 --- a/indra/newview/skins/default/xui/en/menu_hide_navbar.xml +++ b/indra/newview/skins/default/xui/en/menu_hide_navbar.xml @@ -9,7 +9,7 @@ visible="false" width="128"> <menu_item_check - label="Show Navigation Bar" + label="Show Navigation & Favorites Bar" layout="topleft" name="ShowNavbarNavigationPanel"> <on_click @@ -19,17 +19,6 @@ function="CheckControl" parameter="ShowNavbarNavigationPanel" /> </menu_item_check> - <menu_item_check - label="Show Favorites Bar" - layout="topleft" - name="ShowNavbarFavoritesPanel"> - <on_click - function="ToggleControl" - parameter="ShowNavbarFavoritesPanel" /> - <on_check - function="CheckControl" - parameter="ShowNavbarFavoritesPanel" /> - </menu_item_check> <menu_item_check label="Show Mini-Location Bar" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 9749b6fdd46..9aa2da5abd2 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -5,7 +5,7 @@ bg_opaque_color="MouseGray" follows="left|top|right" focus_root="true" - height="60" + height="34" layout="topleft" name="navigation_bar" chrome="true" @@ -16,10 +16,10 @@ mouse_opaque="false" name="bg_icon" scale_image="true" - visible="true" + visible="false" left="0" top="0" - height="60" + height="34" width="600"/> <icon follows="all" @@ -30,7 +30,7 @@ visible="false" left="0" top="0" - height="60" + height="34" width="600"/> <icon follows="all" @@ -41,145 +41,176 @@ visible="false" left="0" top="0" - height="60" + height="34" width="600"/> - <panel - background_visible="false" - follows="left|top|right" - top="3" - height="23" - layout="topleft" - name="navigation_panel" - width="600"> - <pull_button - follows="left|top" - direction="down" - height="23" - image_overlay="Arrow_Left_Off" - image_bottom_pad="1" - layout="topleft" - left="10" - name="back_btn" - tool_tip="Go back to previous location" - top="2" - width="31" /> - <pull_button - follows="left|top" - direction="down" - height="23" - image_overlay="Arrow_Right_Off" - image_bottom_pad="1" - layout="topleft" - left_pad="0" - name="forward_btn" - tool_tip="Go forward one location" - top_delta="0" - width="31" /> - <button - follows="left|top" - height="23" - image_bottom_pad="1" - image_overlay="Home_Off" - layout="topleft" - left_pad="7" - name="home_btn" - tool_tip="Teleport to my home location" - top_delta="0" - width="32" /> - <location_input - follows="left|right|top" - halign="right" - height="23" - label="Location" - layout="topleft" - left_pad="7" - max_chars="254" - mouse_opaque="false" - name="location_combo" - top_delta="0" - width="226"> - <combo_list - mouse_wheel_opaque="true"/> - <!-- *TODO: Delete. Let the location_input use the correct art sizes. - <location_input.add_landmark_button - height="18" - name="location_combo_add" - width="20" /> - <location_input.info_button - height="18" - name="location_combo_info" - width="20" /> - --> - </location_input> - <!-- <button --> - <!-- follows="right|top" --> - <!-- height="20" --> - <!-- image_disabled="TextField_Search_Off" --> - <!-- image_disabled_selected="TextField_Search_Off" --> - <!-- image_hover_selected="TextField_Search_Off" --> - <!-- image_hover_unselected="TextField_Search_Off" --> - <!-- image_selected="TextField_Search_Off" --> - <!-- image_unselected="TextField_Search_Off" --> - <!-- layout="topleft" --> - <!-- left_pad="5" --> - <!-- mouse_opaque="false" --> - <!-- name="search_bg" --> - <!-- top_delta="0" --> - <!-- width="168" /> --> - <search_combo_box - follows="right|top" - halign="right" - height="23" - label="Search" - layout="topleft" - right="-10" - mouse_opaque="false" - name="search_combo_box" - tool_tip="Search" - top_delta="0" - width="244" > - <combo_editor - label="Search [SECOND_LIFE]" - name="search_combo_editor"/> - <combo_list - draw_border="true" - border.highlight_light_color="FocusColor" - border.highlight_dark_color="FocusColor" - border.shadow_light_color="FocusColor" - border.shadow_dark_color="FocusColor"/> - </search_combo_box> - </panel> - <favorites_bar - follows="left|right|top" - font="SansSerifSmall" - height="15" - layout="topleft" - left="0" - name="favorite" - image_drag_indication="Accordion_ArrowOpened_Off" - bottom="55" - tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" - width="590"> - <label - follows="left|top" - height="15" - layout="topleft" - left="10" - name="favorites_bar_label" - text_color="LtGray" - tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" - top="12" - width="102"> - Favorites Bar - </label> - <chevron_button name=">>" - image_unselected="TabIcon_Close_Off" - image_selected="TabIcon_Close_Off" - tab_stop="false" - follows="left|bottom" - tool_tip="Show more of My Favorites" - width="15" - top="15" - height="15"/> - </favorites_bar> + <layout_stack + use_border="true" + bevel_style="none" + follows="all" + height="34" + layout="topleft" + left="0" + mouse_opaque="false" + name="nvp_stack" + orientation="horizontal" + top="0" + width="600"> + <layout_panel + follows="top|left" + layout="topleft" + auto_resize="true" + user_resize="true" + min_width="400" + name="navigation_layout_panel" + width="400"> + <panel + background_visible="false" + follows="left|top|right" + top="3" + height="23" + layout="topleft" + left="0" + name="navigation_panel" + width="400"> + <pull_button + follows="left|top" + direction="down" + height="23" + image_overlay="Arrow_Left_Off" + image_bottom_pad="1" + layout="topleft" + left="10" + name="back_btn" + tool_tip="Go back to previous location" + top="2" + width="31" /> + <pull_button + follows="left|top" + direction="down" + height="23" + image_overlay="Arrow_Right_Off" + image_bottom_pad="1" + layout="topleft" + left_pad="0" + name="forward_btn" + tool_tip="Go forward one location" + top_delta="0" + width="31" /> + <button + follows="left|top" + height="23" + image_bottom_pad="1" + image_overlay="Home_Off" + layout="topleft" + left_pad="7" + name="home_btn" + tool_tip="Teleport to my home location" + top_delta="0" + width="32"/> + <location_input + follows="all" + halign="right" + height="23" + label="Location" + layout="topleft" + left_pad="7" + max_chars="254" + mouse_opaque="false" + name="location_combo" + top_delta="0" + width="113"> + <combo_list + mouse_wheel_opaque="true"/> + </location_input> + <search_combo_box + follows="top|right" + halign="right" + height="23" + label="Search" + layout="topleft" + left_pad="7" + mouse_opaque="false" + name="search_combo_box" + tool_tip="Search" + top_delta="0" + width="152" > + <combo_editor + label="Search [SECOND_LIFE]" + name="search_combo_editor"/> + <combo_list + draw_border="true" + border.highlight_light_color="FocusColor" + border.highlight_dark_color="FocusColor" + border.shadow_light_color="FocusColor" + border.shadow_dark_color="FocusColor" + mouse_wheel_opaque="true"/> + </search_combo_box> + </panel> + </layout_panel> + + <layout_panel + auto_resize="false" + layout="topleft" + max_width="5" + min_width="5" + name="nav_bar_resize_handle_panel" + user_resize="false" + width="5"> + <icon + follows="top|right" + height="25" + image_name="ChatBarHandle" + layout="topleft" + left="-6" + name="resize_handle" + top="4" + width="5" /> + </layout_panel> + + <layout_panel + follows="top|left" + layout="topleft" + auto_resize="true" + user_resize="true" + min_width="190" + name="favorites_layout_panel" + width="190"> + <favorites_bar + follows="left|right|top" + font="SansSerifSmall" + height="20" + layout="topleft" + left="0" + name="favorite" + image_drag_indication="Accordion_ArrowOpened_Off" + tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" + width="190"> + <label + follows="left|top" + height="15" + layout="topleft" + left="10" + name="favorites_bar_label" + text_color="LtGray" + tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" + top="12" + width="102"> + Favorites Bar + </label> + <!-- More button actually is a text box. --> + <more_button + follows="left|bottom" + font.name="SansSerifSmall" + font.style="UNDERLINE" + name=">>" + tab_stop="false" + tool_tip="Show more of My Favorites" + top="15" + width="50"> + More... + </more_button> + </favorites_bar> + </layout_panel> + + </layout_stack> </panel> -- GitLab From 65fe2367a8241f0eb5ff4d27401f661b257e9736 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 19 Sep 2011 15:44:03 -0700 Subject: [PATCH 002/213] EXP-1228 WIP Create toolbar widget class that displays list of buttons horizontally or vertically created toolbar class and widget --- indra/llui/CMakeLists.txt | 2 ++ indra/llui/llui.cpp | 2 ++ indra/newview/llviewerwindow.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index b3b2f4ae564..cf3f9b1a7b3 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -99,6 +99,7 @@ set(llui_SOURCE_FILES lltimectrl.cpp lltransutil.cpp lltoggleablemenu.cpp + lltoolbar.cpp lltooltip.cpp llui.cpp lluicolortable.cpp @@ -200,6 +201,7 @@ set(llui_HEADER_FILES lltextvalidate.h lltimectrl.h lltoggleablemenu.h + lltoolbar.h lltooltip.h lltransutil.h lluicolortable.h diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 58ba9e05f50..593354ee9ba 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -57,6 +57,7 @@ #include "llfiltereditor.h" #include "llflyoutbutton.h" #include "llsearcheditor.h" +#include "lltoolbar.h" // for XUIParse #include "llquaternion.h" @@ -91,6 +92,7 @@ std::list<std::string> gUntranslated; static LLDefaultChildRegistry::Register<LLFilterEditor> register_filter_editor("filter_editor"); static LLDefaultChildRegistry::Register<LLFlyoutButton> register_flyout_button("flyout_button"); static LLDefaultChildRegistry::Register<LLSearchEditor> register_search_editor("search_editor"); +static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); // register other widgets which otherwise may not be linked in static LLDefaultChildRegistry::Register<LLLoadingIndicator> register_loading_indicator("loading_indicator"); diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index edd241a742a..47e0fdeab19 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -284,6 +284,7 @@ class LLViewerWindow : public LLWindowCallbacks void updateWorldViewRect(bool use_full_window=false); LLView* getNonSideTrayView() { return mNonSideTrayView.get(); } LLView* getFloaterViewHolder() { return mFloaterViewHolder.get(); } + LLView* getToolBarHolder() { return mToolBarHolder.get(); } LLView* getHintHolder() { return mHintHolder.get(); } LLView* getLoginPanelHolder() { return mLoginPanelHolder.get(); } BOOL handleKey(KEY key, MASK mask); @@ -446,6 +447,7 @@ class LLViewerWindow : public LLWindowCallbacks LLHandle<LLView> mWorldViewPlaceholder; // widget that spans the portion of screen dedicated to rendering the 3d world LLHandle<LLView> mNonSideTrayView; // parent of world view + bottom bar, etc...everything but the side tray LLHandle<LLView> mFloaterViewHolder; // container for floater_view + LLHandle<LLView> mToolBarHolder; // container for toolbars LLHandle<LLView> mHintHolder; // container for hints LLHandle<LLView> mLoginPanelHolder; // container for login panel LLPopupView* mPopupView; // container for transient popups -- GitLab From fef08c439ae7c8a310af444c10ab500bc8b14b79 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 19 Sep 2011 16:59:50 -0700 Subject: [PATCH 003/213] fix build --- indra/llui/lltoolbar.cpp | 77 ++++++++++++++++++++++++++++++++++++++++ indra/llui/lltoolbar.h | 60 +++++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 indra/llui/lltoolbar.cpp create mode 100644 indra/llui/lltoolbar.h diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp new file mode 100644 index 00000000000..0356fd5c8aa --- /dev/null +++ b/indra/llui/lltoolbar.cpp @@ -0,0 +1,77 @@ +/** + * @file lltoolbar.cpp + * @author Richard Nelson + * @brief User customizable toolbar class + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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 "linden_common.h" + +#include "boost/foreach.hpp" +#include "lltoolbar.h" + +//static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); + +LLToolBar::Params::Params() +: orientation("orientation"), + buttons("button") +{} + +LLToolBar::LLToolBar(const Params& p) +: LLUICtrl(p), + mOrientation(p.orientation), + mStack(NULL) +{ + +} + +void LLToolBar::draw() +{ + gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); +} + +void LLToolBar::initFromParams(const LLToolBar::Params& p) +{ + LLLayoutStack::Params stack_p; + stack_p.rect = getLocalRect(); + stack_p.follows.flags = FOLLOWS_ALL; + stack_p.name = "button_stack"; + stack_p.orientation = p.orientation; + + mStack = LLUICtrlFactory::create<LLLayoutStack>(stack_p); + addChild(mStack); + + BOOST_FOREACH (LLButton::Params button_p, p.buttons) + { + LLLayoutPanel::Params panel_p; + panel_p.name = button_p.name() + "_panel"; + panel_p.rect = button_p.rect; + panel_p.user_resize = false; + panel_p.auto_resize= false; + + LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p); + LLButton* button = LLUICtrlFactory::create<LLButton>(button_p); + panel->addChild(button); + mStack->addChild(panel); + } +} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h new file mode 100644 index 00000000000..768f42309d8 --- /dev/null +++ b/indra/llui/lltoolbar.h @@ -0,0 +1,60 @@ +/** + * @file lltoolbar.h + * @author Richard Nelson + * @brief User customizable toolbar class + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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_LLTOOLBAR_H +#define LL_LLTOOLBAR_H + +#include "lluictrl.h" +#include "lllayoutstack.h" +#include "llbutton.h" + +class LLToolBar +: public LLUICtrl +{ +public: + struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> + { + Mandatory<LLLayoutStack::ELayoutOrientation> orientation; + Multiple<LLButton::Params> buttons; + + Params(); + }; + + void draw(); + +protected: + friend LLUICtrlFactory; + LLToolBar(const Params&); + void initFromParams(const Params&); + +private: + LLLayoutStack::ELayoutOrientation mOrientation; + LLLayoutStack* mStack; +}; + + +#endif // LL_LLTOOLBAR_H -- GitLab From 3df9545017a4835e162801d3e8a13d68c8bc44ad Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 19 Sep 2011 17:34:23 -0700 Subject: [PATCH 004/213] Fix gcc compiling error --- indra/llui/lltoolbar.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 768f42309d8..dd454e3f0be 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -47,7 +47,7 @@ class LLToolBar void draw(); protected: - friend LLUICtrlFactory; + friend class LLUICtrlFactory; LLToolBar(const Params&); void initFromParams(const Params&); -- GitLab From 64f30a302dfbcaf56502676fa4b8d8a06f355b40 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 20 Sep 2011 16:37:21 -0700 Subject: [PATCH 005/213] EXP-1228 FIX Create toolbar widget class that displays list of buttons horizontally or vertically buttons are now centered and sized according to content created floater_test_toolbar.xml to test --- indra/llui/llbutton.cpp | 4 +- indra/llui/llbutton.h | 21 ++- indra/llui/lllayoutstack.cpp | 14 +- indra/llui/lllayoutstack.h | 26 ++-- indra/llui/lltoolbar.cpp | 121 +++++++++++++++--- indra/llui/lltoolbar.h | 26 +++- .../default/xui/en/floater_test_toolbar.xml | 42 ++++++ 7 files changed, 204 insertions(+), 50 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_test_toolbar.xml diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 2459429f6e5..6c08ec74315 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -314,7 +314,7 @@ boost::signals2::connection LLButton::setHeldDownCallback( const commit_signal_t } -// *TODO: Deprecate (for backwards compatability only) +// *TODO: Deprecate (for backwards compatibility only) boost::signals2::connection LLButton::setClickedCallback( button_callback_t cb, void* data ) { return setClickedCallback(boost::bind(cb, data)); @@ -919,7 +919,7 @@ void LLButton::setToggleState(BOOL b) void LLButton::setFlashing( BOOL b ) { - if (b != mFlashing) + if ((bool)b != mFlashing) { mFlashing = b; mFlashingTimer.reset(); diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 59689160060..bc5e69fad54 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -327,15 +327,14 @@ class LLButton LLUIColor mImageColor; LLUIColor mDisabledImageColor; - BOOL mIsToggle; - BOOL mScaleImage; + bool mIsToggle; + bool mScaleImage; - BOOL mDropShadowedText; - BOOL mAutoResize; - BOOL mUseEllipses; - BOOL mBorderEnabled; - - BOOL mFlashing; + bool mDropShadowedText; + bool mAutoResize; + bool mUseEllipses; + bool mBorderEnabled; + bool mFlashing; LLFontGL::HAlign mHAlign; S32 mLeftHPad; @@ -355,9 +354,9 @@ class LLButton F32 mHoverGlowStrength; F32 mCurGlowStrength; - BOOL mNeedsHighlight; - BOOL mCommitOnReturn; - BOOL mFadeWhenDisabled; + bool mNeedsHighlight; + bool mCommitOnReturn; + bool mFadeWhenDisabled; bool mForcePressedState; LLFrameTimer mFlashingTimer; diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp index a250404292a..0d1f608e61b 100644 --- a/indra/llui/lllayoutstack.cpp +++ b/indra/llui/lllayoutstack.cpp @@ -55,6 +55,7 @@ LLLayoutPanel::LLLayoutPanel(const Params& p) mMaxDim(p.max_dim), mAutoResize(p.auto_resize), mUserResize(p.user_resize), + mFitContent(p.fit_content), mCollapsed(FALSE), mCollapseAmt(0.f), mVisibleAmt(1.f), // default to fully visible @@ -104,6 +105,14 @@ F32 LLLayoutPanel::getCollapseFactor(LLLayoutStack::ELayoutOrientation orientati } } +void LLLayoutPanel::fitToContent() +{ + if (mFitContent) + { + setShape(calcBoundingRect()); + } +} + // // LLLayoutStack // @@ -324,6 +333,7 @@ void LLLayoutStack::updateLayout(BOOL force_resize) for (panel_it = mPanels.begin(); panel_it != mPanels.end(); ++panel_it) { LLLayoutPanel* panelp = (*panel_it); + panelp->fitToContent(); if (panelp->getVisible()) { if (mAnimate) @@ -478,7 +488,9 @@ void LLLayoutStack::updateLayout(BOOL force_resize) { // shrink proportionally to amount over minimum // so we can do this in one pass - delta_size = (shrink_headroom_available > 0) ? llround((F32)pixels_to_distribute * ((F32)(cur_width - relevant_min) / (F32)shrink_headroom_available)) : 0; + delta_size = (shrink_headroom_available > 0) + ? llround((F32)pixels_to_distribute * ((F32)(cur_width - relevant_min) / (F32)shrink_headroom_available)) + : 0; shrink_headroom_available -= (cur_width - relevant_min); } else diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h index d8ef0aeaca3..2ed32a2fa9f 100644 --- a/indra/llui/lllayoutstack.h +++ b/indra/llui/lllayoutstack.h @@ -161,14 +161,16 @@ friend class LLUICtrlFactory; min_dim, max_dim; Optional<bool> user_resize, - auto_resize; + auto_resize, + fit_content; Params() : expanded_min_dim("expanded_min_dim", 0), min_dim("min_dim", 0), max_dim("max_dim", 0), user_resize("user_resize", true), - auto_resize("auto_resize", true) + auto_resize("auto_resize", true), + fit_content("fit_content", false) { addSynonym(min_dim, "min_width"); addSynonym(min_dim, "min_height"); @@ -206,18 +208,20 @@ friend class LLUICtrlFactory; LLLayoutPanel(const Params& p); F32 getCollapseFactor(LLLayoutStack::ELayoutOrientation orientation); + void fitToContent(); - bool mExpandedMinDimSpecified; - S32 mExpandedMinDim; + bool mExpandedMinDimSpecified; + S32 mExpandedMinDim; - S32 mMinDim; - S32 mMaxDim; - BOOL mAutoResize; - BOOL mUserResize; - BOOL mCollapsed; + S32 mMinDim; + S32 mMaxDim; + bool mAutoResize; + bool mUserResize; + bool mCollapsed; + bool mFitContent; + F32 mVisibleAmt; + F32 mCollapseAmt; class LLResizeBar* mResizeBar; - F32 mVisibleAmt; - F32 mCollapseAmt; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 0356fd5c8aa..cdd3a502053 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -41,37 +41,118 @@ LLToolBar::LLToolBar(const Params& p) : LLUICtrl(p), mOrientation(p.orientation), mStack(NULL) +{} + +void LLToolBar::initFromParams(const LLToolBar::Params& p) { + LLLayoutStack::Params centering_stack_p; + centering_stack_p.rect = getLocalRect(); + centering_stack_p.follows.flags = FOLLOWS_ALL; + centering_stack_p.orientation = p.orientation; + centering_stack_p.name = "centering_stack"; -} + LLLayoutPanel::Params border_panel_p; + border_panel_p.name = "border_panel"; + border_panel_p.rect = getLocalRect(); + border_panel_p.auto_resize = true; + border_panel_p.user_resize = false; -void LLToolBar::draw() -{ - gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); -} + LLLayoutStack* centering_stack = LLUICtrlFactory::create<LLLayoutStack>(centering_stack_p); + addChild(centering_stack); + + LLLayoutPanel::Params center_panel_p; + center_panel_p.name = "center_panel"; + center_panel_p.rect = getLocalRect(); + center_panel_p.auto_resize = false; + center_panel_p.user_resize = false; + center_panel_p.fit_content = true; + + centering_stack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); + LLLayoutPanel* center_panel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); + centering_stack->addChild(center_panel); + centering_stack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); -void LLToolBar::initFromParams(const LLToolBar::Params& p) -{ LLLayoutStack::Params stack_p; stack_p.rect = getLocalRect(); - stack_p.follows.flags = FOLLOWS_ALL; stack_p.name = "button_stack"; stack_p.orientation = p.orientation; + stack_p.follows.flags = (mOrientation == LLLayoutStack::HORIZONTAL) + ? (FOLLOWS_TOP|FOLLOWS_BOTTOM) // horizontal + : (FOLLOWS_LEFT|FOLLOWS_RIGHT); // vertical mStack = LLUICtrlFactory::create<LLLayoutStack>(stack_p); - addChild(mStack); + center_panel->addChild(mStack); - BOOST_FOREACH (LLButton::Params button_p, p.buttons) + BOOST_FOREACH (LLToolBarButton::Params button_p, p.buttons) { - LLLayoutPanel::Params panel_p; - panel_p.name = button_p.name() + "_panel"; - panel_p.rect = button_p.rect; - panel_p.user_resize = false; - panel_p.auto_resize= false; - - LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p); - LLButton* button = LLUICtrlFactory::create<LLButton>(button_p); - panel->addChild(button); - mStack->addChild(panel); + // remove any offset from button + LLRect button_rect(button_p.rect); + + if (mOrientation == LLLayoutStack::HORIZONTAL) + { + button_rect.setOriginAndSize(0, 0, 0, getRect().getHeight()); + } + else // VERTICAL + { + button_rect.setOriginAndSize(0, 0, 0, button_rect.getHeight()); + } + button_p.follows.flags = FOLLOWS_NONE; + button_p.rect = button_rect; + button_p.chrome = true; + button_p.auto_resize = true; + + LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + + addButton(button); } + + updateLayout(); +} + +void LLToolBar::addButton(LLToolBarButton* buttonp) +{ + LLLayoutPanel::Params panel_p; + panel_p.name = buttonp->getName() + "_panel"; + panel_p.user_resize = false; + panel_p.auto_resize= false; + panel_p.fit_content = true; + + LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p); + + panel->addChild(buttonp); + mStack->addChild(panel); + mButtons.push_back(buttonp); } + +void LLToolBar::updateLayout() +{ + S32 total_width = 0; + S32 total_height = 0; + S32 max_width = getRect().getWidth(); + S32 max_height = getRect().getHeight(); + + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { + total_width += button->getRect().getWidth(); + total_height += button->getRect().getHeight(); + max_width = llmax(button->getRect().getWidth(), max_width); + max_height = llmax(button->getRect().getHeight(), max_height); + } + + if (mOrientation == LLLayoutStack::HORIZONTAL) + { + mStack->reshape(total_width, mStack->getParent()->getRect().getHeight()); + } + else + { + mStack->reshape(mStack->getParent()->getRect().getWidth(), total_height); + reshape(max_width, getRect().getHeight()); + } +} + + +void LLToolBar::draw() +{ + LLUICtrl::draw(); +} + diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index dd454e3f0be..fb03095c566 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -32,28 +32,44 @@ #include "lllayoutstack.h" #include "llbutton.h" +class LLToolBarButton : public LLButton +{ +public: + struct Params : public LLInitParam::Block<Params, LLButton::Params> + { + }; + + LLToolBarButton(const Params& p) : LLButton(p) {} + +}; + class LLToolBar : public LLUICtrl { public: + struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { - Mandatory<LLLayoutStack::ELayoutOrientation> orientation; - Multiple<LLButton::Params> buttons; + Mandatory<LLLayoutStack::ELayoutOrientation, + LLLayoutStack::OrientationNames> orientation; + Multiple<LLToolBarButton::Params> buttons; Params(); }; - void draw(); + /*virtual*/ void draw(); protected: friend class LLUICtrlFactory; LLToolBar(const Params&); void initFromParams(const Params&); + void addButton(LLToolBarButton* buttonp); + void updateLayout(); private: - LLLayoutStack::ELayoutOrientation mOrientation; - LLLayoutStack* mStack; + LLLayoutStack::ELayoutOrientation mOrientation; + LLLayoutStack* mStack; + std::list<LLToolBarButton*> mButtons; }; diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml new file mode 100644 index 00000000000..55cfd462acc --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="18" + can_resize="true" + height="500" + layout="topleft" + name="floater_test_toolbar" + translate="false" + width="500"> + <toolbar name="test_toolbar_horizontal" + follows="left|right|top" + height="50" + width="500" + left="0" + top="20" + orientation="horizontal"> + <button width="0" + auto_resize="true" + label="Button 1"/> + <button width="0" + auto_resize="true" + label="Button with long label"/> + <button width="0" + auto_resize="true" + label="Button with longest label of all"/> + </toolbar> + <toolbar name="test_toolbar_vertical" + follows="left|bottom|top" + height="430" + width="100" + left="0" + top="70" + orientation="vertical"> + <button height="30" + label="Button 1"/> + <button height="50" + label="Button 2"/> + <button height="60" + label="Button 3"/> + </toolbar> + +</floater> -- GitLab From bc3f0e0a81af79820a0c0a6877d266fca46ef917 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 20 Sep 2011 18:47:13 -0700 Subject: [PATCH 006/213] EXP-1230 FIX As a resident, I want to not have to choose a UI mode removed all references to basic mode --- indra/newview/CMakeLists.txt | 6 - indra/newview/app_settings/settings.xml | 11 - .../newview/app_settings/settings_minimal.xml | 474 --- indra/newview/llappviewer.cpp | 15 - indra/newview/lllogininstance.cpp | 10 +- indra/newview/llpanellogin.cpp | 30 - indra/newview/llpanellogin.h | 2 - indra/newview/llstatusbar.cpp | 33 - indra/newview/llstatusbar.h | 2 - indra/newview/llviewermenu.cpp | 100 - indra/newview/llviewermenu.h | 2 - indra/newview/llviewerstats.cpp | 2 +- indra/newview/llviewerwindow.cpp | 19 - .../skins/default/xui/en/menu_mode_change.xml | 24 - .../skins/default/xui/en/notifications.xml | 13 - .../skins/default/xui/en/panel_login.xml | 27 - .../skins/default/xui/en/panel_status_bar.xml | 19 - indra/newview/skins/minimal/colors.xml | 6 - .../skins/minimal/textures/arrow_keys.png | Bin 6558 -> 0 bytes .../textures/bottomtray/Speak_Btn_Off.png | Bin 993 -> 0 bytes .../bottomtray/Speak_Btn_Selected_Press.png | Bin 1217 -> 0 bytes .../textures/bottomtray/button_separator.png | Bin 153 -> 0 bytes .../minimal/textures/bottomtray/close_off.png | Bin 3184 -> 0 bytes .../textures/bottomtray/close_over.png | Bin 3173 -> 0 bytes .../textures/bottomtray/close_press.png | Bin 3259 -> 0 bytes .../skins/minimal/textures/click_to_move.png | Bin 8188 -> 0 bytes .../skins/minimal/textures/textures.xml | 11 - .../skins/minimal/xui/da/floater_camera.xml | 65 - .../minimal/xui/da/floater_help_browser.xml | 9 - .../minimal/xui/da/floater_media_browser.xml | 30 - .../minimal/xui/da/floater_nearby_chat.xml | 4 - .../minimal/xui/da/floater_web_content.xml | 14 - .../skins/minimal/xui/da/inspect_avatar.xml | 24 - .../skins/minimal/xui/da/inspect_object.xml | 41 - .../minimal/xui/da/menu_add_wearable_gear.xml | 6 - .../minimal/xui/da/menu_attachment_other.xml | 17 - .../minimal/xui/da/menu_attachment_self.xml | 16 - .../skins/minimal/xui/da/menu_avatar_icon.xml | 7 - .../minimal/xui/da/menu_avatar_other.xml | 16 - .../skins/minimal/xui/da/menu_avatar_self.xml | 31 - .../skins/minimal/xui/da/menu_bottomtray.xml | 17 - .../minimal/xui/da/menu_cof_attachment.xml | 4 - .../minimal/xui/da/menu_cof_body_part.xml | 5 - .../minimal/xui/da/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/da/menu_cof_gear.xml | 5 - .../skins/minimal/xui/da/menu_edit.xml | 12 - .../skins/minimal/xui/da/menu_favorites.xml | 10 - .../minimal/xui/da/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/da/menu_group_plus.xml | 5 - .../skins/minimal/xui/da/menu_hide_navbar.xml | 6 - .../minimal/xui/da/menu_im_well_button.xml | 4 - .../minimal/xui/da/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/da/menu_imchiclet_group.xml | 6 - .../minimal/xui/da/menu_imchiclet_p2p.xml | 7 - .../xui/da/menu_inspect_avatar_gear.xml | 21 - .../xui/da/menu_inspect_object_gear.xml | 18 - .../minimal/xui/da/menu_inspect_self_gear.xml | 31 - .../minimal/xui/da/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/da/menu_inventory.xml | 84 - .../minimal/xui/da/menu_inventory_add.xml | 33 - .../xui/da/menu_inventory_gear_default.xml | 17 - .../skins/minimal/xui/da/menu_land.xml | 9 - .../skins/minimal/xui/da/menu_landmark.xml | 7 - .../skins/minimal/xui/da/menu_login.xml | 24 - .../skins/minimal/xui/da/menu_mini_map.xml | 11 - .../skins/minimal/xui/da/menu_navbar.xml | 11 - .../skins/minimal/xui/da/menu_nearby_chat.xml | 9 - .../xui/da/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/da/menu_object.xml | 29 - .../skins/minimal/xui/da/menu_object_icon.xml | 5 - .../skins/minimal/xui/da/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/da/menu_outfit_tab.xml | 9 - .../minimal/xui/da/menu_participant_list.xml | 21 - .../xui/da/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/da/menu_people_groups.xml | 8 - .../xui/da/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/da/menu_people_nearby.xml | 13 - .../xui/da/menu_people_nearby_multiselect.xml | 10 - .../xui/da/menu_people_nearby_view_sort.xml | 8 - .../xui/da/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/da/menu_picks.xml | 8 - .../skins/minimal/xui/da/menu_picks_plus.xml | 5 - .../skins/minimal/xui/da/menu_place.xml | 7 - .../minimal/xui/da/menu_place_add_button.xml | 5 - .../xui/da/menu_places_gear_folder.xml | 16 - .../xui/da/menu_places_gear_landmark.xml | 19 - .../minimal/xui/da/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/da/menu_save_outfit.xml | 5 - .../minimal/xui/da/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/da/menu_slurl.xml | 6 - .../xui/da/menu_teleport_history_gear.xml | 6 - .../xui/da/menu_teleport_history_item.xml | 6 - .../xui/da/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/da/menu_text_editor.xml | 8 - .../skins/minimal/xui/da/menu_topinfobar.xml | 7 - .../skins/minimal/xui/da/menu_url_agent.xml | 6 - .../skins/minimal/xui/da/menu_url_group.xml | 6 - .../skins/minimal/xui/da/menu_url_http.xml | 7 - .../minimal/xui/da/menu_url_inventory.xml | 6 - .../skins/minimal/xui/da/menu_url_map.xml | 6 - .../minimal/xui/da/menu_url_objectim.xml | 8 - .../skins/minimal/xui/da/menu_url_parcel.xml | 6 - .../skins/minimal/xui/da/menu_url_slapp.xml | 5 - .../skins/minimal/xui/da/menu_url_slurl.xml | 7 - .../minimal/xui/da/menu_url_teleport.xml | 6 - .../skins/minimal/xui/da/menu_viewer.xml | 14 - .../xui/da/menu_wearable_list_item.xml | 14 - .../minimal/xui/da/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/da/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/da/notifications.xml | 1831 ---------- .../xui/da/panel_adhoc_control_panel.xml | 14 - .../skins/minimal/xui/da/panel_bottomtray.xml | 45 - .../xui/da/panel_group_control_panel.xml | 17 - .../minimal/xui/da/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/da/panel_login.xml | 48 - .../minimal/xui/da/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/da/panel_people.xml | 94 - .../xui/da/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/da/panel_status_bar.xml | 33 - .../skins/minimal/xui/de/floater_camera.xml | 65 - .../minimal/xui/de/floater_help_browser.xml | 9 - .../minimal/xui/de/floater_media_browser.xml | 30 - .../minimal/xui/de/floater_nearby_chat.xml | 4 - .../minimal/xui/de/floater_web_content.xml | 14 - .../skins/minimal/xui/de/inspect_avatar.xml | 25 - .../skins/minimal/xui/de/inspect_object.xml | 48 - .../minimal/xui/de/menu_add_wearable_gear.xml | 6 - .../minimal/xui/de/menu_attachment_other.xml | 17 - .../minimal/xui/de/menu_attachment_self.xml | 16 - .../skins/minimal/xui/de/menu_avatar_icon.xml | 7 - .../minimal/xui/de/menu_avatar_other.xml | 16 - .../skins/minimal/xui/de/menu_avatar_self.xml | 31 - .../skins/minimal/xui/de/menu_bottomtray.xml | 17 - .../minimal/xui/de/menu_cof_attachment.xml | 4 - .../minimal/xui/de/menu_cof_body_part.xml | 5 - .../minimal/xui/de/menu_cof_clothing.xml | 8 - .../skins/minimal/xui/de/menu_cof_gear.xml | 5 - .../skins/minimal/xui/de/menu_edit.xml | 12 - .../skins/minimal/xui/de/menu_favorites.xml | 10 - .../minimal/xui/de/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/de/menu_group_plus.xml | 5 - .../skins/minimal/xui/de/menu_hide_navbar.xml | 6 - .../minimal/xui/de/menu_im_well_button.xml | 4 - .../minimal/xui/de/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/de/menu_imchiclet_group.xml | 6 - .../minimal/xui/de/menu_imchiclet_p2p.xml | 7 - .../xui/de/menu_inspect_avatar_gear.xml | 18 - .../xui/de/menu_inspect_object_gear.xml | 18 - .../minimal/xui/de/menu_inspect_self_gear.xml | 8 - .../minimal/xui/de/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/de/menu_inventory.xml | 86 - .../minimal/xui/de/menu_inventory_add.xml | 33 - .../xui/de/menu_inventory_gear_default.xml | 16 - .../skins/minimal/xui/de/menu_land.xml | 9 - .../skins/minimal/xui/de/menu_landmark.xml | 7 - .../skins/minimal/xui/de/menu_login.xml | 25 - .../skins/minimal/xui/de/menu_mini_map.xml | 11 - .../skins/minimal/xui/de/menu_navbar.xml | 11 - .../skins/minimal/xui/de/menu_nearby_chat.xml | 9 - .../xui/de/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/de/menu_object.xml | 29 - .../skins/minimal/xui/de/menu_object_icon.xml | 5 - .../skins/minimal/xui/de/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/de/menu_outfit_tab.xml | 9 - .../minimal/xui/de/menu_participant_list.xml | 21 - .../xui/de/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/de/menu_people_groups.xml | 8 - .../xui/de/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/de/menu_people_nearby.xml | 13 - .../xui/de/menu_people_nearby_multiselect.xml | 10 - .../xui/de/menu_people_nearby_view_sort.xml | 8 - .../xui/de/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/de/menu_picks.xml | 8 - .../skins/minimal/xui/de/menu_picks_plus.xml | 5 - .../skins/minimal/xui/de/menu_place.xml | 7 - .../minimal/xui/de/menu_place_add_button.xml | 5 - .../xui/de/menu_places_gear_folder.xml | 15 - .../xui/de/menu_places_gear_landmark.xml | 18 - .../minimal/xui/de/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/de/menu_save_outfit.xml | 5 - .../minimal/xui/de/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/de/menu_slurl.xml | 6 - .../xui/de/menu_teleport_history_gear.xml | 6 - .../xui/de/menu_teleport_history_item.xml | 6 - .../xui/de/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/de/menu_text_editor.xml | 8 - .../skins/minimal/xui/de/menu_topinfobar.xml | 7 - .../skins/minimal/xui/de/menu_url_agent.xml | 6 - .../skins/minimal/xui/de/menu_url_group.xml | 6 - .../skins/minimal/xui/de/menu_url_http.xml | 7 - .../minimal/xui/de/menu_url_inventory.xml | 6 - .../skins/minimal/xui/de/menu_url_map.xml | 6 - .../minimal/xui/de/menu_url_objectim.xml | 8 - .../skins/minimal/xui/de/menu_url_parcel.xml | 6 - .../skins/minimal/xui/de/menu_url_slapp.xml | 5 - .../skins/minimal/xui/de/menu_url_slurl.xml | 7 - .../minimal/xui/de/menu_url_teleport.xml | 6 - .../skins/minimal/xui/de/menu_viewer.xml | 14 - .../xui/de/menu_wearable_list_item.xml | 14 - .../minimal/xui/de/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/de/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/de/notifications.xml | 19 - .../xui/de/panel_adhoc_control_panel.xml | 11 - .../skins/minimal/xui/de/panel_bottomtray.xml | 45 - .../xui/de/panel_group_control_panel.xml | 11 - .../minimal/xui/de/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/de/panel_login.xml | 40 - .../minimal/xui/de/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/de/panel_people.xml | 73 - .../xui/de/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/de/panel_status_bar.xml | 33 - .../skins/minimal/xui/en/floater_camera.xml | 284 -- .../minimal/xui/en/floater_help_browser.xml | 51 - .../minimal/xui/en/floater_media_browser.xml | 242 -- .../minimal/xui/en/floater_nearby_chat.xml | 52 - .../minimal/xui/en/floater_side_bar_tab.xml | 10 - .../minimal/xui/en/floater_web_content.xml | 196 -- .../skins/minimal/xui/en/inspect_avatar.xml | 206 -- .../skins/minimal/xui/en/inspect_object.xml | 144 - .../skins/minimal/xui/en/main_view.xml | 269 -- .../minimal/xui/en/menu_add_wearable_gear.xml | 2 - .../minimal/xui/en/menu_attachment_other.xml | 84 - .../minimal/xui/en/menu_attachment_self.xml | 26 - .../skins/minimal/xui/en/menu_avatar_icon.xml | 2 - .../minimal/xui/en/menu_avatar_other.xml | 83 - .../skins/minimal/xui/en/menu_avatar_self.xml | 2 - .../skins/minimal/xui/en/menu_bottomtray.xml | 2 - .../minimal/xui/en/menu_cof_attachment.xml | 2 - .../minimal/xui/en/menu_cof_body_part.xml | 2 - .../minimal/xui/en/menu_cof_clothing.xml | 2 - .../skins/minimal/xui/en/menu_cof_gear.xml | 2 - .../skins/minimal/xui/en/menu_edit.xml | 90 - .../skins/minimal/xui/en/menu_favorites.xml | 2 - .../minimal/xui/en/menu_gesture_gear.xml | 2 - .../skins/minimal/xui/en/menu_group_plus.xml | 2 - .../skins/minimal/xui/en/menu_hide_navbar.xml | 2 - .../minimal/xui/en/menu_im_well_button.xml | 2 - .../minimal/xui/en/menu_imchiclet_adhoc.xml | 2 - .../minimal/xui/en/menu_imchiclet_group.xml | 2 - .../minimal/xui/en/menu_imchiclet_p2p.xml | 2 - .../xui/en/menu_inspect_avatar_gear.xml | 125 - .../xui/en/menu_inspect_object_gear.xml | 50 - .../minimal/xui/en/menu_inspect_self_gear.xml | 49 - .../minimal/xui/en/menu_inv_offer_chiclet.xml | 2 - .../skins/minimal/xui/en/menu_inventory.xml | 2 - .../minimal/xui/en/menu_inventory_add.xml | 2 - .../xui/en/menu_inventory_gear_default.xml | 2 - .../skins/minimal/xui/en/menu_land.xml | 2 - .../skins/minimal/xui/en/menu_landmark.xml | 2 - .../skins/minimal/xui/en/menu_login.xml | 2 - .../skins/minimal/xui/en/menu_mini_map.xml | 2 - .../skins/minimal/xui/en/menu_navbar.xml | 2 - .../skins/minimal/xui/en/menu_nearby_chat.xml | 2 - .../xui/en/menu_notification_well_button.xml | 2 - .../skins/minimal/xui/en/menu_object.xml | 40 - .../skins/minimal/xui/en/menu_object_icon.xml | 2 - .../skins/minimal/xui/en/menu_outfit_gear.xml | 2 - .../skins/minimal/xui/en/menu_outfit_tab.xml | 2 - .../minimal/xui/en/menu_participant_list.xml | 2 - .../xui/en/menu_people_friends_view_sort.xml | 2 - .../minimal/xui/en/menu_people_groups.xml | 2 - .../xui/en/menu_people_groups_view_sort.xml | 2 - .../minimal/xui/en/menu_people_nearby.xml | 71 - .../xui/en/menu_people_nearby_multiselect.xml | 2 - .../xui/en/menu_people_nearby_view_sort.xml | 2 - .../xui/en/menu_people_recent_view_sort.xml | 2 - .../skins/minimal/xui/en/menu_picks.xml | 2 - .../skins/minimal/xui/en/menu_picks_plus.xml | 2 - .../skins/minimal/xui/en/menu_place.xml | 2 - .../minimal/xui/en/menu_place_add_button.xml | 2 - .../xui/en/menu_places_gear_folder.xml | 2 - .../xui/en/menu_places_gear_landmark.xml | 2 - .../minimal/xui/en/menu_profile_overflow.xml | 2 - .../skins/minimal/xui/en/menu_save_outfit.xml | 2 - .../minimal/xui/en/menu_script_chiclet.xml | 2 - .../skins/minimal/xui/en/menu_slurl.xml | 2 - .../xui/en/menu_teleport_history_gear.xml | 2 - .../xui/en/menu_teleport_history_item.xml | 2 - .../xui/en/menu_teleport_history_tab.xml | 2 - .../skins/minimal/xui/en/menu_text_editor.xml | 2 - .../skins/minimal/xui/en/menu_topinfobar.xml | 2 - .../skins/minimal/xui/en/menu_url_agent.xml | 2 - .../skins/minimal/xui/en/menu_url_group.xml | 2 - .../skins/minimal/xui/en/menu_url_http.xml | 2 - .../minimal/xui/en/menu_url_inventory.xml | 2 - .../skins/minimal/xui/en/menu_url_map.xml | 2 - .../minimal/xui/en/menu_url_objectim.xml | 2 - .../skins/minimal/xui/en/menu_url_parcel.xml | 2 - .../skins/minimal/xui/en/menu_url_slapp.xml | 2 - .../skins/minimal/xui/en/menu_url_slurl.xml | 2 - .../minimal/xui/en/menu_url_teleport.xml | 2 - .../skins/minimal/xui/en/menu_viewer.xml | 71 - .../xui/en/menu_wearable_list_item.xml | 2 - .../minimal/xui/en/menu_wearing_gear.xml | 2 - .../skins/minimal/xui/en/menu_wearing_tab.xml | 2 - .../xui/en/notification_visibility.xml | 27 - .../skins/minimal/xui/en/notifications.xml | 44 - .../xui/en/panel_adhoc_control_panel.xml | 81 - .../skins/minimal/xui/en/panel_bottomtray.xml | 557 --- .../xui/en/panel_group_control_panel.xml | 79 - .../minimal/xui/en/panel_im_control_panel.xml | 194 -- .../skins/minimal/xui/en/panel_login.xml | 205 -- .../minimal/xui/en/panel_navigation_bar.xml | 76 - .../skins/minimal/xui/en/panel_people.xml | 571 ---- .../xui/en/panel_side_tray_tab_caption.xml | 11 - .../skins/minimal/xui/en/panel_status_bar.xml | 83 - .../minimal/xui/en/panel_volume_pulldown.xml | 34 - .../minimal/xui/en/widgets/location_input.xml | 139 - .../skins/minimal/xui/es/floater_camera.xml | 65 - .../minimal/xui/es/floater_help_browser.xml | 9 - .../minimal/xui/es/floater_media_browser.xml | 30 - .../minimal/xui/es/floater_nearby_chat.xml | 4 - .../minimal/xui/es/floater_web_content.xml | 14 - .../skins/minimal/xui/es/inspect_avatar.xml | 24 - .../skins/minimal/xui/es/inspect_object.xml | 41 - .../minimal/xui/es/menu_add_wearable_gear.xml | 6 - .../minimal/xui/es/menu_attachment_other.xml | 17 - .../minimal/xui/es/menu_attachment_self.xml | 16 - .../skins/minimal/xui/es/menu_avatar_icon.xml | 7 - .../minimal/xui/es/menu_avatar_other.xml | 16 - .../skins/minimal/xui/es/menu_avatar_self.xml | 31 - .../skins/minimal/xui/es/menu_bottomtray.xml | 17 - .../minimal/xui/es/menu_cof_attachment.xml | 4 - .../minimal/xui/es/menu_cof_body_part.xml | 5 - .../minimal/xui/es/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/es/menu_cof_gear.xml | 5 - .../skins/minimal/xui/es/menu_edit.xml | 12 - .../skins/minimal/xui/es/menu_favorites.xml | 10 - .../minimal/xui/es/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/es/menu_group_plus.xml | 5 - .../skins/minimal/xui/es/menu_hide_navbar.xml | 6 - .../minimal/xui/es/menu_im_well_button.xml | 4 - .../minimal/xui/es/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/es/menu_imchiclet_group.xml | 6 - .../minimal/xui/es/menu_imchiclet_p2p.xml | 7 - .../xui/es/menu_inspect_avatar_gear.xml | 18 - .../xui/es/menu_inspect_object_gear.xml | 18 - .../minimal/xui/es/menu_inspect_self_gear.xml | 8 - .../minimal/xui/es/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/es/menu_inventory.xml | 86 - .../minimal/xui/es/menu_inventory_add.xml | 33 - .../xui/es/menu_inventory_gear_default.xml | 16 - .../skins/minimal/xui/es/menu_land.xml | 9 - .../skins/minimal/xui/es/menu_landmark.xml | 7 - .../skins/minimal/xui/es/menu_login.xml | 24 - .../skins/minimal/xui/es/menu_mini_map.xml | 11 - .../skins/minimal/xui/es/menu_navbar.xml | 11 - .../skins/minimal/xui/es/menu_nearby_chat.xml | 9 - .../xui/es/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/es/menu_object.xml | 29 - .../skins/minimal/xui/es/menu_object_icon.xml | 5 - .../skins/minimal/xui/es/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/es/menu_outfit_tab.xml | 9 - .../minimal/xui/es/menu_participant_list.xml | 21 - .../xui/es/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/es/menu_people_groups.xml | 8 - .../xui/es/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/es/menu_people_nearby.xml | 13 - .../xui/es/menu_people_nearby_multiselect.xml | 10 - .../xui/es/menu_people_nearby_view_sort.xml | 8 - .../xui/es/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/es/menu_picks.xml | 8 - .../skins/minimal/xui/es/menu_picks_plus.xml | 5 - .../skins/minimal/xui/es/menu_place.xml | 7 - .../minimal/xui/es/menu_place_add_button.xml | 5 - .../xui/es/menu_places_gear_folder.xml | 15 - .../xui/es/menu_places_gear_landmark.xml | 18 - .../minimal/xui/es/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/es/menu_save_outfit.xml | 5 - .../minimal/xui/es/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/es/menu_slurl.xml | 6 - .../xui/es/menu_teleport_history_gear.xml | 6 - .../xui/es/menu_teleport_history_item.xml | 6 - .../xui/es/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/es/menu_text_editor.xml | 8 - .../skins/minimal/xui/es/menu_topinfobar.xml | 7 - .../skins/minimal/xui/es/menu_url_agent.xml | 6 - .../skins/minimal/xui/es/menu_url_group.xml | 6 - .../skins/minimal/xui/es/menu_url_http.xml | 7 - .../minimal/xui/es/menu_url_inventory.xml | 6 - .../skins/minimal/xui/es/menu_url_map.xml | 6 - .../minimal/xui/es/menu_url_objectim.xml | 8 - .../skins/minimal/xui/es/menu_url_parcel.xml | 6 - .../skins/minimal/xui/es/menu_url_slapp.xml | 5 - .../skins/minimal/xui/es/menu_url_slurl.xml | 7 - .../minimal/xui/es/menu_url_teleport.xml | 6 - .../skins/minimal/xui/es/menu_viewer.xml | 14 - .../xui/es/menu_wearable_list_item.xml | 14 - .../minimal/xui/es/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/es/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/es/notifications.xml | 19 - .../xui/es/panel_adhoc_control_panel.xml | 11 - .../skins/minimal/xui/es/panel_bottomtray.xml | 45 - .../xui/es/panel_group_control_panel.xml | 11 - .../minimal/xui/es/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/es/panel_login.xml | 40 - .../minimal/xui/es/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/es/panel_people.xml | 74 - .../xui/es/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/es/panel_status_bar.xml | 33 - .../skins/minimal/xui/fr/floater_camera.xml | 65 - .../minimal/xui/fr/floater_help_browser.xml | 9 - .../minimal/xui/fr/floater_media_browser.xml | 30 - .../minimal/xui/fr/floater_nearby_chat.xml | 4 - .../minimal/xui/fr/floater_web_content.xml | 14 - .../skins/minimal/xui/fr/inspect_avatar.xml | 25 - .../skins/minimal/xui/fr/inspect_object.xml | 48 - .../minimal/xui/fr/menu_add_wearable_gear.xml | 6 - .../minimal/xui/fr/menu_attachment_other.xml | 17 - .../minimal/xui/fr/menu_attachment_self.xml | 16 - .../skins/minimal/xui/fr/menu_avatar_icon.xml | 7 - .../minimal/xui/fr/menu_avatar_other.xml | 16 - .../skins/minimal/xui/fr/menu_avatar_self.xml | 31 - .../skins/minimal/xui/fr/menu_bottomtray.xml | 17 - .../minimal/xui/fr/menu_cof_attachment.xml | 4 - .../minimal/xui/fr/menu_cof_body_part.xml | 5 - .../minimal/xui/fr/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/fr/menu_cof_gear.xml | 5 - .../skins/minimal/xui/fr/menu_edit.xml | 12 - .../skins/minimal/xui/fr/menu_favorites.xml | 10 - .../minimal/xui/fr/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/fr/menu_group_plus.xml | 5 - .../skins/minimal/xui/fr/menu_hide_navbar.xml | 6 - .../minimal/xui/fr/menu_im_well_button.xml | 4 - .../minimal/xui/fr/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/fr/menu_imchiclet_group.xml | 6 - .../minimal/xui/fr/menu_imchiclet_p2p.xml | 7 - .../xui/fr/menu_inspect_avatar_gear.xml | 18 - .../xui/fr/menu_inspect_object_gear.xml | 18 - .../minimal/xui/fr/menu_inspect_self_gear.xml | 8 - .../minimal/xui/fr/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/fr/menu_inventory.xml | 86 - .../minimal/xui/fr/menu_inventory_add.xml | 33 - .../xui/fr/menu_inventory_gear_default.xml | 16 - .../skins/minimal/xui/fr/menu_land.xml | 9 - .../skins/minimal/xui/fr/menu_landmark.xml | 7 - .../skins/minimal/xui/fr/menu_login.xml | 25 - .../skins/minimal/xui/fr/menu_mini_map.xml | 11 - .../skins/minimal/xui/fr/menu_navbar.xml | 11 - .../skins/minimal/xui/fr/menu_nearby_chat.xml | 9 - .../xui/fr/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/fr/menu_object.xml | 29 - .../skins/minimal/xui/fr/menu_object_icon.xml | 5 - .../skins/minimal/xui/fr/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/fr/menu_outfit_tab.xml | 9 - .../minimal/xui/fr/menu_participant_list.xml | 21 - .../xui/fr/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/fr/menu_people_groups.xml | 8 - .../xui/fr/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/fr/menu_people_nearby.xml | 13 - .../xui/fr/menu_people_nearby_multiselect.xml | 10 - .../xui/fr/menu_people_nearby_view_sort.xml | 8 - .../xui/fr/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/fr/menu_picks.xml | 8 - .../skins/minimal/xui/fr/menu_picks_plus.xml | 5 - .../skins/minimal/xui/fr/menu_place.xml | 7 - .../minimal/xui/fr/menu_place_add_button.xml | 5 - .../xui/fr/menu_places_gear_folder.xml | 15 - .../xui/fr/menu_places_gear_landmark.xml | 18 - .../minimal/xui/fr/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/fr/menu_save_outfit.xml | 5 - .../minimal/xui/fr/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/fr/menu_slurl.xml | 6 - .../xui/fr/menu_teleport_history_gear.xml | 6 - .../xui/fr/menu_teleport_history_item.xml | 6 - .../xui/fr/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/fr/menu_text_editor.xml | 8 - .../skins/minimal/xui/fr/menu_topinfobar.xml | 7 - .../skins/minimal/xui/fr/menu_url_agent.xml | 6 - .../skins/minimal/xui/fr/menu_url_group.xml | 6 - .../skins/minimal/xui/fr/menu_url_http.xml | 7 - .../minimal/xui/fr/menu_url_inventory.xml | 6 - .../skins/minimal/xui/fr/menu_url_map.xml | 6 - .../minimal/xui/fr/menu_url_objectim.xml | 8 - .../skins/minimal/xui/fr/menu_url_parcel.xml | 6 - .../skins/minimal/xui/fr/menu_url_slapp.xml | 5 - .../skins/minimal/xui/fr/menu_url_slurl.xml | 7 - .../minimal/xui/fr/menu_url_teleport.xml | 6 - .../skins/minimal/xui/fr/menu_viewer.xml | 14 - .../xui/fr/menu_wearable_list_item.xml | 14 - .../minimal/xui/fr/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/fr/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/fr/notifications.xml | 19 - .../xui/fr/panel_adhoc_control_panel.xml | 11 - .../skins/minimal/xui/fr/panel_bottomtray.xml | 45 - .../xui/fr/panel_group_control_panel.xml | 11 - .../minimal/xui/fr/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/fr/panel_login.xml | 40 - .../minimal/xui/fr/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/fr/panel_people.xml | 74 - .../xui/fr/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/fr/panel_status_bar.xml | 33 - .../skins/minimal/xui/it/floater_camera.xml | 65 - .../minimal/xui/it/floater_help_browser.xml | 9 - .../minimal/xui/it/floater_media_browser.xml | 31 - .../minimal/xui/it/floater_nearby_chat.xml | 4 - .../minimal/xui/it/floater_web_content.xml | 14 - .../skins/minimal/xui/it/inspect_avatar.xml | 26 - .../skins/minimal/xui/it/inspect_object.xml | 41 - .../minimal/xui/it/menu_add_wearable_gear.xml | 6 - .../minimal/xui/it/menu_attachment_other.xml | 17 - .../minimal/xui/it/menu_attachment_self.xml | 16 - .../skins/minimal/xui/it/menu_avatar_icon.xml | 7 - .../minimal/xui/it/menu_avatar_other.xml | 16 - .../skins/minimal/xui/it/menu_avatar_self.xml | 32 - .../skins/minimal/xui/it/menu_bottomtray.xml | 17 - .../minimal/xui/it/menu_cof_attachment.xml | 4 - .../minimal/xui/it/menu_cof_body_part.xml | 5 - .../minimal/xui/it/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/it/menu_cof_gear.xml | 5 - .../skins/minimal/xui/it/menu_edit.xml | 12 - .../skins/minimal/xui/it/menu_favorites.xml | 10 - .../minimal/xui/it/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/it/menu_group_plus.xml | 5 - .../skins/minimal/xui/it/menu_hide_navbar.xml | 6 - .../minimal/xui/it/menu_im_well_button.xml | 4 - .../minimal/xui/it/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/it/menu_imchiclet_group.xml | 6 - .../minimal/xui/it/menu_imchiclet_p2p.xml | 7 - .../xui/it/menu_inspect_avatar_gear.xml | 21 - .../xui/it/menu_inspect_object_gear.xml | 18 - .../minimal/xui/it/menu_inspect_self_gear.xml | 31 - .../minimal/xui/it/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/it/menu_inventory.xml | 87 - .../minimal/xui/it/menu_inventory_add.xml | 34 - .../xui/it/menu_inventory_gear_default.xml | 17 - .../skins/minimal/xui/it/menu_land.xml | 9 - .../skins/minimal/xui/it/menu_landmark.xml | 7 - .../skins/minimal/xui/it/menu_login.xml | 24 - .../skins/minimal/xui/it/menu_mini_map.xml | 11 - .../skins/minimal/xui/it/menu_navbar.xml | 11 - .../skins/minimal/xui/it/menu_nearby_chat.xml | 9 - .../xui/it/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/it/menu_object.xml | 29 - .../skins/minimal/xui/it/menu_object_icon.xml | 5 - .../skins/minimal/xui/it/menu_outfit_gear.xml | 28 - .../skins/minimal/xui/it/menu_outfit_tab.xml | 9 - .../minimal/xui/it/menu_participant_list.xml | 21 - .../xui/it/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/it/menu_people_groups.xml | 8 - .../xui/it/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/it/menu_people_nearby.xml | 13 - .../xui/it/menu_people_nearby_multiselect.xml | 10 - .../xui/it/menu_people_nearby_view_sort.xml | 8 - .../xui/it/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/it/menu_picks.xml | 8 - .../skins/minimal/xui/it/menu_picks_plus.xml | 5 - .../skins/minimal/xui/it/menu_place.xml | 7 - .../minimal/xui/it/menu_place_add_button.xml | 5 - .../xui/it/menu_places_gear_folder.xml | 16 - .../xui/it/menu_places_gear_landmark.xml | 19 - .../minimal/xui/it/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/it/menu_save_outfit.xml | 5 - .../minimal/xui/it/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/it/menu_slurl.xml | 6 - .../xui/it/menu_teleport_history_gear.xml | 6 - .../xui/it/menu_teleport_history_item.xml | 6 - .../xui/it/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/it/menu_text_editor.xml | 8 - .../skins/minimal/xui/it/menu_topinfobar.xml | 7 - .../skins/minimal/xui/it/menu_url_agent.xml | 6 - .../skins/minimal/xui/it/menu_url_group.xml | 6 - .../skins/minimal/xui/it/menu_url_http.xml | 7 - .../minimal/xui/it/menu_url_inventory.xml | 6 - .../skins/minimal/xui/it/menu_url_map.xml | 6 - .../minimal/xui/it/menu_url_objectim.xml | 8 - .../skins/minimal/xui/it/menu_url_parcel.xml | 6 - .../skins/minimal/xui/it/menu_url_slapp.xml | 5 - .../skins/minimal/xui/it/menu_url_slurl.xml | 7 - .../minimal/xui/it/menu_url_teleport.xml | 6 - .../skins/minimal/xui/it/menu_viewer.xml | 14 - .../xui/it/menu_wearable_list_item.xml | 14 - .../minimal/xui/it/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/it/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/it/notifications.xml | 2951 ---------------- .../xui/it/panel_adhoc_control_panel.xml | 14 - .../skins/minimal/xui/it/panel_bottomtray.xml | 45 - .../xui/it/panel_group_control_panel.xml | 17 - .../minimal/xui/it/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/it/panel_login.xml | 48 - .../minimal/xui/it/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/it/panel_people.xml | 94 - .../xui/it/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/it/panel_status_bar.xml | 33 - .../skins/minimal/xui/ja/floater_camera.xml | 65 - .../minimal/xui/ja/floater_help_browser.xml | 9 - .../minimal/xui/ja/floater_media_browser.xml | 30 - .../minimal/xui/ja/floater_nearby_chat.xml | 4 - .../minimal/xui/ja/floater_web_content.xml | 14 - .../skins/minimal/xui/ja/inspect_avatar.xml | 27 - .../skins/minimal/xui/ja/inspect_object.xml | 48 - .../minimal/xui/ja/menu_add_wearable_gear.xml | 6 - .../minimal/xui/ja/menu_attachment_other.xml | 17 - .../minimal/xui/ja/menu_attachment_self.xml | 16 - .../skins/minimal/xui/ja/menu_avatar_icon.xml | 7 - .../minimal/xui/ja/menu_avatar_other.xml | 16 - .../skins/minimal/xui/ja/menu_avatar_self.xml | 32 - .../skins/minimal/xui/ja/menu_bottomtray.xml | 17 - .../minimal/xui/ja/menu_cof_attachment.xml | 4 - .../minimal/xui/ja/menu_cof_body_part.xml | 5 - .../minimal/xui/ja/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/ja/menu_cof_gear.xml | 5 - .../skins/minimal/xui/ja/menu_edit.xml | 12 - .../skins/minimal/xui/ja/menu_favorites.xml | 10 - .../minimal/xui/ja/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/ja/menu_group_plus.xml | 5 - .../skins/minimal/xui/ja/menu_hide_navbar.xml | 6 - .../minimal/xui/ja/menu_im_well_button.xml | 4 - .../minimal/xui/ja/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/ja/menu_imchiclet_group.xml | 6 - .../minimal/xui/ja/menu_imchiclet_p2p.xml | 7 - .../xui/ja/menu_inspect_avatar_gear.xml | 21 - .../xui/ja/menu_inspect_object_gear.xml | 18 - .../minimal/xui/ja/menu_inspect_self_gear.xml | 31 - .../minimal/xui/ja/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/ja/menu_inventory.xml | 87 - .../minimal/xui/ja/menu_inventory_add.xml | 34 - .../xui/ja/menu_inventory_gear_default.xml | 17 - .../skins/minimal/xui/ja/menu_land.xml | 9 - .../skins/minimal/xui/ja/menu_landmark.xml | 7 - .../skins/minimal/xui/ja/menu_login.xml | 25 - .../skins/minimal/xui/ja/menu_mini_map.xml | 11 - .../skins/minimal/xui/ja/menu_navbar.xml | 11 - .../skins/minimal/xui/ja/menu_nearby_chat.xml | 9 - .../xui/ja/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/ja/menu_object.xml | 29 - .../skins/minimal/xui/ja/menu_object_icon.xml | 5 - .../skins/minimal/xui/ja/menu_outfit_gear.xml | 28 - .../skins/minimal/xui/ja/menu_outfit_tab.xml | 9 - .../minimal/xui/ja/menu_participant_list.xml | 21 - .../xui/ja/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/ja/menu_people_groups.xml | 8 - .../xui/ja/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/ja/menu_people_nearby.xml | 13 - .../xui/ja/menu_people_nearby_multiselect.xml | 10 - .../xui/ja/menu_people_nearby_view_sort.xml | 8 - .../xui/ja/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/ja/menu_picks.xml | 8 - .../skins/minimal/xui/ja/menu_picks_plus.xml | 5 - .../skins/minimal/xui/ja/menu_place.xml | 7 - .../minimal/xui/ja/menu_place_add_button.xml | 5 - .../xui/ja/menu_places_gear_folder.xml | 16 - .../xui/ja/menu_places_gear_landmark.xml | 19 - .../minimal/xui/ja/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/ja/menu_save_outfit.xml | 5 - .../minimal/xui/ja/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/ja/menu_slurl.xml | 6 - .../xui/ja/menu_teleport_history_gear.xml | 6 - .../xui/ja/menu_teleport_history_item.xml | 6 - .../xui/ja/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/ja/menu_text_editor.xml | 8 - .../skins/minimal/xui/ja/menu_topinfobar.xml | 7 - .../skins/minimal/xui/ja/menu_url_agent.xml | 6 - .../skins/minimal/xui/ja/menu_url_group.xml | 6 - .../skins/minimal/xui/ja/menu_url_http.xml | 7 - .../minimal/xui/ja/menu_url_inventory.xml | 6 - .../skins/minimal/xui/ja/menu_url_map.xml | 6 - .../minimal/xui/ja/menu_url_objectim.xml | 8 - .../skins/minimal/xui/ja/menu_url_parcel.xml | 6 - .../skins/minimal/xui/ja/menu_url_slapp.xml | 5 - .../skins/minimal/xui/ja/menu_url_slurl.xml | 7 - .../minimal/xui/ja/menu_url_teleport.xml | 6 - .../skins/minimal/xui/ja/menu_viewer.xml | 14 - .../xui/ja/menu_wearable_list_item.xml | 14 - .../minimal/xui/ja/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/ja/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/ja/notifications.xml | 2995 ----------------- .../xui/ja/panel_adhoc_control_panel.xml | 14 - .../skins/minimal/xui/ja/panel_bottomtray.xml | 45 - .../xui/ja/panel_group_control_panel.xml | 17 - .../minimal/xui/ja/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/ja/panel_login.xml | 48 - .../minimal/xui/ja/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/ja/panel_people.xml | 94 - .../xui/ja/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/ja/panel_status_bar.xml | 33 - .../skins/minimal/xui/pl/floater_camera.xml | 65 - .../minimal/xui/pl/floater_help_browser.xml | 9 - .../minimal/xui/pl/floater_media_browser.xml | 30 - .../minimal/xui/pl/floater_nearby_chat.xml | 4 - .../minimal/xui/pl/floater_web_content.xml | 14 - .../skins/minimal/xui/pl/inspect_avatar.xml | 24 - .../skins/minimal/xui/pl/inspect_object.xml | 41 - .../minimal/xui/pl/menu_add_wearable_gear.xml | 6 - .../minimal/xui/pl/menu_attachment_other.xml | 17 - .../minimal/xui/pl/menu_attachment_self.xml | 16 - .../skins/minimal/xui/pl/menu_avatar_icon.xml | 7 - .../minimal/xui/pl/menu_avatar_other.xml | 16 - .../skins/minimal/xui/pl/menu_avatar_self.xml | 31 - .../skins/minimal/xui/pl/menu_bottomtray.xml | 17 - .../minimal/xui/pl/menu_cof_attachment.xml | 4 - .../minimal/xui/pl/menu_cof_body_part.xml | 5 - .../minimal/xui/pl/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/pl/menu_cof_gear.xml | 5 - .../skins/minimal/xui/pl/menu_edit.xml | 12 - .../skins/minimal/xui/pl/menu_favorites.xml | 10 - .../minimal/xui/pl/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/pl/menu_group_plus.xml | 5 - .../skins/minimal/xui/pl/menu_hide_navbar.xml | 6 - .../minimal/xui/pl/menu_im_well_button.xml | 4 - .../minimal/xui/pl/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/pl/menu_imchiclet_group.xml | 6 - .../minimal/xui/pl/menu_imchiclet_p2p.xml | 7 - .../xui/pl/menu_inspect_avatar_gear.xml | 21 - .../xui/pl/menu_inspect_object_gear.xml | 18 - .../minimal/xui/pl/menu_inspect_self_gear.xml | 31 - .../minimal/xui/pl/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/pl/menu_inventory.xml | 84 - .../minimal/xui/pl/menu_inventory_add.xml | 33 - .../xui/pl/menu_inventory_gear_default.xml | 17 - .../skins/minimal/xui/pl/menu_land.xml | 9 - .../skins/minimal/xui/pl/menu_landmark.xml | 7 - .../skins/minimal/xui/pl/menu_login.xml | 24 - .../skins/minimal/xui/pl/menu_mini_map.xml | 11 - .../skins/minimal/xui/pl/menu_navbar.xml | 11 - .../skins/minimal/xui/pl/menu_nearby_chat.xml | 9 - .../xui/pl/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/pl/menu_object.xml | 29 - .../skins/minimal/xui/pl/menu_object_icon.xml | 5 - .../skins/minimal/xui/pl/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/pl/menu_outfit_tab.xml | 9 - .../minimal/xui/pl/menu_participant_list.xml | 21 - .../xui/pl/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/pl/menu_people_groups.xml | 8 - .../xui/pl/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/pl/menu_people_nearby.xml | 13 - .../xui/pl/menu_people_nearby_multiselect.xml | 10 - .../xui/pl/menu_people_nearby_view_sort.xml | 8 - .../xui/pl/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/pl/menu_picks.xml | 8 - .../skins/minimal/xui/pl/menu_picks_plus.xml | 5 - .../skins/minimal/xui/pl/menu_place.xml | 7 - .../minimal/xui/pl/menu_place_add_button.xml | 5 - .../xui/pl/menu_places_gear_folder.xml | 16 - .../xui/pl/menu_places_gear_landmark.xml | 19 - .../minimal/xui/pl/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/pl/menu_save_outfit.xml | 5 - .../minimal/xui/pl/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/pl/menu_slurl.xml | 6 - .../xui/pl/menu_teleport_history_gear.xml | 6 - .../xui/pl/menu_teleport_history_item.xml | 6 - .../xui/pl/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/pl/menu_text_editor.xml | 8 - .../skins/minimal/xui/pl/menu_topinfobar.xml | 7 - .../skins/minimal/xui/pl/menu_url_agent.xml | 6 - .../skins/minimal/xui/pl/menu_url_group.xml | 6 - .../skins/minimal/xui/pl/menu_url_http.xml | 7 - .../minimal/xui/pl/menu_url_inventory.xml | 6 - .../skins/minimal/xui/pl/menu_url_map.xml | 6 - .../minimal/xui/pl/menu_url_objectim.xml | 8 - .../skins/minimal/xui/pl/menu_url_parcel.xml | 6 - .../skins/minimal/xui/pl/menu_url_slapp.xml | 5 - .../skins/minimal/xui/pl/menu_url_slurl.xml | 7 - .../minimal/xui/pl/menu_url_teleport.xml | 6 - .../skins/minimal/xui/pl/menu_viewer.xml | 14 - .../xui/pl/menu_wearable_list_item.xml | 14 - .../minimal/xui/pl/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/pl/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/pl/notifications.xml | 2907 ---------------- .../xui/pl/panel_adhoc_control_panel.xml | 14 - .../skins/minimal/xui/pl/panel_bottomtray.xml | 39 - .../xui/pl/panel_group_control_panel.xml | 17 - .../minimal/xui/pl/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/pl/panel_login.xml | 45 - .../minimal/xui/pl/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/pl/panel_people.xml | 94 - .../xui/pl/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/pl/panel_status_bar.xml | 33 - .../skins/minimal/xui/pt/floater_camera.xml | 65 - .../minimal/xui/pt/floater_help_browser.xml | 9 - .../minimal/xui/pt/floater_media_browser.xml | 30 - .../minimal/xui/pt/floater_nearby_chat.xml | 4 - .../minimal/xui/pt/floater_web_content.xml | 14 - .../skins/minimal/xui/pt/inspect_avatar.xml | 24 - .../skins/minimal/xui/pt/inspect_object.xml | 41 - .../minimal/xui/pt/menu_add_wearable_gear.xml | 6 - .../minimal/xui/pt/menu_attachment_other.xml | 17 - .../minimal/xui/pt/menu_attachment_self.xml | 16 - .../skins/minimal/xui/pt/menu_avatar_icon.xml | 7 - .../minimal/xui/pt/menu_avatar_other.xml | 16 - .../skins/minimal/xui/pt/menu_avatar_self.xml | 31 - .../skins/minimal/xui/pt/menu_bottomtray.xml | 17 - .../minimal/xui/pt/menu_cof_attachment.xml | 4 - .../minimal/xui/pt/menu_cof_body_part.xml | 5 - .../minimal/xui/pt/menu_cof_clothing.xml | 6 - .../skins/minimal/xui/pt/menu_cof_gear.xml | 5 - .../skins/minimal/xui/pt/menu_edit.xml | 12 - .../skins/minimal/xui/pt/menu_favorites.xml | 10 - .../minimal/xui/pt/menu_gesture_gear.xml | 10 - .../skins/minimal/xui/pt/menu_group_plus.xml | 5 - .../skins/minimal/xui/pt/menu_hide_navbar.xml | 6 - .../minimal/xui/pt/menu_im_well_button.xml | 4 - .../minimal/xui/pt/menu_imchiclet_adhoc.xml | 4 - .../minimal/xui/pt/menu_imchiclet_group.xml | 6 - .../minimal/xui/pt/menu_imchiclet_p2p.xml | 7 - .../xui/pt/menu_inspect_avatar_gear.xml | 18 - .../xui/pt/menu_inspect_object_gear.xml | 18 - .../minimal/xui/pt/menu_inspect_self_gear.xml | 8 - .../minimal/xui/pt/menu_inv_offer_chiclet.xml | 4 - .../skins/minimal/xui/pt/menu_inventory.xml | 86 - .../minimal/xui/pt/menu_inventory_add.xml | 33 - .../xui/pt/menu_inventory_gear_default.xml | 16 - .../skins/minimal/xui/pt/menu_land.xml | 9 - .../skins/minimal/xui/pt/menu_landmark.xml | 7 - .../skins/minimal/xui/pt/menu_login.xml | 24 - .../skins/minimal/xui/pt/menu_mini_map.xml | 11 - .../skins/minimal/xui/pt/menu_navbar.xml | 11 - .../skins/minimal/xui/pt/menu_nearby_chat.xml | 9 - .../xui/pt/menu_notification_well_button.xml | 4 - .../skins/minimal/xui/pt/menu_object.xml | 29 - .../skins/minimal/xui/pt/menu_object_icon.xml | 5 - .../skins/minimal/xui/pt/menu_outfit_gear.xml | 27 - .../skins/minimal/xui/pt/menu_outfit_tab.xml | 9 - .../minimal/xui/pt/menu_participant_list.xml | 21 - .../xui/pt/menu_people_friends_view_sort.xml | 8 - .../minimal/xui/pt/menu_people_groups.xml | 8 - .../xui/pt/menu_people_groups_view_sort.xml | 5 - .../minimal/xui/pt/menu_people_nearby.xml | 13 - .../xui/pt/menu_people_nearby_multiselect.xml | 10 - .../xui/pt/menu_people_nearby_view_sort.xml | 8 - .../xui/pt/menu_people_recent_view_sort.xml | 7 - .../skins/minimal/xui/pt/menu_picks.xml | 8 - .../skins/minimal/xui/pt/menu_picks_plus.xml | 5 - .../skins/minimal/xui/pt/menu_place.xml | 7 - .../minimal/xui/pt/menu_place_add_button.xml | 5 - .../xui/pt/menu_places_gear_folder.xml | 15 - .../xui/pt/menu_places_gear_landmark.xml | 18 - .../minimal/xui/pt/menu_profile_overflow.xml | 12 - .../skins/minimal/xui/pt/menu_save_outfit.xml | 5 - .../minimal/xui/pt/menu_script_chiclet.xml | 4 - .../skins/minimal/xui/pt/menu_slurl.xml | 6 - .../xui/pt/menu_teleport_history_gear.xml | 6 - .../xui/pt/menu_teleport_history_item.xml | 6 - .../xui/pt/menu_teleport_history_tab.xml | 5 - .../skins/minimal/xui/pt/menu_text_editor.xml | 8 - .../skins/minimal/xui/pt/menu_topinfobar.xml | 7 - .../skins/minimal/xui/pt/menu_url_agent.xml | 6 - .../skins/minimal/xui/pt/menu_url_group.xml | 6 - .../skins/minimal/xui/pt/menu_url_http.xml | 7 - .../minimal/xui/pt/menu_url_inventory.xml | 6 - .../skins/minimal/xui/pt/menu_url_map.xml | 6 - .../minimal/xui/pt/menu_url_objectim.xml | 8 - .../skins/minimal/xui/pt/menu_url_parcel.xml | 6 - .../skins/minimal/xui/pt/menu_url_slapp.xml | 5 - .../skins/minimal/xui/pt/menu_url_slurl.xml | 7 - .../minimal/xui/pt/menu_url_teleport.xml | 6 - .../skins/minimal/xui/pt/menu_viewer.xml | 14 - .../xui/pt/menu_wearable_list_item.xml | 14 - .../minimal/xui/pt/menu_wearing_gear.xml | 5 - .../skins/minimal/xui/pt/menu_wearing_tab.xml | 6 - .../skins/minimal/xui/pt/notifications.xml | 19 - .../xui/pt/panel_adhoc_control_panel.xml | 14 - .../skins/minimal/xui/pt/panel_bottomtray.xml | 45 - .../xui/pt/panel_group_control_panel.xml | 11 - .../minimal/xui/pt/panel_im_control_panel.xml | 29 - .../skins/minimal/xui/pt/panel_login.xml | 40 - .../minimal/xui/pt/panel_navigation_bar.xml | 18 - .../skins/minimal/xui/pt/panel_people.xml | 74 - .../xui/pt/panel_side_tray_tab_caption.xml | 7 - .../skins/minimal/xui/pt/panel_status_bar.xml | 33 - 860 files changed, 2 insertions(+), 26441 deletions(-) delete mode 100644 indra/newview/app_settings/settings_minimal.xml delete mode 100644 indra/newview/skins/default/xui/en/menu_mode_change.xml delete mode 100644 indra/newview/skins/minimal/colors.xml delete mode 100644 indra/newview/skins/minimal/textures/arrow_keys.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Off.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Selected_Press.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/button_separator.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/close_off.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/close_over.png delete mode 100644 indra/newview/skins/minimal/textures/bottomtray/close_press.png delete mode 100644 indra/newview/skins/minimal/textures/click_to_move.png delete mode 100644 indra/newview/skins/minimal/textures/textures.xml delete mode 100644 indra/newview/skins/minimal/xui/da/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/da/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/da/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/da/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/da/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/da/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/da/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/da/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/da/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/da/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/de/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/de/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/de/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/de/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/de/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/de/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/de/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/de/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/en/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/en/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/en/main_view.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/en/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/en/notification_visibility.xml delete mode 100644 indra/newview/skins/minimal/xui/en/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/en/panel_volume_pulldown.xml delete mode 100644 indra/newview/skins/minimal/xui/en/widgets/location_input.xml delete mode 100644 indra/newview/skins/minimal/xui/es/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/es/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/es/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/es/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/es/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/es/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/es/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/es/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/es/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/es/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/fr/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/it/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/it/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/it/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/it/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/it/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/it/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/it/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/it/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/ja/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/pl/panel_status_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/floater_camera.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/floater_help_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/floater_media_browser.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/floater_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/floater_web_content.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/inspect_avatar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/inspect_object.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_add_wearable_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_attachment_other.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_attachment_self.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_avatar_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_avatar_other.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_avatar_self.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_cof_attachment.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_cof_body_part.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_cof_clothing.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_cof_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_edit.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_favorites.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_gesture_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_group_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_hide_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_im_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_imchiclet_adhoc.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_imchiclet_group.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_imchiclet_p2p.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inspect_avatar_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inspect_object_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inspect_self_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inv_offer_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inventory_add.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_inventory_gear_default.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_land.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_login.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_mini_map.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_navbar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_nearby_chat.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_notification_well_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_object.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_object_icon.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_outfit_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_outfit_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_participant_list.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_friends_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_groups.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_groups_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_nearby.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_nearby_multiselect.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_nearby_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_people_recent_view_sort.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_picks.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_picks_plus.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_place.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_place_add_button.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_places_gear_folder.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_places_gear_landmark.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_profile_overflow.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_save_outfit.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_script_chiclet.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_teleport_history_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_teleport_history_item.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_teleport_history_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_text_editor.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_topinfobar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_agent.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_group.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_http.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_inventory.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_map.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_objectim.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_parcel.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_slapp.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_slurl.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_url_teleport.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_viewer.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_wearable_list_item.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_wearing_gear.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/menu_wearing_tab.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/notifications.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_adhoc_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_bottomtray.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_group_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_im_control_panel.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_login.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_navigation_bar.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_people.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_side_tray_tab_caption.xml delete mode 100644 indra/newview/skins/minimal/xui/pt/panel_status_bar.xml diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 11b19ca4fec..73511447658 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1381,11 +1381,6 @@ endif (WINDOWS) set(viewer_XUI_FILES skins/default/colors.xml skins/default/textures/textures.xml - skins/minimal/colors.xml - skins/minimal/textures/textures.xml - - - ) file(GLOB DEFAULT_XUI_FILE_GLOB_LIST ${CMAKE_CURRENT_SOURCE_DIR}/skins/*/xui/en/*.xml) @@ -1424,7 +1419,6 @@ set(viewer_APPSETTINGS_FILES app_settings/settings_crash_behavior.xml app_settings/settings_files.xml app_settings/settings_per_account.xml - app_settings/settings_minimal.xml app_settings/std_bump.ini app_settings/trees.xml app_settings/ultra_graphics.xml diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 60025707a41..4e48a9e3f7f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13528,17 +13528,6 @@ <key>Value</key> <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/404.html</string> </map> - <key>DestinationsAndAvatarsVisibility</key> - <map> - <key>Comment</key> - <string>Whether destination panel or avatar picker are open (0=destination guide, 1=avatar picker, default=nothing)</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>0</integer> - </map> <key>OpenIMOnVoice</key> <map> <key>Comment</key> diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml deleted file mode 100644 index 29e52ab054a..00000000000 --- a/indra/newview/app_settings/settings_minimal.xml +++ /dev/null @@ -1,474 +0,0 @@ -<llsd> - <map> - <key>ChannelBottomPanelMargin</key> - <map> - <key>Comment</key> - <string>Space from a lower toast to the Bottom Tray</string> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>2</integer> - </map> - <key>ClickActionBuyEnabled</key> - <map> - <key>Comment</key> - <string>Enable click to buy actions in tool pie menu</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ClickActionPayEnabled</key> - <map> - <key>Comment</key> - <string>Enable click to pay actions in tool pie menu</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableGrab</key> - <map> - <key>Comment</key> - <string>Use Ctrl+mouse to grab and manipulate objects</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableMouselook</key> - <map> - <key>Comment</key> - <string>Allow first person perspective and mouse control of camera</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>HelpURLFormat</key> - <map> - <key>Comment</key> - <string>URL pattern for help page; arguments will be encoded; see llviewerhelp.cpp:buildHelpURL for arguments</string> - <key>Type</key> - <string>String</string> - <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/howto/index.html?topic=[TOPIC]</string> - </map> - <key>PreferredMaturity</key> - <map> - <key>Comment</key> - <string>Setting for the user's preferred maturity level (consts in indra_constants.h)</string> - <key>Type</key> - <string>U32</string> - <key>Value</key> - <integer>21</integer> - </map> - <key>RenderTrackerBeacon</key> - <map> - <key>Comment</key> - <string>Display tracking arrow and beacon to target avatar, teleport destination</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ShowScriptErrors</key> - <map> - <key>Comment</key> - <string>Show script errors</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ShowScriptErrorsLocation</key> - <map> - <key>Comment</key> - <string>Show script error in chat or window</string> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>SkinCurrent</key> - <map> - <key>Comment</key> - <string>The currently selected skin.</string> - <key>Type</key> - <string>String</string> - <key>Value</key> - <string>minimal</string> - </map> - <key>UseExternalBrowser</key> - <map> - <key>Comment</key> - <string>Use default browser when opening web pages instead of in-world browser.</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>VoiceCallsRejectGroup</key> - <map> - <key>Comment</key> - <string>Silently reject all incoming group voice calls.</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>VoiceDisableMic</key> - <map> - <key>Comment</key> - <string>Completely disable the ability to open the mic.</string> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ScriptsCanShowUI</key> - <map> - <key>Comment</key> - <string>Allow LSL calls (such as LLMapDestination) to spawn viewer UI</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ChatFontSize</key> - <map> - <key>Comment</key> - <string>Size of chat text in chat console (0 = small, 1 = big, 2 = extra large)</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>AvatarPickerHintTimeout</key> - <map> - <key>Comment</key> - <string>Number of seconds to wait before telling resident about avatar picker.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>F32</string> - <key>Value</key> - <real>0.0</real> - </map> - <key>RenderShowGroupTitleAll</key> - <map> - <key>Comment</key> - <string>Show group titles in name labels</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>OpenSidePanelsInFloaters</key> - <map> - <key>Comment</key> - <string>If true, will always open side panel contents in a floater.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>AvatarInspectorTooltipDelay</key> - <map> - <key>Comment</key> - <string>Seconds before displaying avatar inspector tooltip</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>F32</string> - <key>Value</key> - <real>0.1</real> - </map> - <key>AFKTimeout</key> - <map> - <key>Comment</key> - <string> - Time before automatically setting AFK (away from keyboard) mode (seconds, 0=never). - Valid values are: 0, 120, 300, 600, 1800 - </string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <real>0</real> - </map> - <key>SLURLTeleportDirectly</key> - <map> - <key>Comment</key> - <string>Clicking on a slurl will teleport you directly instead of opening places panel</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>EnableClassifieds</key> - <map> - <key>Comment</key> - <string>Enable creation of new classified ads</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableGroupInfo</key> - <map> - <key>Comment</key> - <string>Enable viewing and editing of group info.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnablePlaceProfile</key> - <map> - <key>Comment</key> - <string>Enable viewing of place profile from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnablePicks</key> - <map> - <key>Comment</key> - <string>Enable editing of picks</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableWorldMap</key> - <map> - <key>Comment</key> - <string>Enable opening world map from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableAvatarPay</key> - <map> - <key>Comment</key> - <string>Enable paying other avatars from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableVoiceCall</key> - <map> - <key>Comment</key> - <string>Enable voice calls from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>EnableAvatarShare</key> - <map> - <key>Comment</key> - <string>Enable sharing from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableInventory</key> - <map> - <key>Comment</key> - <string>Enable opening inventory from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableSearch</key> - <map> - <key>Comment</key> - <string>Enable opening search from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableAppearance</key> - <map> - <key>Comment</key> - <string>Enable opening appearance from web link</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>DoubleClickShowWorldMap</key> - <map> - <key>Comment</key> - <string>Enable double-click to show world map from mini map</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>EnableGroupChatPopups</key> - <map> - <key>Comment</key> - <string>Enable Incoming Group Chat Popups</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>SearchFromAddressBar</key> - <map> - <key>Comment</key> - <string>Can enter search queries into navigation address bar</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>DestinationGuideURL</key> - <map> - <key>Comment</key> - <string>Destination guide contents</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>String</string> - <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html</string> - </map> - <key>AvatarPickerURL</key> - <map> - <key>Comment</key> - <string>Avatar picker contents</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>String</string> - <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/avatars.html</string> - </map> - <key>LogInventoryDecline</key> - <map> - <key>Comment</key> - <string>Log in system chat whenever an inventory offer is declined</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>UseHTTPInventory</key> - <map> - <key>Comment</key> - <string>Allow use of http inventory transfers instead of UDP</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ClickToWalk</key> - <map> - <key>Comment</key> - <string>Click in world to walk to location</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>ShowOfferedInventory</key> - <map> - <key>Comment</key> - <string>Show inventory window with last inventory offer selected when receiving inventory from other users.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>OpenIMOnVoice</key> - <map> - <key>Comment</key> - <string>Open the corresponding IM window when connecting to a voice call.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - <key>AllowBottomTrayButtonReordering</key> - <map> - <key>Comment</key> - <string>Allow user to move and hide bottom tray buttons</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> - <key>ShowHelpOnFirstLogin</key> - <map> - <key>Comment</key> - <string>Show Help Floater on first login</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> - </map> -</llsd> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 4e1ef597653..43c8750b02e 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2324,7 +2324,6 @@ bool LLAppViewer::initConfiguration() if (gSavedSettings.getBOOL("FirstRunThisInstall")) { - gSavedSettings.setString("SessionSettingsFile", "settings_minimal.xml"); gSavedSettings.setBOOL("FirstRunThisInstall", FALSE); } @@ -3520,20 +3519,6 @@ static bool finish_quit(const LLSD& notification, const LLSD& response) } static LLNotificationFunctorRegistration finish_quit_reg("ConfirmQuit", finish_quit); -static bool switch_standard_skin_and_quit(const LLSD& notification, const LLSD& response) -{ - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - - if (option == 0) - { - gSavedSettings.setString("SessionSettingsFile", ""); - LLAppViewer::instance()->requestQuit(); - } - return false; -} - -static LLNotificationFunctorRegistration standard_skin_quit_reg("SwitchToStandardSkinAndQuit", switch_standard_skin_and_quit); - void LLAppViewer::userQuit() { if (gDisconnected || gViewerWindow->getProgressView()->getVisible()) diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index f00d6087f91..419641d23c0 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -561,15 +561,7 @@ void LLLoginInstance::constructAuthParams(LLPointer<LLCredential> user_credentia //send this info to login.cgi for stats gathering //since viewerstats isn't reliable enough - if (gSavedSettings.getString("SessionSettingsFile").empty()) - { - requested_options.append("advanced-mode"); - } - else - { - requested_options.append("basic-mode"); - //requested_options.append("inventory-basic"); - } + requested_options.append("advanced-mode"); #endif requested_options.append("max-agent-groups"); diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index db7d836799c..bef809f3a71 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -154,10 +154,6 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, } updateLocationCombo(false); - LLUICtrl& mode_combo = getChildRef<LLUICtrl>("mode_combo"); - mode_combo.setValue(gSavedSettings.getString("SessionSettingsFile")); - mode_combo.setCommitCallback(boost::bind(&LLPanelLogin::onModeChange, this, getChild<LLUICtrl>("mode_combo")->getValue(), _2)); - LLComboBox* server_choice_combo = sInstance->getChild<LLComboBox>("server_combo"); server_choice_combo->setCommitCallback(onSelectServer, NULL); server_choice_combo->setFocusLostCallback(boost::bind(onServerComboLostFocus, _1)); @@ -1025,32 +1021,6 @@ void LLPanelLogin::updateLoginPanelLinks() sInstance->getChildView("forgot_password_text")->setVisible( system_grid); } -void LLPanelLogin::onModeChange(const LLSD& original_value, const LLSD& new_value) -{ - if (original_value.asString() != new_value.asString()) - { - LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(&LLPanelLogin::onModeChangeConfirm, this, original_value, new_value, _1, _2)); - } -} - -void LLPanelLogin::onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response) -{ - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - switch (option) - { - case 0: - gSavedSettings.getControl("SessionSettingsFile")->set(new_value); - LLAppViewer::instance()->requestQuit(); - break; - case 1: - // revert to original value - getChild<LLUICtrl>("mode_combo")->setValue(original_value); - break; - default: - break; - } -} - std::string canonicalize_username(const std::string& name) { std::string cname = name; diff --git a/indra/newview/llpanellogin.h b/indra/newview/llpanellogin.h index be9de884d14..a439c4ff6b8 100644 --- a/indra/newview/llpanellogin.h +++ b/indra/newview/llpanellogin.h @@ -87,8 +87,6 @@ class LLPanelLogin: void reshapeBrowser(); void addFavoritesToStartLocation(); void addUsersWithFavoritesToUsername(); - void onModeChange(const LLSD& original_value, const LLSD& new_value); - void onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response); static void onClickConnect(void*); static void onClickNewAccount(void*); static void onClickVersion(void*); diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 0a008858437..1b8be7a5b23 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -162,8 +162,6 @@ BOOL LLStatusBar::handleRightMouseDown(S32 x, S32 y, MASK mask) BOOL LLStatusBar::postBuild() { - LLControlVariablePtr mode_control = gSavedSettings.getControl("SessionSettingsFile"); - gMenuBarView->setRightMouseDownCallback(boost::bind(&show_navbar_context_menu, _1, _2, _3)); mTextTime = getChild<LLTextBox>("TimeText" ); @@ -235,40 +233,9 @@ BOOL LLStatusBar::postBuild() mScriptOut = getChildView("scriptout"); - LLUICtrl& mode_combo = getChildRef<LLUICtrl>("mode_combo"); - mode_combo.setValue(gSavedSettings.getString("SessionSettingsFile")); - mode_combo.setCommitCallback(boost::bind(&LLStatusBar::onModeChange, this, getChild<LLUICtrl>("mode_combo")->getValue(), _2)); - - return TRUE; } -void LLStatusBar::onModeChange(const LLSD& original_value, const LLSD& new_value) -{ - if (original_value.asString() != new_value.asString()) - { - LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(&LLStatusBar::onModeChangeConfirm, this, original_value, new_value, _1, _2)); - } -} - -void LLStatusBar::onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response) -{ - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - switch (option) - { - case 0: - gSavedSettings.getControl("SessionSettingsFile")->set(new_value); - LLAppViewer::instance()->requestQuit(); - break; - case 1: - // revert to original value - getChild<LLUICtrl>("mode_combo")->setValue(original_value); - break; - default: - break; - } -} - // Per-frame updates of visibility void LLStatusBar::refresh() { diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h index 6feeab393b2..4ea3183d182 100644 --- a/indra/newview/llstatusbar.h +++ b/indra/newview/llstatusbar.h @@ -92,8 +92,6 @@ class LLStatusBar void onMouseEnterVolume(); void onMouseEnterNearbyMedia(); void onClickScreen(S32 x, S32 y); - void onModeChange(const LLSD& original_value, const LLSD& new_value); - void onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response); static void onClickMediaToggle(void* data); static void onClickBalance(void* data); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 754731b290d..0f983ed0d57 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -863,51 +863,6 @@ class LLAdvancedCheckFeature : public view_listener_t } }; -void toggle_destination_and_avatar_picker(const LLSD& show) -{ - S32 panel_idx = show.isDefined() ? show.asInteger() : -1; - LLView* container = gViewerWindow->getRootView()->findChildView("avatar_picker_and_destination_guide_container"); - if (!container) return; - - LLMediaCtrl* destinations = container->findChild<LLMediaCtrl>("destination_guide_contents"); - LLMediaCtrl* avatar_picker = container->findChild<LLMediaCtrl>("avatar_picker_contents"); - if (!destinations || !avatar_picker) return; - - LLButton* avatar_btn = gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild<LLButton>("avatar_btn"); - LLButton* destination_btn = gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild<LLButton>("destination_btn"); - - if (panel_idx == 0 - && !destinations->getVisible()) - { // opening destinations guide - container->setVisible(true); - destinations->setVisible(true); - avatar_picker->setVisible(false); - LLFirstUse::notUsingDestinationGuide(false); - avatar_btn->setToggleState(false); - destination_btn->setToggleState(true); - gSavedSettings.setS32("DestinationsAndAvatarsVisibility", 0); - } - else if (panel_idx == 1 - && !avatar_picker->getVisible()) - { // opening avatar picker - container->setVisible(true); - destinations->setVisible(false); - avatar_picker->setVisible(true); - avatar_btn->setToggleState(true); - destination_btn->setToggleState(false); - gSavedSettings.setS32("DestinationsAndAvatarsVisibility", 1); - } - else - { // toggling off dest guide or avatar picker - container->setVisible(false); - destinations->setVisible(false); - avatar_picker->setVisible(false); - avatar_btn->setToggleState(false); - destination_btn->setToggleState(false); - gSavedSettings.setS32("DestinationsAndAvatarsVisibility", -1); - } -}; - ////////////////// // INFO DISPLAY // @@ -7823,55 +7778,6 @@ class LLToggleUIHints : public view_listener_t } }; -class LLCheckSessionsSettings : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - std::string expected = userdata.asString(); - return gSavedSettings.getString("SessionSettingsFile") == expected; - } -}; - -class LLChangeMode : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - std::string mode = userdata.asString(); - if (mode == "basic") - { - if (gSavedSettings.getString("SessionSettingsFile") != "settings_minimal.xml") - { - LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(onModeChangeConfirm, "settings_minimal.xml", _1, _2)); - } - return true; - } - else if (mode == "advanced") - { - if (gSavedSettings.getString("SessionSettingsFile") != "") - { - LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(onModeChangeConfirm, "", _1, _2)); - } - return true; - } - return false; - } - - static void onModeChangeConfirm(const std::string& new_session_settings_file, const LLSD& notification, const LLSD& response) - { - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - switch (option) - { - case 0: - gSavedSettings.getControl("SessionSettingsFile")->set(new_session_settings_file); - LLAppViewer::instance()->requestQuit(); - break; - case 1: - default: - break; - } - } -}; - void LLUploadCostCalculator::calculateCost() { S32 upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload(); @@ -8359,11 +8265,5 @@ void initialize_menus() view_listener_t::addMenu(new LLSomethingSelectedNoHUD(), "SomethingSelectedNoHUD"); view_listener_t::addMenu(new LLEditableSelected(), "EditableSelected"); view_listener_t::addMenu(new LLEditableSelectedMono(), "EditableSelectedMono"); - view_listener_t::addMenu(new LLToggleUIHints(), "ToggleUIHints"); - view_listener_t::addMenu(new LLCheckSessionsSettings(), "CheckSessionSettings"); - view_listener_t::addMenu(new LLChangeMode(), "ChangeMode"); - - commit.add("Destination.show", boost::bind(&toggle_destination_and_avatar_picker, 0)); - commit.add("Avatar.show", boost::bind(&toggle_destination_and_avatar_picker, 1)); } diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h index b4e239b0cd7..87cb4efbc44 100644 --- a/indra/newview/llviewermenu.h +++ b/indra/newview/llviewermenu.h @@ -126,8 +126,6 @@ bool enable_pay_object(); bool enable_buy_object(); bool handle_go_to(); -void toggle_destination_and_avatar_picker(const LLSD& show); - // Export to XML or Collada void handle_export_selected( void * ); diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp index 0fb94bc44bc..c88122f22c9 100644 --- a/indra/newview/llviewerstats.cpp +++ b/indra/newview/llviewerstats.cpp @@ -854,7 +854,7 @@ void send_stats() body["DisplayNamesEnabled"] = gSavedSettings.getBOOL("UseDisplayNames"); body["DisplayNamesShowUsername"] = gSavedSettings.getBOOL("NameTagShowUsernames"); - body["MinimalSkin"] = !gSavedSettings.getString("SessionSettingsFile").empty(); + body["MinimalSkin"] = false; LLViewerStats::getInstance()->addToMessage(body); LLHTTPClient::post(url, body, new ViewerStatsResponder()); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 5893259d964..114a422c1d7 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1940,25 +1940,6 @@ void LLViewerWindow::initWorldUI() buttons_panel->setShape(buttons_panel_container->getLocalRect()); buttons_panel->setFollowsAll(); buttons_panel_container->addChild(buttons_panel); - - LLView* avatar_picker_destination_guide_container = gViewerWindow->getRootView()->getChild<LLView>("avatar_picker_and_destination_guide_container"); - avatar_picker_destination_guide_container->getChild<LLButton>("close")->setCommitCallback(boost::bind(toggle_destination_and_avatar_picker, LLSD())); - LLMediaCtrl* destinations = avatar_picker_destination_guide_container->findChild<LLMediaCtrl>("destination_guide_contents"); - LLMediaCtrl* avatar_picker = avatar_picker_destination_guide_container->findChild<LLMediaCtrl>("avatar_picker_contents"); - if (destinations) - { - destinations->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); - destinations->navigateTo(gSavedSettings.getString("DestinationGuideURL"), "text/html"); - } - - if (avatar_picker) - { - avatar_picker->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); - avatar_picker->navigateTo(gSavedSettings.getString("AvatarPickerURL"), "text/html"); - } - - // show destinations by default - toggle_destination_and_avatar_picker(gSavedSettings.getS32("DestinationsAndAvatarsVisibility")); } // Destroy the UI diff --git a/indra/newview/skins/default/xui/en/menu_mode_change.xml b/indra/newview/skins/default/xui/en/menu_mode_change.xml deleted file mode 100644 index 87d1a0a7a24..00000000000 --- a/indra/newview/skins/default/xui/en/menu_mode_change.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu - name="Mode Change"> - <menu_item_check - label="Basic" - name="BasicMode"> - <on_check - function="CheckSessionSettings" - parameter="settings_minimal.xml" /> - <on_click - function="ChangeMode" - parameter="basic"/> - </menu_item_check> - <menu_item_check - label="Advanced" - name="AdvancedMode"> - <on_check - function="CheckSessionSettings" - parameter="" /> - <on_click - function="ChangeMode" - parameter="advanced"/> - </menu_item_check> - </toggleable_menu> diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 41a90f59843..087744fea77 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -7382,19 +7382,6 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' </form> </notification> - <notification - name="ModeChange" - label="" - type="alertmodal"> - <unique/> - Changing modes requires you to quit and restart. - <tag>confirm</tag> - <usetemplate - name="okcancelbuttons" - yestext="Quit" - notext="Don't Quit"/> - </notification> - <notification name="NoClassifieds" label="" diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index 1c3e08d59b2..3835cd17b68 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -120,33 +120,6 @@ label="Remember password" follows="left|bottom" font="SansSerifSmall" height="15" - left_pad="10" - name="mode_selection_text" - top="20" - width="130"> - Mode: - </text> - <combo_box - follows="left|bottom" - height="23" - max_chars="128" - tool_tip="Select your mode. Choose Basic for fast, easy exploration and chat. Choose Advanced to access more features." - top_pad="0" - name="mode_combo" - width="110"> - <combo_box.item - label="Basic" - name="Basic" - value="settings_minimal.xml" /> - <combo_box.item - label="Advanced" - name="Advanced" - value="" /> - </combo_box> - <text - follows="left|bottom" - font="SansSerifSmall" - height="15" left_pad="8" name="start_location_text" top="20" diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 5894abd03b2..3fb9aa0f3b9 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -75,25 +75,6 @@ top="0" width="55" /> </panel> - <combo_box - follows="right|top" - drop_down_button.pad_left="10" - left_pad="5" - top="0" - width="120" - height="20" - name="mode_combo" - tool_tip="Select your mode. Choose Basic for fast, easy exploration and chat. Choose Advanced to access more features." - > - <combo_box.item - label="Basic Mode" - name="Basic" - value="settings_minimal.xml" /> - <combo_box.item - label="Advanced Mode" - name="Advanced" - value="" /> - </combo_box> <text left_pad="5" type="string" diff --git a/indra/newview/skins/minimal/colors.xml b/indra/newview/skins/minimal/colors.xml deleted file mode 100644 index 097a298ce5c..00000000000 --- a/indra/newview/skins/minimal/colors.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<colors> - <color - name="MenuBarBgColor" - value="0 0 0 0" /> -</colors> diff --git a/indra/newview/skins/minimal/textures/arrow_keys.png b/indra/newview/skins/minimal/textures/arrow_keys.png deleted file mode 100644 index f19af59251c46159a0aa6f5ec983a66df961c703..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6558 zcmV;P8DZv$P)<h;3K|Lk000e1NJLTq0046U003491^@s6{35Ai00009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000ijNkl<Zc-rh;U62*U75+|l-@C8`N?Cta*<Df^5iLz6WePB56v>040WI=lG$xfN zAL5g-@?t8!n3wnvpYXxgsAWox5ip5>zX4*I@&SKPP)k^FQ9}&7%ffPJx;qauvpaWg zcTdl~Gj}htL*1IWvzO`V^YwT7oYUvb5YFt4O1_?+7slM&TUGb2&s4za47i_8&b13( zC+E(3Fv;^fdH&wjHy=>6We?BqXDyg6V8{X_S$^x=FP(F&Er9A?22}K@mLLOowsStr zg(vg00m$@sN`0qZQ?=A1?VEti`>-5fP5pDRF!`=B=UgA;sN=JinQ(w++avYerGnw1 zN>v6-)4rz-Akjmtbb**0bHh2x9A`l_0gwe$WsX&RO&MQD89+~8k23qSnwfb(vKYwp z-o{uLJ58$9#6Xn-Ql|cY0<!8whKe2lF$-uK9B$b244}*cs1KM~08K!q_a;EI#?e_l zXPVTb4M1T4)WlSiVPrFO(f}s=^!23So>fM*&buZSHJeqf35X&Ertn}XS(vFEY)n3( zf#oK4)4ZBByALKnvq07iz?wj%9A;_@h-n~0hw-FS*UlO~bEa;)0_N!9BTe5&hKFp- zG_jHc5Wl+j-jVz6`}Jdeef5hHd1<Z97OU<2Olzdgr%5N*K7G1z^pQvYc+aDoH;?A{ znl0dY^!LmKlZbqMN-Hy0ty+C$fB(YE1Q#I2D!pH=6gcOXty;DE%11YE9?P(qrRGed z2C($^tPAIn#T5~a#%TZqVgw;L7%`MBGpzxo6~a&hk`T2Cky6Lp0O)+sz{AgMQng_a z@-)*0=U|+nG(@$Ak_v&G)tGUc>5p>E$@6}u#Vw(%H5<xVFk?i)c*M{$Hl-DmYMx5t zHbsh+GAH6Rr&cZNA!fo60pe0BmNhJ?^c!f#B5sox3{0H$VCJb>rljopy~b@a54UF? zOb@Ge2GkZc+l4J|(*|PCf!a&VwE3F^fa^Tpu?iO@YLi>;sppd6SPy__n|GS#Pt`JK zc0<i7+dS#phqF@6<^~bwkePWZwr7l>UQ@F+cZKE<Ok4g@&uy$rLUA$D*D!MbxVjKp zk^3OezMt95^yrjRST1G~5g23OCC6-Yv_USo-2}4hYPLY<ywzF)<j$8~#^{kFsMSPO z%q*m0yA9-=%$dVO%S-~HcI7Mt$D42d8#{Ntgl*eiz|_=9aNbpyw52a`AG^MZ4sYD+ zx0dxh9|zpoUaeNcfe$~zuHCyaGBS+m>1k};_5yzVqfH>9vf1IA+p7W4$na2+@(3r% z%VMTW$gXwBJae8E_-$m(qIv$}oa5Mkk73)kzv0HUYcV)Di0`jkhpDM4yz=Vn;GA`A z6vb`&CS<qMci#c+Wq>iy$-PKNOdk$=iihiC?EqsOpMCZ@uD<#zTyxF0F@0(p{r&ye zxZwvlF*%7wBd9tuRYqUAqrWx)tuhfF>ckf5C{pJ^4&k`6?U*fS5QYIpMuu_uiWLY$ z2|yzV0-S&Td04mZ#wvmaSrC$CF`em`hF?*UtGpqbsBKCdYguv=1%S*e+$mC-WnF}J z0NP?L_Agur#yFH}&PiUhXc3fBWzCs+K&BJ96pB@g*@~3NaST|J$Ao9hlnQ*{5$ejz z!ZQJDH2)L8q?9wqS#V3R__H~@!oU(`0n^34EQr1ZO2&n7;RzsMukEnKFI}qF#!ORw zZ1VS(OQd_VX3ZK53@n9|?E$In#&ZH>l5rpmjARADG!-q`>R$4!+ZkYmrxoj}0r9Q( zu&HfsVP}@1t-VqTVa&#FTy_bhR0x7bdwD^2m26^U7RW^P>YO>##lB=PPzFd7u-Y|e z7Ey^NYs^)dl?SLvh1JlU@Jv|+qP3ned;lN}f)b`iqrFC$&Ct_^xinqYP!vd8t&7Uc zkEVhp?Q6~ERb!b7dYFTuRKN%_Ww5u*m0=iG6LK{B=r%^m6qu?2n682)nUPbvZj@Z? z^ii|cEOQ^1!UIgQTwA2?k0?sR(@LQt9Gld4y3LHNvR19~P_Z_Znk`yNt{rCNr89H0 zu_QuxxF06waOBr}xQcjOZLrjJXST`7$y3l8Qb|C`ZmbGKZ8qO?Ed!*Dm04li7@4he z$xcmSW^gF9*3VdlYRg;A0$FnyD`}<@+*MgN4bZaH>vj6W!w+A#^754{i7|%ia#RU` z+J9jGf#2MJ|LcuL!`6;60O?Y(c|eA#Pmns!{?68}7CDZxNev1BV%P3H_b*t`Hz=hf ztu-krnT|68wALi!)JUy0q5UiY3PXANwbx&J<M$6ew3mnx<JB+pD5ao6sTz%j{@sHQ zerxRwYp-RDYHbgoxKN3RG!bdWm`;uf(2R4%7}KXtO@F>?*FXRM+Xo(a$1o@oHJq(L z%T;&G!NwYZ`ln+@_c0dLd+3Vjp><^JOiWCCw({~7_Z<0jYzyb{7_0PQYZ_823@y8O z;|Kc>Jho)Xl0hP>yst_rjE|4Mape^&e;KngNU>C=_UU=ni<u^0a7L{%B5=XM83R=y zSq%-PHDoAJuh;vM)0}aN$`YzUQ)vw)C8UgM73%eRA7cz$L~T~pS1A>sH3+DuTp^RY zVl9af1y)3|mL?bxIOpJumo{oCrRqW{At9k=<8vAW;+%oANVsLCd6ABQluANH29}QR zLjeG1EGkxtQ&V(_jFc)0MatPwq{z&zX&hA1RTG!5nE(o{0Rn+@2F7_QqgDgZapznT zV~jxv4l1c|NNa^Kl##V;xiN|dFEL&UKQ$sP5G@MK3}Q-!4%3!%-h#L@(|~eTH=2b@ z<zyfd07c|A`lETQEVV}-vD-N3sH8T@5PVH#(eo6LUYYdFv0CC<fbM$TM}EAySFhRD z=3C>^gd20Ln&d@-=C?{>71|aD?>KG5w8X{Ho0;%mB`|%M=?x~3zXUeFRk!)Xw_8*# zbASj#K!IE#xB0D9HCtq{-)R8l0Za2@uXJmx+&)jux>Rm&^}bX$r6<75dm45NPOQxa zdQNI#?0kQPz$~l@S%;1F1S0`p`}Q3;bm$O-5MMPwy|;FI?)0uXXJCv$YgCrrk=_3H z<(HVAK8<c`TFyBbqbmAZID*02xVW>CT1{Yld;;5d?8HYOe>@YIu8NgO#TVy%hNazD z^8}*!@YvW<y!he{96frp%yL3qMCLwV+HyZF`J9AWP2lk1BY6CYCow)gfx!ze1Y=SC zWZ9r{A@J$g7{<nq&ZyR;@@wC|_YsD&GJ`1T6A|IO^9G;+JoV?N@%{(<QLBkE+SLUB z)kT<@mt{Sp-uLc(2Twft6jrQQfm_z!3;-A(pTOkgB&MdO$`vRPrl+T|W$QMaIB^18 z2-NF!?B4SR_U?Tf^?G%4=gE_&FgZDiiHQlEKHb0#*I$P<*RIC%&u_)9U3(y9#{<bG zZ|!2K@T9jBOwKuuA3u(Nyto}xQ&Tv0>=>ST_Aij31Sl#U7#JA9t+%WP=e(2}kT48! z=_Qxqy?5WobI<)1^}as5yYD?5{Nx}uZMq$du{f``RJ{%mVfUVYVRZB`gy8YOV(9DZ zLl6YmvGXM?8(N01FJIot9IA3iq<sybyrf-~RkKot7#LWJJMX*$TefUPtyaTr8#ka< zugA&B(W6Bpqo|yf39U7V2pcxsia$O6BtHCT9~kHO;ilWMd}IVcP=VnU<+0#~>%TYS z1|@U#%dfnOMT`2ee*H}t86IvM$mjvaO|sVTd!3b4&H5znq8U($k>Mfy;^%kc<jIqG z`k7}jIWdm@{(dZ2(1&`hR=RAJlBm~fxc#<`Sh8dZuKVt__~zADmCwi)Bd>-93l^Zi ze<2z{1J7^Sih~Ca;b(W<i7QsF?8x7Z!ITbmTJ0I(sbZ50r;~|Vwjc<xc=2NV^p2n4 z?YG~-`1mBwJ$GqSwN}|~SP+C*y7XM!efM2B=bUp8hO&dU$XhE!nt@?rViH3`L%8|o zo3Lc@*UHie+1ww8z2Y}#x>D&|z*JE(5`rLr5FD#keFsW)Rz{HjcD6|E1wnudFSsDi z-)XlBOncu;GFZY;;-bMp3@y7Dp_GNIwM}hinCX+7JA<3Zv8Zf7%ETT30If8nZU(K< zXjJa!$#CXY5QYJ|u}LYL#&XB)>RH<=1Ew^nTev_K9%iu#$Z(dC3RO%|I{s(lNF>zm zMbb1hq-uRybSXMjt8^ej!=AmaTt-m30+@0DO%jVj#AzduMpKZeCcte1Q|l<lw5m4K zYBW2I=n4(1WOj&|8Rh_*%S_*DB?%x<T7zVWC^HZh3RZ!0F5=O~(gn5^HVTR@ea^Yi zT0vGFV%Aa8H{-m9);g0knAQlLkDr-+*;xpH8bRYrMy#G1%@$NUNmGt$G)6}cy#+uW zA0Pi@(W3qf;#AR!MiFU1V`}Q;7XZ}g=;&L^moH!4d0%GxV=;Q5v}%0u#ea5Xz*H7v zs0C2htDAgkPLjQ;Uei_9m-k|Bof9K=J<`T@elFSs{L1-4v{r!yXs#~_(OhHVRRv~J zwduFjk-_3kC+p_DZ2%s^Ye%rIW1nlc+h*S1@(fC40L@j(XAK^h{7f<csVq0BV9vaD zr3n@lVxC}qL7mGsZGOAV0P6#ybu~p;fJ~wgrnk77d{K$khgH}fQjsULJf>1XA;YuX zPTS1W2EL{6Ss<ln;J|4BWf^K?X2L=VcdjRuAk-q@Q3pW!v`Za=sSPfNG=OV!OSCNl zlzj;{91Klg%r-aL-Y#2&DX#PFuwyRU^nHAcc37{u15S8$DE+V@W?*I+Zx_&>f1@^p z-3x8%HbC`x1e^B+?t0`JwE-e|3eqNwqF_-0@VeDz9;h}Tk!Jw;nAom|Ap-d+^kuT8 zEJn^nn?8>uEexOw%pz<Bia(mP3gMO&397oyB9AJC!=JReRlXB?Ui5?7xMnA;=v3I< zZnKEhu06mvUbE=L-l<zKzjfvwIR_$@G}7n6t5(J9GC=C45i$>Ehui-L06G!A|5pQk Q)Bpeg07*qoM6N<$f&s#9xc~qF diff --git a/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Off.png b/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Off.png deleted file mode 100644 index b6e9eef891bd5ef3b79e50685c7b0d2922ea6119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 993 zcmV<710MW|P)<h;3K|Lk000e1NJLTq001HY000*V1^@s6Zt$Jl00004XF*Lt006O% z3;baP00009a7bBm000ic000ic0Tn1pfB*mh8FWQhbW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE;u(kfL#Cp171l)K~zXf#g<7(8(|d3hs0}(R8L+?uYw1?sJQRAZ^gL94Y#PM zM2%F?szpT*M3OjJCUKIOTBMESV3$K_OTiY}UMz){7TQ}&Z!Lt<5}E$rNMQ~$^Lc6p zelWcMdvD(NzIopa$DLo7!F6B-%L#%@O;1n1H9b8YT3cJYn+P^GHtumoqtP@mF%h&{ zt@{>>B``8FBK~g{78dSs27}?o`1p8mXlQ6}aBwgo%+Jps(EG7GHZ~R<7#P^QAOXAG zetL9t^b7o^d&C7U7_0gWo6UA!$mr;(*xTFdV_`O%{aagGZ=%ttq-1-0`;;_Ryp}#Y zI~$e@!Ip^K-Q7MGCX-1F27^B$k%*)u6bk($jTNt@V^Gcup|*B*b_y(7TU!ITVuy!^ zk`l6!#){X{CnqQO<wE-U`utdtmqlY^qbLYMEF2C?O2|eUD_%>-)Q03jy1Kf2SdoWC zZEdZ{^L$JcMM(+SNMpro>3Bzjav^A$x4F65#iF{p+P|~26Z3dHk`l6!#){X{X;|b! z8X6jeii!%i7UkvTp1HZXS7l{oAxuro>2yj;$VM7`UX!n0E;S7k7my2SYHD&<RaNb3 zfrq&9us>~WZO2PXOW!cAk`maycXV_-f=`@$^>V3cJv}}Ce;sk5Ql}P0MMWMQ!(XSS zrrx8ykJs1N<C~kC5`pi;SxZaH6KEgEhkW&NscGnlPcEdszTSnEIJGD&Ec9Ue9;~je zo}nvG;dg&{c=#i}NuMe!D<8u4Y-MF7jy%WYtCvenqw_^Bq^_=xFD)%~Xn|Gk=H}-5 z+S}Vt78e)e7`M;ZikAfLzmN^ZJSQLW)yt)(VQK}r5R4vQQc~j3qPV!&QBY9e%FfRA zBT=-!zyBS!K_YN$zl9zl4L&^i>g7_?=%AAesi~>qu@Z+KXt^^lFOSCqg`Aw61AM3? zA}cE^KsM6Ihm}W7M`s23HvnhAE|S<;<mcx*Q2oiw%#5T2t$l%RI9TyoI=0-)B_}7F z(QZ4njFkw5II((nW@cs}BO~KBLHA@MjTNt32u9~xT3XsoDugxvm=K=M3A_gaT1+pd zkM7Av8Y^B)$BXXeBuO&jAiA28l44FuO0p&B$C-ZEIV#2gE`ci`H4*#;fE)UL4V|HK P00000NkvXXu0mjf3{Smo diff --git a/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Selected_Press.png b/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Selected_Press.png deleted file mode 100644 index 687cb7fb53569a577d619a09ab211290dc909807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1217 zcmV;y1U~zTP)<h;3K|Lk000e1NJLTq001HY000*V1^@s6Zt$Jl00004XF*Lt006O% z3;baP00009a7bBm000ic000ic0Tn1pfB*mh8FWQhbW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE;u(kfL#Cp1U^YbK~zXf#g=VMTV)i-uPt$3oFRgffeR8kTA&4izQ1$Z(!vUD zDTa3CmX<MADcu+Y5=a(?y7)#?)MOav6kn#9@q<b0=<Myri<=2<%>dm{v!G!bO$-_n zO|!_Z&$%`8%k8cD0h;`hlk-34`Ty_JrnwlF{yd0iLku8JY!g_1iJ<J=y~6VK$N0RB z(h9-PrIlMpaT#x8SJCd@FfNzdUMdpYuF)#i<W0t#suuGXYMW(cs}P%XtAe`fb&SK| zj8to6w{Vv|Y47!4aUMDNX<L8K!d7ANwJ*xd^<Tm7<Al;`x?$_}UG5wkB>m&VasN}9 z=^Q^sJ~7?AW{ZgLv_$LfKn*>%9X1U;_`KH9v_c1gufcKnz(VKvV4MwNY=Cs0w%)=c z#gyu!d>W`*&se?%E!#emj(q1e_QrcbmhB<`JUT4ShI=%WFq|v@UHst#RMiJunmSbD z=lFlPM?#5g`%F6cqKjBge>Kew%gsUG-2UVJ7uaYU3XrO^MX9Ryb130^7!A~_vxO<p zvh6eJ;0ykA5V_U3v@bx+x<*4WHXQxkr2MUdl;|A}RrxkX12yzO%eK#?gD?1}gX}Xd zH67}hZ6E22v0*=QfRw&bkP=RFsETQf25RVmmTjL&2Vd}~gGd_jCG$b|taCUJW5XKq zk&@Goq$<vEsPfk_8mOTMTDE;A9elx`4pNP)u4_E@OXgl;hKYuNCuV#O|61SeyjUH6 zI8_$DkK%<f8mOTMn(=x38<@>>4pSd|!JiKDxKWeTdRxiH!@ejJrYAk;b#Ds()E+f0 z*1YiOFZ@?H)ZUjd8mMbtEc#VDXt<`E=5NAmrgND3;0yl$Du|)S9aDq_8}gH)by-kx zy?k=VCT|km2tqJ<|6OTNwj@6(ysZfHH(>UE2dOful4`<EnnT_w6L^nnM%kyoDxNC1 zD<6=ri2drTqLDq{3rF|-AnsCLlO099se(;qU;XDWo9P^;KKOz^eItJdiKD>?6X?35 zTA%ZRY)EoLe5!C$`YiuP$xzKIfa;&1Cp#wn5@ujF(>Y9i6eRvn5CgiA4qLpTkBBf~ z3U)-$lb%<59iPa%>pzo>Reo1{Y8M4ajtkf1U4|>5;fGuw!)&H=nEK#bh5XYuk|hWn zVCwZm!3dsO;kC>OU)o6lN_TTY=Xb{F5NPJVgn-$5LEtq&ge#LukBu}1ks%8PbnUvQ zbvMORyD7oM4jRd;MU?&--Kr63+4h-qmB$tr;pj$kb90GGjdT&7%n;a*4(mW+m@x$0 zQC(NtjKXD2NLm|a0jQw|8ryCrP337pL6k|1Ac&GeUdd~<7X5-2{kiBnor(Gk=)J8M zwI16gwaYrEYEJ_-^gzqB$JUoQ%$Lg)wJR7!QQV1%iQ>GxJR&D2XLy@loZ*EXgD@P# fPQ*iq{O#Z`uskprpa8lU00000NkvXXu0mjfumwaB diff --git a/indra/newview/skins/minimal/textures/bottomtray/button_separator.png b/indra/newview/skins/minimal/textures/bottomtray/button_separator.png deleted file mode 100644 index 71ed25f931b519d9d4f2a074b4ce150c5889e9ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^OhC-R!3HER>*_fHDVB6cUq=Rpjs4tz5?O(K$r9Iy zlHmNblJdl&REB`W%)AmkKi3e2GGjecJyXxFKM#P4v^`xMLnOkJpFDc>D?dN~{DA`} xPyW1r`SNFbW)GG#4c!kC3yO>X^K)?g;AePSDYop*!@D4D44$rjF6*2UngB%VGo%0j diff --git a/indra/newview/skins/minimal/textures/bottomtray/close_off.png b/indra/newview/skins/minimal/textures/bottomtray/close_off.png deleted file mode 100644 index 241a24bde904c3a84f9f341858a382abef23330f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3184 zcmV-$43G1PP)<h;3K|Lk000e1NJLTq000&M000*V1^@s659q(100009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004-Nkl<Zc-qvI&8pf!97j(+pqGdwU0A#G0n}|>Hi&tEOy1-!`Vd|95%K`y0~nLF zcB?Po&Q>9Y5RhPIy3&4dbFW}r^asNX!_48&nGemj?a#nh;1kW{JMcww9A`Hgjk=vq z2Px%UL|xa}@As@$s~@IPs%u#mhr<D-)Lmdr)37WHrBv4hD9e(nsv7Z7mL&itfRyrX z4VPRvCV*1vZVi`QIFGORCGd8;#kOr6$GOfOk4LgBqu1-bTCx6T#s9W23~^nTG)<9G zlBOxH>k@`x?Vg()CrN_u``7V!JjVBZk|e1;lbakb77LV8SGe!{#Bod<$G17Is*3aZ z{NlptbV`<G2qBowW<*g$yWOq@o2L2Oab5B}$MZad5JXXg5CYHh$n*To+wrR7$z*bc z&gXLggb*mDST2`uJFZI*1b;y<eGmk-;OoC(+qN1Ghn!BQMjpu1(-Z6U`f*QM=Rx`Z zz@}jsyP_yQwpy)5fJISY7{<=*_xsPA&E}hw@<SsEbp7XGFnHFKQtyEG4Qi1<`fC6T Weh;P5CNL@h0000<MNUMnLSTYAp84GX diff --git a/indra/newview/skins/minimal/textures/bottomtray/close_over.png b/indra/newview/skins/minimal/textures/bottomtray/close_over.png deleted file mode 100644 index 4630cb6dd69960bbf6de23c60014bbd91608d7ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3173 zcmV-r44U(aP)<h;3K|Lk000e1NJLTq000&M000*V1^@s659q(100009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004yNkl<Zc-pj-v8vlJ6ox<9f{sq(&~(WYBy-migm*)RyvH5-5S{uG8EnWC$ca67 zG<kz8c8MuuOpMgYX>y6fZKL~x5D4izzkUu!1VQi>_zrx*jeY{(#9%O}lv3l#WP-K! zDWVX9{eI78v#F)Eb{vKw$K%lnI1EFqwPOizKA$nhILV<iCjpExPrL2Z8I)ZWSB^c; zyLIded@0a5zPHM<q^|3mv%0P+%d+=P7pZsc`1MNDlsJy5stRKaRaFtkF=?9izIju| zMNy!X0${yfvsf%pN>LO=Z*)S4TkyTE*lxF2Yf(yF_B_wY^Zae?b~>GC+xG6o)oMlC zwnR~c)|w<q2*a=!ET#Ml7D8OUaIM4Pz;d}HiXyTsBZ?vbk|bd?8vTD1*HEoBzy+RV z*~2KjN4@wOs<pmx{%~#tL15?ed2h!5Dk&v-o<EM_=^=D|;7af2*yEifec!K|rujS^ z4xIp-ros39N=~QKm)&mn!x;0)(LDY&o6TN?we|z>(P1nG`2A-99QQcJuiY5^00000 LNkvXXu0mjf9@q1& diff --git a/indra/newview/skins/minimal/textures/bottomtray/close_press.png b/indra/newview/skins/minimal/textures/bottomtray/close_press.png deleted file mode 100644 index 3ed9c99a26f13d93756eba2ba4dba9c1b3cba9d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3259 zcmV;s3`FyZP)<h;3K|Lk000e1NJLTq000&M000*V1^@s659q(100009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0005zNkl<Zc-pj-KaSc!7{%ZG@x~aCNt5IbP^ZlaESu5?uqdF~B6aFixd1LGJPi#O zaEp{0&R~)zl8rFN!^{?ugO_EOWN|)en$gTpZ{GL4A+~LQ0`L{UM>JF40emLCUT<?e z9^X?+K`Fh7sFZ?I3XHKI#I|j1Sr$ywYy`aD@3GtMzyYA$Zo@Q97={5t$g7}QYm{XP z#@GqWImg}I9XRJVDJFzKN(lhJ!Ies__065DSiAx%rCx1A-Q!9euXnQvuu=*DKr6+U zR+1#hvh2}bmSsqi<k>rwVp_N2e8q8$APA7ADU?!3(-c7vAdcgU=j&E5(=@+WmIcPx z6DtTI7!HT%cDq<Eml%yka2yBo`5f!@`l1z5%G0<NMFFk#lYq=-Gn8cs-}j-Eg5x+4 zLO=-dtjCAL;ncjBDhxwdmIc>!u~;k+h9O$5*40M7nBhFnF_}!@x-Ntea9tOZ$pm?x zUj_4eB+mmf9*_S(qbLFZ_`VOVHKx<)#aRE9V$bs)L8B;w5CWd(T~DBG+q%=~z%YzP zez&qLvE6P#@t=yHC-0W3Gx+&a8dJ;|+ej%tFvc1IN-4n@+wgwBf4^F-z7<9Bt_d)u t^ygqOxF=fcHvryV8@+!S4gkL%1_0(nK>HnI3RM6A002ovPDHLkV1ly64S@gv diff --git a/indra/newview/skins/minimal/textures/click_to_move.png b/indra/newview/skins/minimal/textures/click_to_move.png deleted file mode 100644 index 74e3faa8ffb62e2ce71f1898ef199f692c9b4da4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8188 zcmXX~byO8!7ah7&q(M@;ySux)TO=f;OS+`<5rXt1q`OO{LApDhfJjPy^IPlt<Gp*= ztTi*|oV)iv`%J8+x&jtDDLMcESW1er+5iBD3ht#)k->kq1>tjWL339$@&o{kSO5Ls zfZRM{06^Dpl9AEWbaeA_^K^7`r&5xUp>p?dvv+!L2LQe+`8p1|I>&@!w;NZ|Dlwty zDsI}ZQK_`0<3kBj-ZE38;VQ>a7cIZm>c^9lLnQnDB?jU1=g@@LTCA9H=u0Sj)Wx5} zzsAJ<eAo{7>b%f(doc0byeNKHeVN}lh0=$LnW@O5#TSZMDNTvD6+SvNvc1PH8HP^h z4&b6T+ERNy(ZT_D!J?upG<_&N0G#g}1}e~}2I=D@kAA^9k<KxN3ypy5^GXp^K@BAU zB>g{2mjROUaH09xZ*_n#h=ApojrA^|$p%<5gdEHPq4{??0dRmxI`wO~FDU@kE4vt3 zz)=LKp3;w#0}MF<0(+GqAz+CO;8ZfOR|LMb0)3OX7!3d_Ccvo`6UhW11^|}dX=#0d zh#Y`G{;z@P1xqdNAv0L1oCeW$Iw83*6I8YjC<X@Xl#G)~L@WgSR`6E2lI#P1IV9X+ zyf|Bz;{fm_<u#b?<&*CucJ1UO|K}EL3$~M9<QE!i>)q%5DX6<70Bm~&&pfkoG?Ipj zAcwj<7t^01I+|mA@xG0>Z@`gk2EH7x7+kvlR~xya<o4y|{k^><<soSktDgoz&kh3? zeFjhO{{@Ra-d=C@?9hdAn}sPL-fazxU#XUoPo<(oSg#!<DLl4fygX9O(F`eBw;M7O z>}uhE_$-^7aLHXt6Dys{G)zDHV!N}+`hXz5$p?IUCk_{o!d78sgK(q5fNSX0w{r^s ze>>g!e=(vWggS<APx-u@OFSujp$9_kl~O+dfVnIkyYA0MiBS-VvR}fOze$l@^%Jx9 zA(Qtbt@UF(TJlFo(+v$s<4U93hLU?&GF5+)W{jHnM!{^!@k^3|w@=G4D$O06eL$}b zTg)Bj-U_v#pRp?p4N>Yl>MJYil^8hdI78acs6;uDchvogi1_hzR6k+}v}jaP_!POc z<8-O?6e<3SdB6)ro62{jh<pdQKRrfuDR8BSHE4<b!fcjluMi-OkT1rVw)Nu5O(OgP znf7QR6-(eRI-G_&;;bZz%ZzgN9TB7O487-M9~qRc7i2|Cvl*+Wsm6qkkbcvzM(B*a zwwbE;LBtP}>qFy5^pU2rqLflJR5eszQmmjNr{l$2K@&hjh|n5fph>GxX?oj%_iu>U znwu-yP?42(0YB*#2W~)&%#Z*beyj{PLwhp3QhkZ;EdH$gtgANdF>57+SCN!9?Z=9( za|4P{Ix7{+_sG5cy}>=6J+eLOzb5GU){-Ae?sRq-wST@-CfUc`=iNuP%jTBS`<ko0 zUQwir$CqR*T~pMeU8faY@ru_wS7;)fP)Vh<rZ{7c)RD;X)~W8us{?O6gHk<f+F*9< zSm7w^2;s^H6D#U<_-Kp+BMF2Uh1h|_hqx|VwTxsgo@7*)Q-BMWeVBuj<ECfG+`=6A zI^`#NhH}Q+3^Ha8-O8%6s*NfPy-U3@-K0u$ouFEIJszFiO0-{@P`#>rO_&aujzgtL zMRb)zg`2KKNwCpVEV9v{>Y#>9iPo2Ti`}jfDhwNvMqgHHXDn!xcNpK$+xm&+z>mzG z*-sRm@nTh#MM5$>$~*>*+L!6}5-7XbAMWzJ)X@$Z%d;+n<2DG+nRb}S%6L`Vx$I1x zt1`1P4WWuqEvN#lo4@w7Jin}4uG8ot3|necnZcAn!69i9DgRJsS!cZ*y_`@@O!&H% zy~??itf*7gr`NUoEW4n`JhVX7t$f3;`|zGTh~r83$>qNMS^?7#xe=2Nc@=Y#Sag{0 zgPSM?$LQ*XmW<h;q)e$*hE>*fL`wUN=+}AqM0uP9rxDX#x?PtMmyxe;k>66kRZ%-p zJImEpYcFFe6HygW9i14TD4tlz;e&{AEpi`14k3$>%~nfeUt`vmik3DzrG`D@GNZGW zF4st7A)``5J!7**`I`J1`i0J#&T_o+cJ(xMXu*QR;J1sGA1#%wB;WRzkXLJ4Tv~#x z9IS~PT8C=~&(gZnf;xf{pTtnGqL;Cu6vh<6o=qME!urA+xs!Qk5<$aPna3OshEupx zOFX+Ruf~{$obq)ba|#Yb4(*=dmof3NDxb#Kv&7jUWFza}yZ4m6u0NP<`_EqILmD9i zrxmMpXZ&YQXVGhg<Gh7T1x7rc(}Uk-wzT$VBrpmyIGs1EgEeF{!W^0pX*p~-QVePq zzqOY7RNY#g6N%r5dlc@9?}`d+aBmn{j0^O&es3Mq7<4PJh}@J3p?$G^@qd{C%0ubl z91vo|q{2+#AMX4Ese3<52(Q}RG%TM=C46a@dM%aospivue+{+c_ut7i)VGJ(lPQx< z*pZsSM+?&^RtHw`gTa^#k<pO`Q4*isV+=`WxU%?sX4YgpH)Zc-Gi5g*4qO^Sb!^If z%;Ht-??hJwI(R!IM%e9*#^(+54VB)jkPERh*Ydl*@7a7jy^P+;-@(`oAj;<WZszV+ zG&yh;Sx#8Vj?XHbDXAKxE|~sD3YWQpFoFK>D<AsL=zaqf0}eDCGyF3#OERX+l<I#K znbrJLf2VZu`OyvYl(O!(M=(?-cd25ju0w<i2y;JDxp0dKcXNfOrX+umuA){;YjHSn zII#aXR&5vA@I34q-^xLmf%3z-F}WJahz-3(y6i~Tm~oLArNP0@z`l1P_NP!Lw18#e zbiDEBYO+AydEv_`{s8`VYD;O9iUAvi;X!xxJD~>A4}PoYyRVU0qV$ogMcd+9m|f;I zpr-~|wZYwQ{nebq%=>?S>TiZ~hGFQT??(o~))r6AGz>Y6Hk+;Pqw>kbU&qGP608zs zy$)GoT=U&0i+20jo3obQR0$nwx1F+|wLd=CU@I`e&aBEh$ijBTT3%_w+SG44y}prK z<;a>~T<r{Rk!k<hE85m&SN>yiLPSEhME6SfUYGxDcD>nZ@y>PTj4Yt*hWGdUs!7-F zllYIGRXsR8wR!t_y9cF*##@Qn*s9~Z%m){<8g-Wsr=tk72u~=q*e#3gzvd}s#dNik z7Fb{k*rRWHp7YOr*s%Dq^b+$%c4*yY{q~M;(Kc@>v4mGXCInP(qs+beNZ~-i@lHDT zZ>~H<C-=d`+N48cTzqEXWW)baVf7789<Qj8pYo;d52uymPjhJwf2R`iGxCFi+5fFs zt`@fh9NJ87zQb`l@4)rio|SuvKNRT_nKb>|=JmH>b^nz?n?Y`!u!YNs*NNzJ+MLE{ zXI^J+ZM&&+`<Z`tbAbKrF<F7Y<oZ>&-v!~z!hC^{*n0P+zuWEb?e!+%dawt>)8ts^ zvJb;qO_xTO#g*i#)UwQa^t^=0^V-t+TFARTpD&j)YYMl>k>OL%Dc4CjGDt}|Nn=r1 zQLq9*aUr1{36H1a$8wn|+o`t&M9;;~W3@zt9Km<<u*J!l?3tphzgcO$E`g;_Cw(xI zy48_^5z3w)zC2v!SNad9{XT0x6z5+zaWwV<sX`cE9RJl{>r9tFq>-ehy&xiFUq0IK zu&siAlgdU>TMYpG=>Z@#902~kfa@^;cyj{4i6sCCX9EC{TdKvdJOI3AP?D9>^<DX$ zAMoCEK7UlgXJa?#!uc^S@s&jEr8{Y#q!yzR6DvXH`!8(AE!r6STDZ_pRkh65DTJ^4 zU7`BR>zZgcILaw2)lIK!LRqz-?-eE4wh$XWs(v3!S^^(Lyvnodw-#`VGu7U~L%C`r zqE7x0SPCVv*lhPXYd;K}Jiis`^^~9S&d;bQD|>s<g6@lY=XB3CF)^X2G@%_r310vw zj(`}pNe7!bdRHlvsrRQk1mRIu->=f|9m*eNeC#@SioQ7|$7<3VTgl%@UY4EJFl~(K z+C67)d~}mAb+nj_uSsDJVLrBIS;k+U*_?z>6XE|sD}nbcYt2;0JjyK6?|S^-4sI4I zeH6yW)z;ST(@lO5_@REFp|q&iK@46HMQq}E9pal^*)~*x7?Ga-i@i*q%bd>$52_BG zA6`oNjV7LXD*28OMveN&<s_BuEoc<|F`2qo9)9O!@r9eOqh6*3q0&e=MRe;L^F=51 z<s}wzXufWc<VH;8<WEMrZd@(|a(O7YSI$C#4g6GAYtBqfHSV%a)>c+lhL?V4&&S7? zanxZ>qaw|0#;v7{Zt3#ZTaqv`y@{%1R<Cfaq@)CinokX@0kwpVs>FWQ-w07V3llf4 z*w%Xqv(DdR@G3WBFZp-sf5~8=42^O0=J83S)@3%SDXOeCAP<Z7493mvCQ0<9ms@oH z+6>{7=!CXEn|cuK4ii~aHyX0m<dzBP>dEQpd6_9JdK1V=X%STGv*<%##}8ZoPWxFw zmE{nYT0G{fF^k#dr5*M*(_LL_A@uufmjQv?GPJ5nMo(|&Lh!<OEi@uDeBE`_wN*v2 znnvl?UC9>79O&^KhAVPf$s7H>+Ip_9Hg~2(hd;FYp?HRIettgirm=AN{FX;td@_Yr z!O_hP4B+=i5q^joytTcb!Ouinoe=ic-ya{EI?5T*KX&H(iWaQsF^F{8Rdj}lgh_BX zOM;J`s)F73I_JvMq)-vYYiVl_AmE6Gj_t!!ad0GYg!~)px<7$pVq=ryC>Y{tlLVlm z#YF16LME2LH(^I30OfN|zq(b)LWixnLal;va1-TccoPj-<#|c%JUmhr>7;2=+O&rs zE=!<A>?V?qxi`tRFq2oY5pXg0_x=QOTx%Forz0cs*p#A<ZNvuyS;jfWtW;nHJ8Gx= zDIpV4bH_v5?pyAH-;8VIySWi0+e8l94DZXFaxaW71LU;a+f5ncJ}tu3{;7&mI#^qO zs;}o785xNgw$6h3w!&K=n44sVE_M3U8R*SBc$<xq2Tb!OD$;$bg&Ef9?-m)d5`u>} z$E&NC!5)P;l;_cI+Gff=eg-XbLMAX}&)Tldt;;cQoh@>&G|L<qkbVr7h%4sg;*z4m zwRChm@@Qk=0A7%WYEh|lz3pN2DT<Gpi`VFCa|zKziSoxVn2oP*_Tyt90&cAAC(px4 zYI(tGeJEUPM)9Xl@C$VoNsF-3l9C8XDoI9yoyUKdS2s7c%97*yAq^?Tj1^UJU{NiL zoN}$`W6UMijTNJ%?l&)d^JHnP+Axn7c|%4{Kb9Nf@k0{x^72UP4ljKF_;>3X81Qg& z4{U8wg-KdguGOG#b@uhLvS94|J1p##*PAc*HWM(#*oNeb`lX(nypt}%b!{b+({gln z-o3lnU3$;Yt2U<i4{Bu6>bn0~<V<ndKwlrZZ$e;m{9<=h$m=M%iHZ<Fy>$003$iDo z(FuQjt>a~x^%KdxbDaq?b;x6Bea4H9fl*mgQ`*@HDJUo?jWK%U`NPfGWy*?*bmvEt z;*POMLz-w^Z+JIA)FUY)gFu-S9To-$Vp<=X;j<Z(<t~^ox=Wp+XjyNlO?fn5TU@-X zgAP8EXdP0^k0CwuhP(Z%rx99J6+U(}TBNiJp=@4uwxzW-ja}j3Hs_b*!onnQjrs?& ztD?HPq`N!+?Cea%Ns9nJAp03YX@HC?@vuDQs;77TMo*9L=(oFI+spGqWkp5bw)>YV z=8TLCunf9-`(Y@QmM_mwAm3;enRf75;BZl}$-jL48tx5S(9+c%Iyz!ZOiTnGw{b$Y zelIuT<6hR3{OCx-4pnsx^}~oB#Kgg|NO?$<rIDq<V>j<YwQPgz@9%^70^xmqeXXmn zKfAKx&(wRE)+fI8`!z~LRn-(&8_Fb`dc&n=XQJljW{`M0m;XTQ3zB2!sWar3%`7d& z6f^$b>@758wNDV?XpLY>8XY{CfG}}zOr6|qY?wdawD!VH&(2D#s9*p=K|x)2JMmG+ z54&$(mWW-`LbH40Q-5e@A9s)K7q_)#TXHJW;kOsxzQIIBLk`aq@{9tJ`EzW{sL>va zJu9Bftt;i`=A(L{c=wUVN~1%P%;Gf<PrK9Gu@EP?dWWfkI_KPvP<J-#dSa1}zbyx& zu&%DJXJ%&lqp-*@c{KF&$gxpC;eohz#7a{2nYeY^@sdL(TB@sKK%R=<AJKw0!WL>E zmv=WeH#t<o6G_kgIKkgesOq!h>YPYt9KCYqIn&}(dL#q{h|1@F9334seA|Ez1HvRj zTUz+5z!R>lEUK!C+u5-ezuQ8PF4ELL^t)Mh$U#5^m<Bt3yug;Ft))WmW|D&Urg={- z<h0Y>iB4cJFxjqu2M~~O+9oCt?laa;sp{ovr>m`(&kyHhT4s1DJ+ppz^z`)U>FJtU zT2ijAuFCzBC62tx8X6k%7TiIFj7jGqFAq?3{CKBq8yg#z7FF@5E1k)F5d}3hEb!>o z{9!d+Ag(a6uqN)84+{d=VOQQWnX`W-8a@q4v&Ed}M)U1n2qGaN`F5MD=L-*m`~qA3 z<fQt^$w>kSzmSlUAbD9u1uB@fOY8aw__hFAIC)^;w<{|jW1f2XHd$sy21!31&(eXm zg2HIR?ph9Ml;G`c&uzCJLhL-TPmacN;NKq%{~c;o6?1Lxv;Subk&&$}%by=Oy8aAQ zXAY?5=lt-<7NBcDj$nc}g?pUNBgjys`#v#2Ul8N@{OAXA5<oye05t`KBqmQi6dG^H zI+Dxh+_oJ>CK!0fNyK3;tEcy#-vpg5lbJoGuuwxu39YoW^zJEmSC}S@WzHKR3?O1R z{nFU@s&!RON9R>=@0-v@hp9<o>cUE^nCR<qo~dedMbm!XJ!n<Je`Q#1bXactK%1f% zF*BnD1Yg8k*v?y(GDMb!TlXXz#vs+B{6UwDdH)?u$-g5YX4D!Kau7u_GBQkOk?XDs zbG)EqSndfD3GOXqDDeHXXc3aXu%KT&Q<1_!9VN*jXF6ctsAXvA*oMQNH73~VS5`@^ zhF3Q@IOyf=4MJB+keq)~0PLw@2q+a*Ro15~&4}<}LgCJhQad7>|FA!Hni=D2%Nqq< z%_s=wPx@s+NYIaKhgqky@$fH^hV-}aK3L-gj!#VN=Q`IG-CA=z7t?@k17u=^H1!}i zu1#N6mB-OEwY<E1+j-9eBOBZP4~D|Mq1acLn3y2c`a#b1M`93ZSI7SQdHQkp_JN6& zwdC73&VAEZ*#Tk`B1qfF^fd1J`Z^fz1PQCK&l&mQWWI^+Aa1hnNoBb{FC87#0f%S# z)zzHF6mj4<G9kv9>7f(N8NJZpG$v~2`sb-b+9NcNyFXT-`o|R$|6sD-NjOp)ZaRN{ z4(4}RkqrtG1BL3>!h&_PvD3SE++`6C7^v~XpTPSB1hT+3xaQhg&zY!L`Z^ic9rrvs zD(dL;v=j<u*)KA!jiRQyICTpN7?!p!VvhoaoHS9H2<gAb>=UI}2~Zo2@Gk4A&X8Il z8dXlD9kp|tn^SLIt`z=yToRL$+j@B5%V`~*oLIZNC;$AZyekS84q11yP(njN0R^P! z-@hIo&(>m#8Jk*KNU>C|{^Z!Uu3q?egCz3s^whB?hDV3Tgh$`;2E727PDf`ahY&#n zlI(p@_tmV5=>5@G7JPh+W-6K#RFHaz;Zn3M^n9ftP-tLxgQ>>2Nn$tIv`%6rfpGOs zxg*CK8s&jpW{V^wB->m4;enTsP1VUEokV$O^}5fayIx*ie_$3bE2xg>(0<Wj11$oZ zgMvla@Ud4JAVtnHY4wqoSB;h&n@3Pk(ar7LP9;ytjrgD)5x~O28bLRSjEqdr$f)_A zQ-jeA;Kw3@cvS2ld-Em>sx$FL;Z2ZNu3m>B%Rr_beF%QVnAdE3kF0}3IUHi=`eeS( zhLVE=0~;F~(;$a6e?fK^J!$jzCIU-N69jAJc2w3}Hsp)-w{PDPlag|?LdMuUleHJU z-@SXMy;T7dzTF6L`*~u_GGk#eE|!>(plNFQe*6nL1%+8HRHXE#ho1~Qe~?#et^z_r zLQG;o_nJM6FuqS$2fJWjJZ;@9KwdU5_p@8!dlP)OjTEw}nw<R#ck^yUU<fg}dfawK zQ!cQ$x;mk&OLVu*kQI#fk;28rg-PK38K2yml&yIjQ#U-Sb*}Gyzy&FKBr0-vLPCNm z9;5Avkhht`SSA|*5s`+-2x$B+{}HaQ*2-c?2kNtufrjAE!xKm&(BWnBslJLu6cZEU z<>l1`B|O!}#$1UFQd3qI1vZA=wYu&b<B>@rF^E_F*+^cfrrxzsnSHFC8a3Brr4uPA z?D9z@=+UtegKg{V9v&XV6cl`}1LTqfkqr3t5gC>rDQ0UTfBaCg;VT?#OVwB)l(n&; zbzZ3Mw{QHg?!BniNb~W0BXOd|BV^RE9?LH<kUV<Os``MgOh4YC$5aXrJ6b6CQLv__ z1`Ka{dfIZYJKOBI{TH|!KhJ?avB@9n4^{L1g<3qlqxfMp@sAgktCJ^1QBzkpecV|y zhxkq5r?A@Xi61$cO!kx>yh)bX3RL5kxG=b=!EHNd4`Wus7ME3dC#TAk4mR@%^hjwC z|7bBrydcm%e5kK4E8!gLHs{!O_ccP{rcFU*P|xc-_VPGwUQ~CUJ}A1m;-{`IYiQv1 z_xA^ux&v-g5$WfstssN4D;R<Yp4M<NzM`LNVd<HfR?Wt!i11BKEt&>8;R2&$Sc_%~ zdS(=1lj`d9y9CE1=?A?Nm%QKvla`id5LxHixXj4Ns928;A_w$FBQh@U-<K2@Tg&0> zn^gtCU@(=ih!~xAQyu-|y*;|!-CdQA=fS{IMs%=YzF%%Ys#_FsNul$^oLmz^XVD?= zb((uCEFzM48GNi_0biDhX9#b|7%EOnb=LdxED{!Qh=2lz$`uAHBda~^Agdj<Z=PFU zpD5~mj7&v&L&q>WCK0$VwWiL{8*tj1CmJF?Y^{hA@lADTdVih{&zA4D81yEf-{E)L zz*J?Uv1wg3@Zz2+?GVt@I|c;}?7c~&JTCN1(SuT2TK|~=*{@pvQR>Z`UYdHw!l}`f zX6H&M6cj}P`fOLqQkB-eIiiWzRW&vA3=Gj1CG_k~&Wp7PA7bP}2kzR(6GE5TJ<BsH zOPdanQ1C)P<3;fADG+9olw1f=5G39Iv+Cw~e?@XHBErPZV$;@}<g?)y-MaByn4X8C z#aYbRNW#><LZ>fFxP{wYggErbik37gqop;|^v05VaNzt_$JA66oZ|3fIfaCrSam`w z*YTk9%1%y9c6N54*(8OUPa#KnL9N(bmK!2z6+Vyqj|bhZw-RfPi;Y)So$RWX>P=zb z!ebN0M~+ek<azUX%kFAz_+4UcIJ+XtZBIzNL~3-fyI%|-b@=;Z-dZ)+xUyL@9kfj- zFKDlAE-eukX~uv)tjoM^rf>Yx2ay%@x#ERMU0q%2@+|tn_$-=evHP!h644pstn)?> zFSo&g#aDFh?Q@Q&$9SfDS<tZ`#_8!P=y_+SrzNGN!s<hIM-s`!{CQb!j|&3Mw)?^m zF5!mPa?-&mp*71WitjK^j1C`-vg?7pW&PQ2r(V#7LF4c0)5A<EP9+EKmk>wB$SW3? z?UncYUcy;Ta5Y|%F_$-2SD>meGBXcsyQ^Y&IT#nHKXNcIjE2Vh9dV^WMHU0#9#!45 zG4QQJL@5u$am2Tl>TLipigYkHaAunVtt}%ft1akt10OF&jWVXpeAbcr`omEU<8*8V zj8ydI-@w~p9AoL}*<G$Q2ksZS6*1@vi>&;cvUrN?k?b?P*}#Nv%&`j&)doj~d2ovO z`t|GH{{HsuLt?~NFT-)fM6b~7+Z=?LV_ZcPX@CB6)nrABeJ0Yx*@cCXdYjQQHT>T& z*w;F@pY%i*8UHdJ?v-K7EzJayYrzkv^Qtv95*)C8#png^p6BnhdxS(>B<Og=<Um?s z7E?iTfj=ufTs<)s4i1l~sH(a;HrNIC4iCwC`*YCXdEjU$&@sXk`0GH=_TNm?)ZA>x zr@OhisSy(LVi(}r!mF|+bih?DRI?2eK6PPmTI$G<6_ql3YF=ycWT@fj=7l)Xdcq8p z#`isxS>-n8=EA{tczCI$sTsO@I=N&hH>i$7nY(Ryc0I=y`u>F|R`x%6X>Fa`*yt&F zh2$`Ib2`$c^4d{2@b1s=(7UxmaUT|)-t$pufO;+A<?hs({P|nX1cV=7$9u!?_NWQX zKzsI6TizlC35k`hZA5J?J2`eVo-Tos{;`Ay&)iO{rxDRH`v_R%BF*pF7`&XEoTs-u znPJs^o_(8B=%{LQ!R^y5s-6@C^zFw?R};J~EX`G{F)Rhl%uzyfM3LU@rc0+EMJaLk zArp6g5;K2zCX%MT*9|odFm+JErFhkBY;E`6`HSAVuC|=sfPM8`Q(kh-V~ouL!PR*D z^|%lQgRzOw%u24b>9M+^BwYa1j>+l-CA@$BJ|@_2jIEXT>AEgNjqCcoz-C}$mLHwm z1XAqs7Ih5@NqDkx%L@8$<lroLFwE!J%8V+GoLQnDT?BLL2K9eKzaU2ZvYW;b*znyA z3Ax*j9`SNCQBfHq3VTVjYh=w>>himc`{tLHFY~Rr`5HBu<IU;cYBx}(>z%kzEA{F^ zS>Y>H8`RX*U9*P2oy<4?B64(fC3Le3>dXbG<0a7rY2zjT`@;4%i247U{8TwAdN^u& oGfXBl)Ji|73SpS;+ou<Rs6w}dPGXr7{JaV%$*IfMN?U&VAG@5P-~a#s diff --git a/indra/newview/skins/minimal/textures/textures.xml b/indra/newview/skins/minimal/textures/textures.xml deleted file mode 100644 index e3ed01721a5..00000000000 --- a/indra/newview/skins/minimal/textures/textures.xml +++ /dev/null @@ -1,11 +0,0 @@ - -<textures version="101"> - <texture name="Button_Separator" file_name="bottomtray/button_separator.png" preload="true" /> - <texture name="arrow_keys.png"/> - <texture name="click_to_move" file_name="click_to_move.png"/> - <texture name="bottomtray_close_off" file_name="bottomtray/close_off.png" preload="true" /> - <texture name="bottomtray_close_over" file_name="bottomtray/close_over.png" preload="true" /> - <texture name="bottomtray_close_press" file_name="bottomtray/close_press.png" preload="true" /> - <texture name="Speak_Btn_Off" file_name="bottomtray/Speak_Btn_Off.png" preload="true" scale.left="4" scale.top="16" scale.right="8" scale.bottom="4" /> - <texture name="Speak_Btn_Selected_Press" file_name="bottomtray/Speak_Btn_Selected_Press.png" preload="true" scale.left="4" scale.top="16" scale.right="8" scale.bottom="4" /> - </textures> diff --git a/indra/newview/skins/minimal/xui/da/floater_camera.xml b/indra/newview/skins/minimal/xui/da/floater_camera.xml deleted file mode 100644 index 5b7ef6db546..00000000000 --- a/indra/newview/skins/minimal/xui/da/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Roter kamera omkring fokus - </floater.string> - <floater.string name="zoom_tooltip"> - Zoom kamera mod fokus - </floater.string> - <floater.string name="move_tooltip"> - Flyt kamera op og ned, til venstre og højre - </floater.string> - <floater.string name="camera_modes_title"> - Kamera valg - </floater.string> - <floater.string name="pan_mode_title"> - Kredsløb zoom panorering - </floater.string> - <floater.string name="presets_mode_title"> - Forvalg - </floater.string> - <floater.string name="free_mode_title"> - Se objekt - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Se forfra - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Se fra siden - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Se bagfra - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Se fra objekt - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Førsteperson - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Zoom kamera mod fokus"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Kamera kredser rundt om fokus"/> - <slider_bar name="zoom_slider" tool_tip="Zoom kamera mod fokus"/> - <joystick_track name="cam_track_stick" tool_tip="Flyt kamera op og ned, venstre og højre"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Forvalg"/> - <button label="" name="pan_btn" tool_tip="Kredsløb zoom panorering"/> - <button label="" name="avatarview_btn" tool_tip="Kamera valg"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/floater_help_browser.xml b/indra/newview/skins/minimal/xui/da/floater_help_browser.xml deleted file mode 100644 index 0e2918e4e2d..00000000000 --- a/indra/newview/skins/minimal/xui/da/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="HVORDAN"> - <floater.string name="loading_text"> - Henter... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/floater_media_browser.xml b/indra/newview/skins/minimal/xui/da/floater_media_browser.xml deleted file mode 100644 index 42fbdeaa9ea..00000000000 --- a/indra/newview/skins/minimal/xui/da/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="MEDIA BROWSER"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Tilbage" name="back"/> - <button label="Frem" name="forward"/> - <button label="Genlæs" name="reload"/> - <button label="Go" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="tilbage" name="rewind"/> - <button label="stop" name="stop"/> - <button label="fremad" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Send denne side til parcel" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Ã…ben i min internetbrowser" name="open_browser"/> - <check_box label="Ã…ben altid i min internetbrowser" name="open_always"/> - <button label="Luk" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/da/floater_nearby_chat.xml deleted file mode 100644 index bd17224259a..00000000000 --- a/indra/newview/skins/minimal/xui/da/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT NÆRVED"> - <check_box label="Oversæt chat (hÃ¥ndteret af Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/floater_web_content.xml b/indra/newview/skins/minimal/xui/da/floater_web_content.xml deleted file mode 100644 index 0410f743246..00000000000 --- a/indra/newview/skins/minimal/xui/da/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="GÃ¥ bagud"/> - <button name="forward" tool_tip="GÃ¥ frem"/> - <button name="stop" tool_tip="Stop"/> - <button name="reload" tool_tip="Genindlæs side"/> - <combo_box name="address" tool_tip="Indtast URL her"/> - <icon name="media_secure_lock_flag" tool_tip="Sikker browsing"/> - <button name="popexternal" tool_tip="Ã…ben denne URL i din normale internet browser"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/inspect_avatar.xml b/indra/newview/skins/minimal/xui/da/inspect_avatar.xml deleted file mode 100644 index dc1ed562eb2..00000000000 --- a/indra/newview/skins/minimal/xui/da/inspect_avatar.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_details"> - Dette er min second life beskrivelse og jeg synes den er rigtig god. Men af en eller ande grund er min beskrivelse meget lang fordi jeg taler en hel masse - </text> - <slider name="volume_slider" tool_tip="Stemme lydstyrke" value="0.5"/> - <button label="Tilføj ven" name="add_friend_btn"/> - <button label="IM" name="im_btn"/> - <button label="Profil" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="SlÃ¥ stemme-chat fra" name="disable_voice"/> - <button label="SlÃ¥ stemme-chat til" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/inspect_object.xml b/indra/newview/skins/minimal/xui/da/inspect_object.xml deleted file mode 100644 index 78ccc5b8699..00000000000 --- a/indra/newview/skins/minimal/xui/da/inspect_object.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Af [CREATOR] - </string> - <string name="CreatorAndOwner"> - Af [CREATOR] -Owner [OWNER] - </string> - <string name="Price"> - L$[AMOUNT] - </string> - <string name="PriceFree"> - Gratis! - </string> - <string name="Touch"> - Berør - </string> - <string name="Sit"> - Sid - </string> - <text name="object_name" value="Test objekt navn der reelt er to linier og meget lang"/> - <text name="price_text"> - L$30,000 - </text> - <text name="object_description"> - Dette er en meget lang beskrivelse af et objekt udformet sÃ¥ den fylder mindst 80 karakterer i længden eller endda nærmere 120 pÃ¥ dette sted. Man kan aldrig vide.... - </text> - <button label="Køb" name="buy_btn"/> - <button label="Betal" name="pay_btn"/> - <button label="Tag kopi" name="take_free_copy_btn"/> - <button label="Berør" name="touch_btn"/> - <button label="Sid" name="sit_btn"/> - <button label="Ã…ben" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Sikker Browsing"/> - <button label="Mere" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/da/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/da/menu_add_wearable_gear.xml deleted file mode 100644 index 1e8301dc4cb..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Sortér efter nyeste" name="sort_by_most_recent"/> - <menu_item_check label="Sortér efter navn" name="sort_by_name"/> - <menu_item_check label="Sortér efter type" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/da/menu_attachment_other.xml deleted file mode 100644 index ca7b1849424..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Profil" name="Profile..."/> - <menu_item_call label="Tilføj ven" name="Add Friend"/> - <menu_item_call label="Send besked" name="Send IM..."/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Invitér til gruppe" name="Invite..."/> - <menu_item_call label="Blokér" name="Avatar Mute"/> - <menu_item_call label="Rapportér" name="abuse"/> - <menu_item_call label="Frys" name="Freeze..."/> - <menu_item_call label="Smid ud" name="Eject..."/> - <menu_item_call label="Debug teksturer" name="Debug..."/> - <menu_item_call label="Zoom ind" name="Zoom In"/> - <menu_item_call label="Betal" name="Pay..."/> - <menu_item_call label="Objekt profil" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/da/menu_attachment_self.xml deleted file mode 100644 index 35ba27f9e23..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Berør" name="Attachment Object Touch"/> - <menu_item_call label="Redigér" name="Edit..."/> - <menu_item_call label="Tag af" name="Detach"/> - <menu_item_call label="Sid ned" name="Sit Down Here"/> - <menu_item_call label="StÃ¥ op" name="Stand Up"/> - <menu_item_call label="Udseende" name="Change Outfit"/> - <menu_item_call label="Redigér mit sæt" name="Edit Outfit"/> - <menu_item_call label="Redigér min figur" name="Edit My Shape"/> - <menu_item_call label="Venner" name="Friends..."/> - <menu_item_call label="Grupper" name="Groups..."/> - <menu_item_call label="Profil" name="Profile..."/> - <menu_item_call label="Debug teksturer" name="Debug..."/> - <menu_item_call label="Smid" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/da/menu_avatar_icon.xml deleted file mode 100644 index 26b58ce1ab4..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Profil" name="Show Profile"/> - <menu_item_call label="Send besked..." name="Send IM"/> - <menu_item_call label="Tilføj ven..." name="Add Friend"/> - <menu_item_call label="Fjern ven..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/da/menu_avatar_other.xml deleted file mode 100644 index a778dedf0bc..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Profil" name="Profile..."/> - <menu_item_call label="Tilføj ven" name="Add Friend"/> - <menu_item_call label="Besked" name="Send IM..."/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Invitér til gruppe" name="Invite..."/> - <menu_item_call label="Blokér" name="Avatar Mute"/> - <menu_item_call label="Rapportér" name="abuse"/> - <menu_item_call label="Frys" name="Freeze..."/> - <menu_item_call label="Smid ud" name="Eject..."/> - <menu_item_call label="Debug Teksturer" name="Debug..."/> - <menu_item_call label="Zoom ind" name="Zoom In"/> - <menu_item_call label="Betal" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/da/menu_avatar_self.xml deleted file mode 100644 index 0080f7a59ea..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="Sid ned" name="Sit Down Here"/> - <menu_item_call label="StÃ¥ op" name="Stand Up"/> - <context_menu label="Tag af" name="Take Off >"> - <context_menu label="Tøj" name="Clothes >"> - <menu_item_call label="Trøje" name="Shirt"/> - <menu_item_call label="Bukser" name="Pants"/> - <menu_item_call label="Nederdel" name="Skirt"/> - <menu_item_call label="Sko" name="Shoes"/> - <menu_item_call label="Strømper" name="Socks"/> - <menu_item_call label="Jakke" name="Jacket"/> - <menu_item_call label="Handsker" name="Gloves"/> - <menu_item_call label="Undertrøje" name="Self Undershirt"/> - <menu_item_call label="Underbukser" name="Self Underpants"/> - <menu_item_call label="Tatovering" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Alt tøj" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Tag af" name="Object Detach"/> - <menu_item_call label="Tag alt af" name="Detach All"/> - </context_menu> - <menu_item_call label="Mit udseende" name="Chenge Outfit"/> - <menu_item_call label="Redigér mit sæt" name="Edit Outfit"/> - <menu_item_call label="Redigér min form" name="Edit My Shape"/> - <menu_item_call label="Venner" name="Friends..."/> - <menu_item_call label="Grupper" name="Groups..."/> - <menu_item_call label="Profil" name="Profile..."/> - <menu_item_call label="Debug teksturer" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/da/menu_bottomtray.xml deleted file mode 100644 index 9ac296904a8..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Stemme aktiveret" name="EnableVoiceChat"/> - <menu_item_check label="Faste bevægelser" name="ShowGestureButton"/> - <menu_item_check label="Bevægelse knap" name="ShowMoveButton"/> - <menu_item_check label="Vis knap" name="ShowCameraButton"/> - <menu_item_check label="Foto knap" name="ShowSnapshotButton"/> - <menu_item_check label="Bygge knap" name="ShowBuildButton"/> - <menu_item_check label="Søge knap" name="ShowSearchButton"/> - <menu_item_check label="Kort knap" name="ShowWorldMapButton"/> - <menu_item_check label="Mini-Map button" name="ShowMiniMapButton"/> - <menu_item_call label="Klip" name="NearbyChatBar_Cut"/> - <menu_item_call label="Kopiér" name="NearbyChatBar_Copy"/> - <menu_item_call label="Sæt ind" name="NearbyChatBar_Paste"/> - <menu_item_call label="Slet" name="NearbyChatBar_Delete"/> - <menu_item_call label="Vælg alt" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/da/menu_cof_attachment.xml deleted file mode 100644 index 9d7fc0f2239..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Tag af" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/da/menu_cof_body_part.xml deleted file mode 100644 index 0e90d5a3aeb..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Erstat" name="replace"/> - <menu_item_call label="Redigér" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/da/menu_cof_clothing.xml deleted file mode 100644 index 16c225b7d99..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Tag af" name="take_off"/> - <menu_item_call label="Redigér" name="edit"/> - <menu_item_call label="Erstat" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/da/menu_cof_gear.xml deleted file mode 100644 index f44369fd843..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Nyt tøj" name="COF.Gear.New_Clothes"/> - <menu label="Nye kropsdele" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_edit.xml b/indra/newview/skins/minimal/xui/da/menu_edit.xml deleted file mode 100644 index 3752f42b1c4..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Redigér" name="Edit"> - <menu_item_call label="Fortryd" name="Undo"/> - <menu_item_call label="Gendan" name="Redo"/> - <menu_item_call label="Klip" name="Cut"/> - <menu_item_call label="Kopiér" name="Copy"/> - <menu_item_call label="Sæt ind" name="Paste"/> - <menu_item_call label="Slet" name="Delete"/> - <menu_item_call label="Duplikér" name="Duplicate"/> - <menu_item_call label="Marker alt" name="Select All"/> - <menu_item_call label="Fjern markering" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_favorites.xml b/indra/newview/skins/minimal/xui/da/menu_favorites.xml deleted file mode 100644 index a4793e294cb..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teleportér" name="Teleport To Landmark"/> - <menu_item_call label="Vis/ret landemærke" name="Landmark Open"/> - <menu_item_call label="Kopiér SLurl" name="Copy slurl"/> - <menu_item_call label="Vis pÃ¥ kort" name="Show On Map"/> - <menu_item_call label="Kopiér" name="Landmark Copy"/> - <menu_item_call label="Sæt ind" name="Landmark Paste"/> - <menu_item_call label="Slet" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/da/menu_gesture_gear.xml deleted file mode 100644 index a9010e99b65..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Tilføj/fjern fra favoritter" name="activate"/> - <menu_item_call label="Kopiér" name="copy_gesture"/> - <menu_item_call label="Sæt ind" name="paste"/> - <menu_item_call label="Kopiér UUID" name="copy_uuid"/> - <menu_item_call label="Gem til nuværende sæt" name="save_to_outfit"/> - <menu_item_call label="Editér" name="edit_gesture"/> - <menu_item_call label="Undersøg" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_group_plus.xml b/indra/newview/skins/minimal/xui/da/menu_group_plus.xml deleted file mode 100644 index 97fbec1ed1d..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Meld ind i gruppe..." name="item_join"/> - <menu_item_call label="Ny gruppe..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/da/menu_hide_navbar.xml deleted file mode 100644 index d96a8a8a17e..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Vis navigationsbjælke" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Vis favoritbjælke" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Vis min lokation bjælke" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/da/menu_im_well_button.xml deleted file mode 100644 index 4889230919b..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Luk alle" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/da/menu_imchiclet_adhoc.xml deleted file mode 100644 index f64a6ad455e..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Afslut" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/da/menu_imchiclet_group.xml deleted file mode 100644 index b89d9a57895..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Gruppe info" name="Show Profile"/> - <menu_item_call label="Vis session" name="Chat"/> - <menu_item_call label="Afslut session" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/da/menu_imchiclet_p2p.xml deleted file mode 100644 index 6ebc40a8dd0..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Profil" name="Show Profile"/> - <menu_item_call label="Tilføj ven" name="Add Friend"/> - <menu_item_call label="Vis session" name="Send IM"/> - <menu_item_call label="Afslut session" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/da/menu_inspect_avatar_gear.xml deleted file mode 100644 index 8da35adb1b3..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Profil" name="view_profile"/> - <menu_item_call label="Tilføj ven" name="add_friend"/> - <menu_item_call label="Besked" name="im"/> - <menu_item_call label="Opkald" name="call"/> - <menu_item_call label="Teleportér" name="teleport"/> - <menu_item_call label="Invitér til gruppe" name="invite_to_group"/> - <menu_item_call label="Blokér" name="block"/> - <menu_item_call label="Fjern blokering" name="unblock"/> - <menu_item_call label="Rapportér" name="report"/> - <menu_item_call label="Frys" name="freeze"/> - <menu_item_call label="Smid ud" name="eject"/> - <menu_item_call label="Spark" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Debug teksturer" name="debug"/> - <menu_item_call label="Find pÃ¥ kort" name="find_on_map"/> - <menu_item_call label="Zoom ind" name="zoom_in"/> - <menu_item_call label="Betal" name="pay"/> - <menu_item_call label="Del" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/da/menu_inspect_object_gear.xml deleted file mode 100644 index e28842836dd..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Berør" name="touch"/> - <menu_item_call label="Sid her" name="sit"/> - <menu_item_call label="betal" name="pay"/> - <menu_item_call label="Køb" name="buy"/> - <menu_item_call label="Tag" name="take"/> - <menu_item_call label="tag kopi" name="take_copy"/> - <menu_item_call label="Ã…ben" name="open"/> - <menu_item_call label="Redigér" name="edit"/> - <menu_item_call label="Tag pÃ¥" name="wear"/> - <menu_item_call label="Tilføj" name="add"/> - <menu_item_call label="Rapportér" name="report"/> - <menu_item_call label="Blokér" name="block"/> - <menu_item_call label="Zoom ind" name="zoom_in"/> - <menu_item_call label="Fjern" name="remove"/> - <menu_item_call label="Mere info" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/da/menu_inspect_self_gear.xml deleted file mode 100644 index 887c6484bc3..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Sid ned" name="Sit Down Here"/> - <menu_item_call label="StÃ¥ op" name="Stand Up"/> - <context_menu label="Tag af" name="Take Off >"> - <context_menu label="Tøj" name="Clothes >"> - <menu_item_call label="Trøje" name="Shirt"/> - <menu_item_call label="Bukser" name="Pants"/> - <menu_item_call label="Nederdel" name="Skirt"/> - <menu_item_call label="Sko" name="Shoes"/> - <menu_item_call label="Strømper" name="Socks"/> - <menu_item_call label="Jakke" name="Jacket"/> - <menu_item_call label="Handsker" name="Gloves"/> - <menu_item_call label="Undertrøje" name="Self Undershirt"/> - <menu_item_call label="Underbukser" name="Self Underpants"/> - <menu_item_call label="Tatovering" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Alt tøj" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Tag af" name="Object Detach"/> - <menu_item_call label="Tag alt af" name="Detach All"/> - </context_menu> - <menu_item_call label="Skift sæt" name="Chenge Outfit"/> - <menu_item_call label="Redigér sæt" name="Edit Outfit"/> - <menu_item_call label="Redigér min figur" name="Edit My Shape"/> - <menu_item_call label="Mine venner" name="Friends..."/> - <menu_item_call label="Mine grupper" name="Groups..."/> - <menu_item_call label="Min profil" name="Profile..."/> - <menu_item_call label="Debug teksturer" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/da/menu_inv_offer_chiclet.xml deleted file mode 100644 index c3b03232bf1..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Luk" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inventory.xml b/indra/newview/skins/minimal/xui/da/menu_inventory.xml deleted file mode 100644 index 35551318d17..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inventory.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Del" name="Share"/> - <menu_item_call label="Køb" name="Task Buy"/> - <menu_item_call label="Ã¥ben" name="Task Open"/> - <menu_item_call label="Afspil" name="Task Play"/> - <menu_item_call label="Egenskaber" name="Task Properties"/> - <menu_item_call label="Omdøb" name="Task Rename"/> - <menu_item_call label="Slet" name="Task Remove"/> - <menu_item_call label="Tøm papirkurv" name="Empty Trash"/> - <menu_item_call label="Tøm 'Lost and found'" name="Empty Lost And Found"/> - <menu_item_call label="Ny mappe" name="New Folder"/> - <menu_item_call label="Nyt script" name="New Script"/> - <menu_item_call label="Ny note" name="New Note"/> - <menu_item_call label="Ny bevægelse" name="New Gesture"/> - <menu label="Nyt tøj" name="New Clothes"> - <menu_item_call label="Ny trøje" name="New Shirt"/> - <menu_item_call label="Nye bukser" name="New Pants"/> - <menu_item_call label="Nye sko" name="New Shoes"/> - <menu_item_call label="Nye strømper" name="New Socks"/> - <menu_item_call label="Ny jakke" name="New Jacket"/> - <menu_item_call label="Ny nederdel" name="New Skirt"/> - <menu_item_call label="Nye handsker" name="New Gloves"/> - <menu_item_call label="Ny undertrøje" name="New Undershirt"/> - <menu_item_call label="Nye underbukser" name="New Underpants"/> - <menu_item_call label="Nyt alpha lag" name="New Alpha Mask"/> - <menu_item_call label="Ny tatovering" name="New Tattoo"/> - </menu> - <menu label="Nye kropsdele" name="New Body Parts"> - <menu_item_call label="Ny figur" name="New Shape"/> - <menu_item_call label="Nyt hud" name="New Skin"/> - <menu_item_call label="Nyt hÃ¥r" name="New Hair"/> - <menu_item_call label="Nye øjne" name="New Eyes"/> - </menu> - <menu label="Ændre type" name="Change Type"> - <menu_item_call label="Standard" name="Default"/> - <menu_item_call label="Handsker" name="Gloves"/> - <menu_item_call label="Jakke" name="Jacket"/> - <menu_item_call label="Bukser" name="Pants"/> - <menu_item_call label="Kropsbygning" name="Shape"/> - <menu_item_call label="Sko" name="Shoes"/> - <menu_item_call label="Trøje" name="Shirt"/> - <menu_item_call label="Nederdel" name="Skirt"/> - <menu_item_call label="Underbukser" name="Underpants"/> - <menu_item_call label="Undertrøje" name="Undershirt"/> - </menu> - <menu_item_call label="Teleport" name="Landmark Open"/> - <menu_item_call label="Ã¥ben" name="Animation Open"/> - <menu_item_call label="Ã¥ben" name="Sound Open"/> - <menu_item_call label="Erstat pÃ¥klædning" name="Replace Outfit"/> - <menu_item_call label="Tilføj til pÃ¥klædning" name="Add To Outfit"/> - <menu_item_call label="Slet ting" name="Purge Item"/> - <menu_item_call label="Genskab ting" name="Restore Item"/> - <menu_item_call label="Ã¥ben" name="Open"/> - <menu_item_call label="Ã…ben original" name="Open Original"/> - <menu_item_call label="Egenskaber" name="Properties"/> - <menu_item_call label="Omdøb" name="Rename"/> - <menu_item_call label="Kopiér asset UUID" name="Copy Asset UUID"/> - <menu_item_call label="Kopiér" name="Copy"/> - <menu_item_call label="Indsæt" name="Paste"/> - <menu_item_call label="Sæt ind som link" name="Paste As Link"/> - <menu_item_call label="Slet" name="Remove Link"/> - <menu_item_call label="Slet" name="Delete"/> - <menu_item_call label="Slet systemfolder" name="Delete System Folder"/> - <menu_item_call label="start konference chat" name="Conference Chat Folder"/> - <menu_item_call label="Afspil" name="Sound Play"/> - <menu_item_call label="Om landemærke" name="About Landmark"/> - <menu_item_call label="Afspil i verden" name="Animation Play"/> - <menu_item_call label="Afspil lokalt" name="Animation Audition"/> - <menu_item_call label="Send privat besked (IM)" name="Send Instant Message"/> - <menu_item_call label="Tilbyd teleport..." name="Offer Teleport..."/> - <menu_item_call label="start konference Chat" name="Conference Chat"/> - <menu_item_call label="Aktivér" name="Activate"/> - <menu_item_call label="Deaktivér" name="Deactivate"/> - <menu_item_call label="Gem som" name="Save As"/> - <menu_item_call label="Tag af dig selv" name="Detach From Yourself"/> - <menu_item_call label="Tag pÃ¥" name="Wearable And Object Wear"/> - <menu label="Vedhæft" name="Attach To"/> - <menu label="Vedhæft til HUD" name="Attach To HUD"/> - <menu_item_call label="Redigér" name="Wearable Edit"/> - <menu_item_call label="Tilføj" name="Wearable Add"/> - <menu_item_call label="Tag af" name="Take Off"/> - <menu_item_call label="--ingen valg--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/da/menu_inventory_add.xml deleted file mode 100644 index 07f70d7190d..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Hent" name="upload"> - <menu_item_call label="Billede (L$[COST])..." name="Upload Image"/> - <menu_item_call label="Lyd (L$[COST])..." name="Upload Sound"/> - <menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/> - <menu_item_call label="Hent mange (L$[COST] pr. fil)..." name="Bulk Upload"/> - <menu_item_call label="Sæt standardværdier for upload rettigheder" name="perm prefs"/> - </menu> - <menu_item_call label="Ny mappe" name="New Folder"/> - <menu_item_call label="Nyt script" name="New Script"/> - <menu_item_call label="Ny note" name="New Note"/> - <menu_item_call label="Ny bevægelse" name="New Gesture"/> - <menu label="Nyt tøj" name="New Clothes"> - <menu_item_call label="Ny trøje" name="New Shirt"/> - <menu_item_call label="Nye bukser" name="New Pants"/> - <menu_item_call label="Nye sko" name="New Shoes"/> - <menu_item_call label="Nye strømper" name="New Socks"/> - <menu_item_call label="Ny jakke" name="New Jacket"/> - <menu_item_call label="Ny nederdel" name="New Skirt"/> - <menu_item_call label="Nye handsker" name="New Gloves"/> - <menu_item_call label="Ny undertrøje" name="New Undershirt"/> - <menu_item_call label="Nye underbukser" name="New Underpants"/> - <menu_item_call label="Nyt alpha lag" name="New Alpha"/> - <menu_item_call label="Ny tatovering" name="New Tattoo"/> - </menu> - <menu label="Nye kropsdele" name="New Body Parts"> - <menu_item_call label="Ny kropsbygning" name="New Shape"/> - <menu_item_call label="Ny hud" name="New Skin"/> - <menu_item_call label="Nyt hÃ¥r" name="New Hair"/> - <menu_item_call label="Nye øjne" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/da/menu_inventory_gear_default.xml deleted file mode 100644 index 4809b244635..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_inventory_gear_default.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nyt vindue" name="new_window"/> - <menu_item_check label="Sortér efter navn" name="sort_by_name"/> - <menu_item_check label="Sortér efter nyeste" name="sort_by_recent"/> - <menu_item_check label="Sortér altid mapper efter navn" name="sort_folders_by_name"/> - <menu_item_check label="Vis System mapper øverst" name="sort_system_folders_to_top"/> - <menu_item_call label="Vis filtre" name="show_filters"/> - <menu_item_call label="Nulstil filtre" name="reset_filters"/> - <menu_item_call label="Luk alle mapper" name="close_folders"/> - <menu_item_call label="Tøm "fundne genstande"" name="empty_lostnfound"/> - <menu_item_call label="Gem tekstur som" name="Save Texture As"/> - <menu_item_call label="Del" name="Share"/> - <menu_item_call label="Find original" name="Find Original"/> - <menu_item_call label="Find alle links" name="Find All Links"/> - <menu_item_call label="Tøm papirkurv" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_land.xml b/indra/newview/skins/minimal/xui/da/menu_land.xml deleted file mode 100644 index 1548f18f897..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="Om land" name="Place Information..."/> - <menu_item_call label="Sid her" name="Sit Here"/> - <menu_item_call label="Køb" name="Land Buy"/> - <menu_item_call label="Køb adgang" name="Land Buy Pass"/> - <menu_item_call label="Byg" name="Create"/> - <menu_item_call label="Tilpas terræn" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_landmark.xml b/indra/newview/skins/minimal/xui/da/menu_landmark.xml deleted file mode 100644 index 3cf2ffe375c..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Kopiér SLurl" name="copy"/> - <menu_item_call label="Slet" name="delete"/> - <menu_item_call label="Opret favorit" name="pick"/> - <menu_item_call label="Tilføj til favorit bjælke" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_login.xml b/indra/newview/skins/minimal/xui/da/menu_login.xml deleted file mode 100644 index 0b7a5040ae4..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_login.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Mig" name="File"> - <menu_item_call label="Indstillinger" name="Preferences..."/> - <menu_item_call label="Afslut [APP_NAME]" name="Quit"/> - </menu> - <menu label="Hjælp" name="Help"> - <menu_item_call label="[SECOND_LIFE] hjælp" name="Second Life Help"/> - <menu_item_call label="Om [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Vis debug menu" name="Show Debug Menu"/> - <menu label="Debug" name="Debug"> - <menu_item_call label="Vis debug opsætning" name="Debug Settings"/> - <menu_item_call label="UI/farve opsætning" name="UI/Color Settings"/> - <menu label="UI tests" name="UI Tests"/> - <menu_item_call label="Sæt vinduesstørrelse" name="Set Window Size..."/> - <menu_item_call label="Vis betingelser" name="TOS"/> - <menu_item_call label="Vis vigtig besked" name="Critical"/> - <menu_item_call label="Media Browser Test" name="Web Browser Test"/> - <menu_item_call label="Web Content Floater Test" name="Web Content Floater Test"/> - <menu_item_check label="Vis gitter vælger" name="Show Grid Picker"/> - <menu_item_call label="Vis notifikationskonsol" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/da/menu_mini_map.xml b/indra/newview/skins/minimal/xui/da/menu_mini_map.xml deleted file mode 100644 index 186dbd476ae..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom tæt" name="Zoom Close"/> - <menu_item_call label="Zoom mellem" name="Zoom Medium"/> - <menu_item_call label="Zoom langt" name="Zoom Far"/> - <menu_item_call label="Zoom standard" name="Zoom Default"/> - <menu_item_check label="Rotér kort" name="Rotate Map"/> - <menu_item_check label="Auto centrér" name="Auto Center"/> - <menu_item_call label="Fjern ref." name="Stop Tracking"/> - <menu_item_call label="Verdenskort" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_navbar.xml b/indra/newview/skins/minimal/xui/da/menu_navbar.xml deleted file mode 100644 index c04206824ac..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Vis koordinater" name="Show Coordinates"/> - <menu_item_check label="Vis oplysninger om parcel" name="Show Parcel Properties"/> - <menu_item_call label="Landemærke" name="Landmark"/> - <menu_item_call label="Klip" name="Cut"/> - <menu_item_call label="Kopiér" name="Copy"/> - <menu_item_call label="Sæt ind" name="Paste"/> - <menu_item_call label="Slet" name="Delete"/> - <menu_item_call label="Vælg alt" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/da/menu_nearby_chat.xml deleted file mode 100644 index be532ad406d..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Vis personer tæt pÃ¥..." name="nearby_people"/> - <menu_item_check label="Vis blokeret tekst" name="muted_text"/> - <menu_item_check label="Vis venne-ikoner" name="show_buddy_icons"/> - <menu_item_check label="Vis navne" name="show_names"/> - <menu_item_check label="Vis ikoner og navne" name="show_icons_and_names"/> - <menu_item_call label="Font størrelse" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/da/menu_notification_well_button.xml deleted file mode 100644 index 40b35b5fdd2..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Luk alle" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_object.xml b/indra/newview/skins/minimal/xui/da/menu_object.xml deleted file mode 100644 index ba62ccf90ce..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Berør" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Berør"/> - </menu_item_call> - <menu_item_call label="Redigér" name="Edit..."/> - <menu_item_call label="Byg" name="Build"/> - <menu_item_call label="Ã…ben" name="Open"/> - <menu_item_call label="Sid her" name="Object Sit"/> - <menu_item_call label="StÃ¥ op" name="Object Stand Up"/> - <menu_item_call label="Objekt profil" name="Object Inspect"/> - <menu_item_call label="Zoom In" name="Zoom In"/> - <context_menu label="Tag pÃ¥" name="Put On"> - <menu_item_call label="Tag pÃ¥" name="Wear"/> - <menu_item_call label="Tilføj" name="Add"/> - <context_menu label="Vedhæft" name="Object Attach"/> - <context_menu label="Vedhæft HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Administrér" name="Remove"> - <menu_item_call label="Rapportér misbrug" name="Report Abuse..."/> - <menu_item_call label="Blokér" name="Object Mute"/> - <menu_item_call label="Returnér" name="Return..."/> - </context_menu> - <menu_item_call label="Tag" name="Pie Object Take"/> - <menu_item_call label="Tag kopi" name="Take Copy"/> - <menu_item_call label="Betal" name="Pay..."/> - <menu_item_call label="Køb" name="Buy..."/> - <menu_item_call label="Slet" name="Delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_object_icon.xml b/indra/newview/skins/minimal/xui/da/menu_object_icon.xml deleted file mode 100644 index 08aeb633b64..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Objekt Profil..." name="Object Profile"/> - <menu_item_call label="Blokér..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/da/menu_outfit_gear.xml deleted file mode 100644 index 8b4c776496f..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Tag pÃ¥ - Erstat nuværende sæt" name="wear"/> - <menu_item_call label="Tag pÃ¥ - Tilføj til nuværende sæt" name="wear_add"/> - <menu_item_call label="Tag af - Fjern fra nuværende sæt" name="take_off"/> - <menu label="Nyt tøj" name="New Clothes"> - <menu_item_call label="Ny trøje" name="New Shirt"/> - <menu_item_call label="Nye bukser" name="New Pants"/> - <menu_item_call label="Nye sko" name="New Shoes"/> - <menu_item_call label="Nye strømper" name="New Socks"/> - <menu_item_call label="Ny jakke" name="New Jacket"/> - <menu_item_call label="Ny nederdel" name="New Skirt"/> - <menu_item_call label="Nye handsker" name="New Gloves"/> - <menu_item_call label="Ny undertrøje" name="New Undershirt"/> - <menu_item_call label="Nye underbukser" name="New Underpants"/> - <menu_item_call label="Ny alpha" name="New Alpha"/> - <menu_item_call label="Ny tatovering" name="New Tattoo"/> - </menu> - <menu label="Nye kropsdele" name="New Body Parts"> - <menu_item_call label="Ny figur" name="New Shape"/> - <menu_item_call label="Nyt hud" name="New Skin"/> - <menu_item_call label="Nyt hÃ¥r" name="New Hair"/> - <menu_item_call label="Nye øjne" name="New Eyes"/> - </menu> - <menu_item_call label="Omdøb sæt" name="rename"/> - <menu_item_call label="Slet sæt" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/da/menu_outfit_tab.xml deleted file mode 100644 index d6a6f2724fe..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Tag pÃ¥ - Erstat nuværende sæt" name="wear_replace"/> - <menu_item_call label="Tag pÃ¥ - Tilføj til nuværende sæt" name="wear_add"/> - <menu_item_call label="Tag af - Fjern fra nuværende sæt" name="take_off"/> - <menu_item_call label="Redigér sæt" name="edit"/> - <menu_item_call label="Omdøb sæt" name="rename"/> - <menu_item_call label="Slet sæt" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_participant_list.xml b/indra/newview/skins/minimal/xui/da/menu_participant_list.xml deleted file mode 100644 index 5951d3ffb98..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Sortér efter navn" name="SortByName"/> - <menu_item_check label="Sortér efter nylige talere" name="SortByRecentSpeakers"/> - <menu_item_call label="Profil" name="View Profile"/> - <menu_item_call label="Tilføj ven" name="Add Friend"/> - <menu_item_call label="Send besked" name="IM"/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Del" name="Share"/> - <menu_item_call label="Betal" name="Pay"/> - <menu_item_check label="Se person ikoner" name="View Icons"/> - <menu_item_check label="Blokér stemme" name="Block/Unblock"/> - <menu_item_check label="Blokér tekst" name="MuteText"/> - <context_menu label="Moderator valg" name="Moderator Options"> - <menu_item_check label="Tillad tekst chat" name="AllowTextChat"/> - <menu_item_call label="Sluk for denne deltager" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Fjern slukning for denne deltager" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Sluk lyd for alle" name="ModerateVoiceMute"/> - <menu_item_call label="Tænd lyd for alle" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/da/menu_people_friends_view_sort.xml deleted file mode 100644 index 32c5e6a6c7f..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Sortér efter navn" name="sort_name"/> - <menu_item_check label="Sortér efter status" name="sort_status"/> - <menu_item_check label="Vis person ikoner" name="view_icons"/> - <menu_item_check label="Vis tildelte rettigheder" name="view_permissions"/> - <menu_item_call label="Vis blokerede beboere og objekter" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_groups.xml b/indra/newview/skins/minimal/xui/da/menu_people_groups.xml deleted file mode 100644 index 841f58b6191..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Se info" name="View Info"/> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Aktivér" name="Activate"/> - <menu_item_call label="Forlad" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/da/menu_people_groups_view_sort.xml deleted file mode 100644 index 0b9a791530d..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Vis gruppe ikoner" name="Display Group Icons"/> - <menu_item_call label="Forlad valgte gruppe" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/da/menu_people_nearby.xml deleted file mode 100644 index 220ab8724f5..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Vis profil" name="View Profile"/> - <menu_item_call label="Tilføj som ven" name="Add Friend"/> - <menu_item_call label="Fjern venskab" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Kort" name="Map"/> - <menu_item_call label="Del" name="Share"/> - <menu_item_call label="Betal" name="Pay"/> - <menu_item_check label="Blokér/Fjern blokering" name="Block/Unblock"/> - <menu_item_call label="Tilbyd teleport" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/da/menu_people_nearby_multiselect.xml deleted file mode 100644 index 9318a0e3409..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Tilføj venner" name="Add Friends"/> - <menu_item_call label="Fjern venner" name="Remove Friend"/> - <menu_item_call label="Besked" name="IM"/> - <menu_item_call label="Opkald" name="Call"/> - <menu_item_call label="Del" name="Share"/> - <menu_item_call label="Betal" name="Pay"/> - <menu_item_call label="tilbyd teleport" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/da/menu_people_nearby_view_sort.xml deleted file mode 100644 index 2f35ff3c92c..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Sortér efter tidligere talere" name="sort_by_recent_speakers"/> - <menu_item_check label="Sortér efter navn" name="sort_name"/> - <menu_item_check label="Sortér efter afstand" name="sort_distance"/> - <menu_item_check label="Se ikoner for personer" name="view_icons"/> - <menu_item_call label="Vis blokerede beboere og objekter" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/da/menu_people_recent_view_sort.xml deleted file mode 100644 index d081f637f22..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Sortér efter nyeste" name="sort_most"/> - <menu_item_check label="Sortér efter navn" name="sort_name"/> - <menu_item_check label="Vis person ikoner" name="view_icons"/> - <menu_item_call label="Vis blokerede beboere og objekter" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_picks.xml b/indra/newview/skins/minimal/xui/da/menu_picks.xml deleted file mode 100644 index 81ee900773c..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Info" name="pick_info"/> - <menu_item_call label="Redigér" name="pick_edit"/> - <menu_item_call label="Teleportér" name="pick_teleport"/> - <menu_item_call label="Vis pÃ¥ kort" name="pick_map"/> - <menu_item_call label="Slet" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/da/menu_picks_plus.xml deleted file mode 100644 index d95071fbbb0..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Ny favorit" name="create_pick"/> - <menu_item_call label="Ny annonce" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_place.xml b/indra/newview/skins/minimal/xui/da/menu_place.xml deleted file mode 100644 index b87964ac142..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Opret et landemærke" name="landmark"/> - <menu_item_call label="Opret favorit" name="pick"/> - <menu_item_call label="Køb adgang" name="pass"/> - <menu_item_call label="Redigér" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/da/menu_place_add_button.xml deleted file mode 100644 index 7ad22535503..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Opret mappe" name="add_folder"/> - <menu_item_call label="Tilføj landemærke" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/da/menu_places_gear_folder.xml deleted file mode 100644 index 5f573c2363e..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_places_gear_folder.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_folder_gear"> - <menu_item_call label="Tilføj landemærke" name="add_landmark"/> - <menu_item_call label="Tilføj mappe" name="add_folder"/> - <menu_item_call label="Gendan genstand" name="restore_item"/> - <menu_item_call label="Klip" name="cut"/> - <menu_item_call label="Kopiér" name="copy_folder"/> - <menu_item_call label="Sæt ind" name="paste"/> - <menu_item_call label="Omdøb" name="rename"/> - <menu_item_call label="Slet" name="delete"/> - <menu_item_call label="Udvid" name="expand"/> - <menu_item_call label="Luk" name="collapse"/> - <menu_item_call label="Udvid alle mapper" name="expand_all"/> - <menu_item_call label="Luk alle mapper" name="collapse_all"/> - <menu_item_check label="Sortér efter dato" name="sort_by_date"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/da/menu_places_gear_landmark.xml deleted file mode 100644 index 13dbcdd42e2..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_places_gear_landmark.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_ladmark_gear"> - <menu_item_call label="Teleportér" name="teleport"/> - <menu_item_call label="Mere information" name="more_info"/> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Tilføj landemærke" name="add_landmark"/> - <menu_item_call label="Tilføj mappe" name="add_folder"/> - <menu_item_call label="Gendan genstand" name="restore_item"/> - <menu_item_call label="Klip" name="cut"/> - <menu_item_call label="Kopiér landemærke" name="copy_landmark"/> - <menu_item_call label="Kopiér SLurl" name="copy_slurl"/> - <menu_item_call label="Sæt ind" name="paste"/> - <menu_item_call label="Omdøb" name="rename"/> - <menu_item_call label="Slet" name="delete"/> - <menu_item_call label="Ã…ben alle mapper" name="expand_all"/> - <menu_item_call label="Luk alle mapper" name="collapse_all"/> - <menu_item_check label="Sortér efter dato" name="sort_by_date"/> - <menu_item_call label="Opret favorit" name="create_pick"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/da/menu_profile_overflow.xml deleted file mode 100644 index 6745007c996..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Kort" name="show_on_map"/> - <menu_item_call label="Betal" name="pay"/> - <menu_item_call label="Del" name="share"/> - <menu_item_call label="Blokér" name="block"/> - <menu_item_call label="Fjern blokering" name="unblock"/> - <menu_item_call label="Spark" name="kick"/> - <menu_item_call label="Frys" name="freeze"/> - <menu_item_call label="Fjern frys" name="unfreeze"/> - <menu_item_call label="Kundeservicemedarbejder (CSR)" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/da/menu_save_outfit.xml deleted file mode 100644 index 188229b5868..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Gem" name="save_outfit"/> - <menu_item_call label="Gem som" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/da/menu_script_chiclet.xml deleted file mode 100644 index cdd3212373d..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Luk" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_slurl.xml b/indra/newview/skins/minimal/xui/da/menu_slurl.xml deleted file mode 100644 index a9302e111ea..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Om URL" name="about_url"/> - <menu_item_call label="Teleportér til URL" name="teleport_to_url"/> - <menu_item_call label="Kort" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/da/menu_teleport_history_gear.xml deleted file mode 100644 index a1c25fea690..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Udvid alle mapper" name="Expand all folders"/> - <menu_item_call label="Luk alle mapper" name="Collapse all folders"/> - <menu_item_call label="Nulstil teleport historik" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/da/menu_teleport_history_item.xml deleted file mode 100644 index dbaec62087e..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teleportér" name="Teleport"/> - <menu_item_call label="Mere information" name="More Information"/> - <menu_item_call label="Kopiér til udklipsholder" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/da/menu_teleport_history_tab.xml deleted file mode 100644 index c4d4bb4b5b4..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Ã…ben" name="TabOpen"/> - <menu_item_call label="Luk" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_text_editor.xml b/indra/newview/skins/minimal/xui/da/menu_text_editor.xml deleted file mode 100644 index 3ff31ea232f..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Klip" name="Cut"/> - <menu_item_call label="Kopiér" name="Copy"/> - <menu_item_call label="Sæt ind" name="Paste"/> - <menu_item_call label="Slet" name="Delete"/> - <menu_item_call label="Vælg alt" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/da/menu_topinfobar.xml deleted file mode 100644 index 08d1c25d6f2..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Vis koordinater" name="Show Coordinates"/> - <menu_item_check label="Vis egenskaber for parcel" name="Show Parcel Properties"/> - <menu_item_call label="Landemærke" name="Landmark"/> - <menu_item_call label="Kopi" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_agent.xml b/indra/newview/skins/minimal/xui/da/menu_url_agent.xml deleted file mode 100644 index 491586f3b46..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis beboer profil" name="show_agent"/> - <menu_item_call label="Kopiér navn til udklipsholder" name="url_copy_label"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_group.xml b/indra/newview/skins/minimal/xui/da/menu_url_group.xml deleted file mode 100644 index c776159b0a2..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis gruppeinformation" name="show_group"/> - <menu_item_call label="Kopiér gruppe til udklipsholder" name="url_copy_label"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_http.xml b/indra/newview/skins/minimal/xui/da/menu_url_http.xml deleted file mode 100644 index 4398777a391..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Indlæs" name="url_open"/> - <menu_item_call label="Ã…ben i intern browser" name="url_open_internal"/> - <menu_item_call label="Ã…ben i ekstern browser" name="url_open_external"/> - <menu_item_call label="Kopiér URL til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/da/menu_url_inventory.xml deleted file mode 100644 index 9a7de23e065..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis beholdningsgenstand" name="show_item"/> - <menu_item_call label="Kopiér navn til udklipsholder" name="url_copy_label"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_map.xml b/indra/newview/skins/minimal/xui/da/menu_url_map.xml deleted file mode 100644 index ff4a4d5174f..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Teleport til lokation" name="teleport_to_location"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/da/menu_url_objectim.xml deleted file mode 100644 index e27cf849593..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis objekt information" name="show_object"/> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Teleportér til objekt lokation" name="teleport_to_object"/> - <menu_item_call label="Kopiér objekt navn til udklipsholder" name="url_copy_label"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/da/menu_url_parcel.xml deleted file mode 100644 index 0f21e14f661..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis information om parcel" name="show_parcel"/> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/da/menu_url_slapp.xml deleted file mode 100644 index dd25db2aa71..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Kør denne kommando" name="run_slapp"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/da/menu_url_slurl.xml deleted file mode 100644 index 8d84a138bb7..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Vis information" name="show_place"/> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Teleportér til lokation" name="teleport_to_location"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/da/menu_url_teleport.xml deleted file mode 100644 index e0ca7b920db..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Teleport" name="teleport"/> - <menu_item_call label="Vis pÃ¥ kort" name="show_on_map"/> - <menu_item_call label="Kopiér SLurl til udklipsholder" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_viewer.xml b/indra/newview/skins/minimal/xui/da/menu_viewer.xml deleted file mode 100644 index 93b247f8414..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Hjælp" name="Help"> - <menu_item_call label="[SECOND_LIFE] Help" name="Second Life Help"/> - </menu> - <menu label="Avanceret" name="Advanced"> - <menu label="Shortcuts" name="Shortcuts"> - <menu_item_check label="Flyv" name="Fly"/> - <menu_item_call label="Luk vindue" name="Close Window"/> - <menu_item_call label="Luk alle vinduer" name="Close All Windows"/> - <menu_item_call label="Nulstil udsyn" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/da/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/da/menu_wearable_list_item.xml deleted file mode 100644 index 63f4b0b3884..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Erstat" name="wear_replace"/> - <menu_item_call label="Tag pÃ¥" name="wear_wear"/> - <menu_item_call label="Tilføj" name="wear_add"/> - <menu_item_call label="Tag af" name="take_off_or_detach"/> - <menu_item_call label="Tag af" name="detach"/> - <context_menu label="Vedhæft til" name="wearable_attach_to"/> - <context_menu label="Vedhæft til HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Tag af" name="take_off"/> - <menu_item_call label="Redigér" name="edit"/> - <menu_item_call label="Genstandsprofil" name="object_profile"/> - <menu_item_call label="Vis original" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/da/menu_wearing_gear.xml deleted file mode 100644 index 515a15b287e..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Redigér sæt" name="edit"/> - <menu_item_call label="Tag af" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/da/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/da/menu_wearing_tab.xml deleted file mode 100644 index c0db7b68426..00000000000 --- a/indra/newview/skins/minimal/xui/da/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Tag af" name="take_off"/> - <menu_item_call label="Tag af" name="detach"/> - <menu_item_call label="Redigér sæt" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/da/notifications.xml b/indra/newview/skins/minimal/xui/da/notifications.xml deleted file mode 100644 index 3d003ea3b3b..00000000000 --- a/indra/newview/skins/minimal/xui/da/notifications.xml +++ /dev/null @@ -1,1831 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <global name="skipnexttime"> - Vis ikke dette igen - </global> - <global name="alwayschoose"> - Vælg altid dette - </global> - <global name="implicitclosebutton"> - Luk - </global> - <template name="okbutton"> - <form> - <button name="OK_okbutton" text="$yestext"/> - </form> - </template> - <template name="okignore"> - <form> - <button name="OK_okignore" text="$yestext"/> - </form> - </template> - <template name="okcancelbuttons"> - <form> - <button name="OK_okcancelbuttons" text="$yestext"/> - <button name="Cancel_okcancelbuttons" text="$notext"/> - </form> - </template> - <template name="okcancelignore"> - <form> - <button name="OK_okcancelignore" text="$yestext"/> - <button name="Cancel_okcancelignore" text="$notext"/> - </form> - </template> - <template name="okhelpbuttons"> - <form> - <button name="OK_okhelpbuttons" text="$yestext"/> - <button name="Help" text="$helptext"/> - </form> - </template> - <template name="yesnocancelbuttons"> - <form> - <button name="Yes" text="$yestext"/> - <button name="No" text="$notext"/> - <button name="Cancel_yesnocancelbuttons" text="$canceltext"/> - </form> - </template> - <notification functor="GenericAcknowledge" label="Ukendt notificeringsbesked" name="MissingAlert"> - Din version af [APP_NAME] kan ikke vise den besked den lige modtog. Undersøg venligst at du har den nyester version af klienten installeret. - -Fejl detaljer: Beskeden kaldet '[_NAME]' blev ikke fundet i notifications.xml. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FloaterNotFound"> - Floater error: Kunne ikke finde følgende kontrol: - -[CONTROLS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TutorialNotFound"> - Der er i øjeblikket ingen tilgængelig guide. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GenericAlert"> - [MESSAGE] - </notification> - <notification name="GenericAlertYesCancel"> - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Ja"/> - </notification> - <notification name="BadInstallation"> - Der opstod en fejl ved opdatering af [APP_NAME]. Please [http://get.secondlife.com download the latest version] of the Viewer. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LoginFailedNoNetwork"> - Kunne ikke tilslutte til [SECOND_LIFE_GRID]. - '[DIAGNOSTIC]' -Check at Internet forbindelsen fungerer korrekt. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MessageTemplateNotFound"> - Besked template [PATH] kunne ikke findes. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="WearableSave"> - Gem ændringer til nuværende tøj/krops del? - <usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Gem ikke" yestext="Gem"/> - </notification> - <notification name="CompileQueueSaveText"> - Der var problemer med upload af teksten til et script af følgende Ã¥rsager: [REASON]. Prøv igen senere. - </notification> - <notification name="CompileQueueSaveBytecode"> - Der var problemer med at uploade den kompileret script af følgende Ã¥rsager: [REASON]. Prøv igen senere. - </notification> - <notification name="WriteAnimationFail"> - Der var et problem med skrivning af animations data. Prøv igen senere. - </notification> - <notification name="UploadAuctionSnapshotFail"> - Der var problemer med at uploade billedet til auktionen af følgende Ã¥rsager: [REASON] - </notification> - <notification name="UnableToViewContentsMoreThanOne"> - Ude af stand til at se indholdet af mere end ét element ad gangen. -Vælg kun en genstand, og prøv igen. - </notification> - <notification name="SaveClothingBodyChanges"> - Gem alle ændringer til tøj/krops dele? - <usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Gem Ikke" yestext="Gem Alt"/> - </notification> - <notification name="FriendsAndGroupsOnly"> - 'Ikke-venner' vil ikke vide, at du har valgt at ignorere deres opkald og personlige beskeder (IM) - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FavoritesOnLogin"> - Bemærk: NÃ¥r du aktiverer dette valg, kan enhver der bruger denne computer se dine favorit lokationer. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GrantModifyRights"> - Tildeling af ændre-rettigheder til andre beboere, tillader dem at ændre, slette eller tage ETHVERT objekt du mÃ¥tte have. Vær MEGET forsigtig ved tildeling af denne rettighed. -Ønsker du at give ændre-rettgheder til [NAME]? - <usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="GrantModifyRightsMultiple"> - At give redigerings rettigheder til en anden beboer, giver dem mulighed for at ændre, slette eller tage ALLE genstande, du mÃ¥tte have i verden. Vær MEGET forsigtig nÃ¥r uddeler denne tilladelse. -Ønsker du at ændre rettigheder for de valgte beboere? - <usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="RevokeModifyRights"> - Ønsker du at tilbagekalder ændre-rettigheder for [NAME]? - <usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="RevokeModifyRightsMultiple"> - Vil du tilbagekalde rettighederne for de valgte beboere? - <usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="UnableToCreateGroup"> - Kunne ikke oprette gruppe. -[MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PanelGroupApply"> - [NEEDS_APPLY_MESSAGE] -[WANT_APPLY_MESSAGE] - <usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Ignorer Ændringer" yestext="Godkend Ændringer"/> - </notification> - <notification name="MustSpecifyGroupNoticeSubject"> - Du skal angive et emne for at sende en gruppe besked. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AddGroupOwnerWarning"> - Du er ved at tilføje medlemmer til rollen som [ROLE_NAME]. -Medlemmer ikke kan fjernes fra denne rolle. -Medlemmerne skal fratræde sin rolle selv. -Er du sikker pÃ¥ du vil fortsætte? - <usetemplate ignoretext="Bekræft, før jeg tilføjer en ny gruppe ejer" name="okcancelignore" notext="Nej" yestext="Ja"/> - </notification> - <notification name="AssignDangerousActionWarning"> - Du er ved at tilføje muligheden for '[ACTION_NAME]' til -rollen '[ROLE_NAME]'. - -*ADVARSEL* -Ethvert medlem i en rolle med denne evne kan tildele sig selv -- og et andet medlem - roller med flere beføjelser, end de har i øjeblikket, potentielt kan de ophøje sig selv til nær-Ejer magt. Være sikker pÃ¥, at du ved, hvad du laver, før tildeling af denne evne. - -Add this Ability to '[ROLE_NAME]'? - <usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="AttachmentDrop"> - Du er ved at smide et vedhæng. - Er du sikker pÃ¥ at du vil fortsætte? - <usetemplate ignoretext="Bekræft før vedhæng smides" name="okcancelignore" notext="Nej" yestext="Ja"/> - </notification> - <notification name="JoinGroupNoCost"> - Du melder dig ind i gruppen [NAME]. -Ønsker du at fortsætte? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Bliv medlem"/> - </notification> - <notification name="JoinGroupCannotAfford"> - Tilmelding til denne gruppe koster L$[COST]. -Du har ikke nok L$ til denne tilmelding. - </notification> - <notification name="CreateGroupCost"> - Oprettelse af denne gruppe vil koste L$100. -Grupper skal have mindst 2 medlemmer, ellers slettes de for altid. -Invitér venligst medlemmer indenfor 48 timer. - <usetemplate canceltext="Annullér" name="okcancelbuttons" notext="Annullér" yestext="Oprete en gruppe for L$100"/> - </notification> - <notification name="ConfirmLandSaleToAnyoneChange"> - ADVARSEL: Ved at vælge 'sælg til enhver' bliver til land tilgængeligt for alle i hele [SECOND_LIFE], ogsÃ¥ de som ikke er i denne region. - -Det valgte antal [LAND_SIZE] m² land bliver sat til salg. -Salgprisen vil være [SALE_PRICE]L$ og vil være til salg til [NAME]. - </notification> - <notification name="MultipleFacesSelected"> - Flere overflader er valgt for øjeblikket. -Hvis du fortsætter med denne aktion, vil flere instanser af media blive vist pÃ¥ overfladerne pÃ¥ objektet. -Hvis media kun skal vises pÃ¥ en overflade, vælg 'Vælg overflade' og klik pÃ¥ den relevante overflade og klik pÃ¥ tilføj. - <usetemplate ignoretext="Media vil blive sat pÃ¥ flere valgte overflader" name="okcancelignore" notext="Annullér" yestext="OK"/> - </notification> - <notification name="PromptMissingSubjMsg"> - E-mail dette billede med standard emne eller besked? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/> - </notification> - <notification name="ErrorUploadingPostcard"> - Der var et problem med at sende billedet pÃ¥ grund af følgende: [REASON] - </notification> - <notification name="MaxAttachmentsOnOutfit"> - Kunne ikke vedhæfte objekt. -Overskrider vedhæftnings begrænsning pÃ¥ [MAX_ATTACHMENTS] objekter. Tag venligst en anden vedhæftning af først. - </notification> - <notification name="MustHaveAccountToLogIn"> - Ups. Noget mangler at blive udfyldt. -Du skal indtaste brugernavnet for din avatar. - -Du skal bruge en konto for at benytte [SECOND_LIFE]. Ønsker du at oprette en konto nu? - <usetemplate name="okcancelbuttons" notext="Prøv igen" yestext="Lav ny konto"/> - </notification> - <notification name="InvalidCredentialFormat"> - Du skal indtaste enten dit brugernavn eller bÃ¥de dit fornavn og efternavn for din avatar i brugernavn feltet, derefter log pÃ¥ igen. - </notification> - <notification name="DeleteMedia"> - Du har valgt at slette media tilknyttet denne overflade. -Er du sikker pÃ¥ at du vil fortsætte? - <usetemplate ignoretext="Bekræft før jeg slette media i et objekt" name="okcancelignore" notext="Nej" yestext="Ja"/> - </notification> - <notification name="ClassifiedInsufficientFunds"> - Ikke nok penge til at oprette annonce. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeleteAvatarPick"> - Slet favorit <nolink>[PICK]</nolink>? - </notification> - <notification name="DeleteOutfits"> - Slet valgte sæt? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/> - </notification> - <notification name="CacheWillClear"> - Cache vil blive tømt ved næste genstart af [APP_NAME]. - </notification> - <notification name="CacheWillBeMoved"> - Cache vil blive fjernet ved næste genstart af [APP_NAME]. -Note: This will clear the cache. - </notification> - <notification name="ChangeConnectionPort"> - Port ændringer vil blive effektueret ved næste genstart af [APP_NAME]. - </notification> - <notification name="ChangeSkin"> - Den nye hud vil blive vist ved næste genstart af [APP_NAME]. - </notification> - <notification name="ChangeLanguage"> - Ændring af sprog vil først have effekt efter genstart af [APP_NAME]. - </notification> - <notification name="StartRegionEmpty"> - Ups, din start region er ikke angivet. -Indtast venligst navn pÃ¥ region i Start lokation feltet eller vælg "Min sidste lokation" eller "Hjem". - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="UnsupportedHardware"> - Din computer opfylder ikke minimumskravene til [APP_NAME]. Du kan risikere nedsat hastighed. Desværre kan [SUPPORT_SITE] ikke tilbyde teknisk support til konfigurationer der ikke er understøttet. - -Besøg [_URL] for yderligere information? - <usetemplate ignoretext="Din computer hardware understøttes ikke" name="okcancelignore" notext="No" yestext="Yes"/> - </notification> - <notification name="UnknownGPU"> - Dit system indeholder et grafikkort som [APP_NAME] ikke kan genkende. -Dette skyldes ofte nyt hardware som endnu ikke er blevet testet med [APP_NAME]. Kortet vil sandsynligvis virke fint, med det kan være nødvendigt at justere grafik opsætningen. -(Mig > Indstillinger > Grafik). - <form name="form"> - <ignore name="ignore" text="Dit grafikkort kunne ikke identificeres"/> - </form> - </notification> - <notification name="DisplaySettingsNoShaders"> - [APP_NAME] gik ned ved inititalisering af grafik drivere. -Grafik kvaliteten sættes til 'lav' for at undgÃ¥ typiske problemer med drivere. Dette vil slÃ¥ visse grafik funktioner fra. -Vi anbefaler at opdatere driverne til dit grafikkort. -Grafik kvaliteten kan forbedres i indstillinger > Grafik. - </notification> - <notification name="CannotCopyWarning"> - Du har ikke rettigheder til at kopiere følgende genstande: -[ITEMS] -og du vil miste dem fra din beholdning hvis du forærer dem væk. Er du sikker pÃ¥ at du vil tilbyde disse genstande? - </notification> - <notification name="CannotGiveCategory"> - Du har ikke tilladelse til at videreføre den valgte mappe. - </notification> - <notification name="EjectAvatarFromGroup"> - Du har smidt [AVATAR_NAME] ud af gruppen [GROUP_NAME] - </notification> - <notification name="PromptGoToCurrencyPage"> - [EXTRA] - -GÃ¥ til [_URL] for information om køb af L$? - </notification> - <notification name="SoundFileInvalidChunkSize"> - Fejl i WAV fil (chunk size): -[FILE] - </notification> - <notification name="CannotEncodeFile"> - Kunne ikke 'forstÃ¥' filen: [FILE] - </notification> - <notification name="CorruptedProtectedDataStore"> - Vi kan ikke udfylde dit brugernavn og password. Dette kan ske hvis du ændrer netværksopsætning - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DoNotSupportBulkAnimationUpload"> - [APP_NAME] understøtter p.t. ikke at send flere animationsfiler ad gangen. - </notification> - <notification name="LandmarkCreated"> - Du har tilføjet "[LANDMARK_NAME]" til din [FOLDER_NAME] mappe. - </notification> - <notification name="LandmarkAlreadyExists"> - Du har allerede et landemærke for denne lokation. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotOpenScriptObjectNoMod"> - Ikke muligt at Ã¥bne script i objekt uden 'Redigére' rettigheder. - </notification> - <notification name="CouldNotTeleportReason"> - Teleport fejlede. -[REASON] - </notification> - <notification name="invalid_tport"> - Der opstod et problem ved din teleport. Det kan være nødvendigt at logge ind igen, før du kan teleporte. -Hvis du bliver ved med at fÃ¥ denne fejl, check venligst [SUPPORT_SITE]. - </notification> - <notification name="invalid_region_handoff"> - Der opstod et problem ved skift til ny region. Det kan være nødvendigt at logge ind igen, før du kan skifte til andre regioner. -Hvis du bliver ved med at fÃ¥ denne fejl, check venligst [SUPPORT_SITE]. - </notification> - <notification name="blocked_tport"> - Beklager, teleport er blokeret lige nu. Prøv igen senere. -Hvis du stadig ikke kan teleporte, prøv venligst at logge ud og ligge ind for at løse dette problem. - </notification> - <notification name="nolandmark_tport"> - Beklager, systemet kunne ikke finde landmærke destinationen. - </notification> - <notification name="timeout_tport"> - Beklager, systemet kunne ikke fuldføre teleport forbindelse. -Prøv igen om lidt. - </notification> - <notification name="noaccess_tport"> - Beklager, du har ikke adgang til denne teleport destination. - </notification> - <notification name="missing_attach_tport"> - Dine vedhæng er ikke ankommet endnu. Prøv at vente lidt endnu eller log ud og ind igen før du prøver at teleporte igen. - </notification> - <notification name="too_many_uploads_tport"> - Tekniske problemer hindrer at din teleport kan gennemføres. -Prøv venligst igen om lidt eller vælg et mindre travlt omrÃ¥de. - </notification> - <notification name="expired_tport"> - Beklager, men systemet kunne ikke fuldføre din teleport i rimelig tid. Prøv venligst igen om lidt. - </notification> - <notification name="expired_region_handoff"> - Beklager, men systemet kunne ikke fuldføre skift til anden region i rimelig tid. Prøv venligst igen om lidt. - </notification> - <notification name="no_host"> - Ikke muligt at fine teleport destination. Destinationen kan være midlertidig utilgængelig eller findes ikke mere. -Prøv evt. igen om lidt. - </notification> - <notification name="no_inventory_host"> - Beholdningssystemet er ikke tilgængelig lige nu. - </notification> - <notification name="ForceOwnerAuctionWarning"> - Denne parcel er sat pÃ¥ auktion. Gennemtving ejerskab vil annullere denne auktion og mÃ¥ske irritere nogen beboere hvis bud allerede er afgivet. -Gennemtving ejerskab? - </notification> - <notification name="CannotBuyLandNoRegion"> - Ikke i stand til at købe land: -Kan ikke finde region som dette land er i. - </notification> - <notification name="CannotCloseFloaterBuyLand"> - Du kan ikke lukke 'Køb land' vinduet før [APP_NAME] har vurderet en pris pÃ¥ denne transaktion. - </notification> - <notification name="CannotDeedLandNoRegion"> - Land kunne ikke dedikeres: -Kunne ikke finde den region land ligger i. - </notification> - <notification name="CannotReleaseLandRegionNotFound"> - Kunne ikke efterlade land: -Kan ikke finde den region landet ligger i. - </notification> - <notification name="CannotDivideLandNoRegion"> - Kunne ikke opdele land: -Kan ikke finde den region landet ligger i. - </notification> - <notification name="CannotJoinLandNoRegion"> - Kunne ikke opdele land: -Kan ikke finde den region landet ligger i. - </notification> - <notification name="CannotSaveToAssetStore"> - Kunne ikke gemme [NAME] i den centrale database. -Dette er typisk en midlertidig fejl. Venligst rediger og gem igen om et par minutter. - </notification> - <notification name="YouHaveBeenLoggedOut"> - Du er blevet logget af [SECOND_LIFE] - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Afslut" yestext="Se PB & Chat"/> - </notification> - <notification label="Tilføj ven" name="AddFriendWithMessage"> - Venner kan give tilladelse til at følge hinanden -pÃ¥ Verdenskortet eller modtage status opdateringer. - -Tilbyd venskab til [NAME]? - <form name="form"> - <input name="message"> - Vil du være min ven? - </input> - <button name="Offer" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification label="Gem sæt" name="SaveOutfitAs"> - Gem det som jeg har pÃ¥ som nyt sæt: - <form name="form"> - <input name="message"> - [DESC] (ny) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification label="Gem" name="SaveWearableAs"> - Gem genstand til beholdning som: - <form name="form"> - <input name="message"> - [DESC] (ny) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification label="Omdøb sæt" name="RenameOutfit"> - Nyt navn til sæt: - <form name="form"> - <input name="new_name"> - [NAME] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="RemoveFromFriends"> - Ønsker du at fjerne [NAME] fra din venneliste? - </notification> - <notification name="ConfirmItemDeleteHasLinks"> - Mindst en af genstandene har lænkede genstande der peger pÃ¥ den. Hvis du sletter denne genstand, vil lænkninger ikke virke mere. Det anbefales kraftigt at fjerne lænkninger først. - -Er du sikker pÃ¥ at du vil slette disse genstande? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/> - </notification> - <notification name="DeedLandToGroupWithContribution"> - Ved at dedikere denne parcel, vil gruppen skulle have og vedblive med at have nok kreditter til brug af land. -Dedikeringen vil inkludere samtidige bidrag til gruppen fra '[NAME]'. -Købsprisen for dette land er ikke refunderet til ejeren. Hvis en dedikeret parvel sælges, vil salgsprisen blive delt ligeligt mellem gruppe medlemmerne. - -Dediker disse [AREA] m² land til gruppen '[GROUP_NAME]'? - </notification> - <notification name="ErrorMessage"> - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarMovedDesired"> - Den ønskede lokation er ikke tilgængelig lige nu. -Du er blevet flyttet til en region in nærheden. - </notification> - <notification name="AvatarMovedLast"> - Din sidste lokation er ikke tilgængelig for øjeblikket. -Du er blevet flyttet til en region in nærheden. - </notification> - <notification name="AvatarMovedHome"> - Din hjemme lokation er ikke tilgængelig for øjeblikket. -Du er blevet flyttet til en region in nærheden. -Du kan mÃ¥ske ønske at sætte en ny hjemme lokation. - </notification> - <notification name="ClothingLoading"> - Dit tøj hentes stadig ned. -Du kan bruge [SECOND_LIFE] normalt og andre personer vil se dig korrekt. - <form name="form"> - <ignore name="ignore" text="Det tager lang tid at hente tøj"/> - </form> - </notification> - <notification name="FirstRun"> - [APP_NAME] installationen er færdig. - -Hvis det er første gang du bruger [SECOND_LIFE], skal du først oprette en konto for at logge pÃ¥. -Vend tilbage til [http://join.secondlife.com secondlife.com] for at oprette en ny konto? - </notification> - <notification name="LoginPacketNeverReceived"> - Der er problemer med at koble pÃ¥. Der kan være et problem med din Internet forbindelse eller [SECOND_LIFE_GRID]. - -Du kan enten checke din Internet forbindelse og prøve igen om lidt, klikke pÃ¥ Hjælp for at se [SUPPORT_SITE] siden, eller klikke pÃ¥ Teleport for at forsøge at teleportere hjem. - </notification> - <notification name="CantTeleportToGrid"> - Kunne ikke teleportere til [SLURL] da den er pÃ¥ et andet net ([GRID]) end det nuværende net ([CURRENT_GRID]). Luk venligst din klient og prøv igen. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GeneralCertificateError"> - Kunne ikke opnÃ¥ forbindelse til server. -[REASON] - -Vedrørende: [SUBJECT_NAME_STRING] -Fra: [ISSUER_NAME_STRING] -Valid fra: [VALID_FROM] -Valid til: [VALID_TO] -MD5 Fingerprint: [SHA1_DIGEST] -SHA1 Fingerprint: [MD5_DIGEST] -Key Usage: [KEYUSAGE] -Extended Key Usage: [EXTENDEDKEYUSAGE] -Subject Key Identifier: [SUBJECTKEYIDENTIFIER] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TrustCertificateError"> - Certifikationsmyndighed for denne server er ikke kendt. - -Certifikat information: -Vedrørende: [SUBJECT_NAME_STRING] -Fra: [ISSUER_NAME_STRING] -Valid fra: [VALID_FROM] -Valid til: [VALID_TO] -MD5 Fingerprint: [SHA1_DIGEST] -SHA1 Fingerprint: [MD5_DIGEST] -Key Usage: [KEYUSAGE] -Extended Key Usage: [EXTENDEDKEYUSAGE] -Subject Key Identifier: [SUBJECTKEYIDENTIFIER] - -Ønsker du at stole pÃ¥ denne myndighed? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Stol pÃ¥"/> - </notification> - <notification name="NotEnoughCurrency"> - [NAME] L$ [PRICE] Du har ikke nok L$ til dette. - </notification> - <notification name="GrantedModifyRights"> - [NAME] har givet dig rettighed til at redigere sine objekter. - </notification> - <notification name="RevokedModifyRights"> - Dinne rettigheder til at redigere objekter ejet af [NAME] er fjernet - </notification> - <notification name="BuyOneObjectOnly"> - Ikke muligt at købe mere end et objekt ad gangen. Vælg kun ét objekt og prøv igen. - </notification> - <notification name="DownloadWindowsMandatory"> - En ny version af [APP_NAME] er tilgængelig. -[MESSAGE] -Du skal hente denne version for at bruge [APP_NAME]. - </notification> - <notification name="DownloadWindows"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - </notification> - <notification name="DownloadWindowsReleaseForDownload"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - </notification> - <notification name="DownloadLinuxMandatory"> - En ny version af [APP_NAME] er tilgængelig. -[MESSAGE] -Du skal hente denne version for at kunne benytte [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="Afslut" yestext="Hent"/> - </notification> - <notification name="DownloadLinux"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - <usetemplate name="okcancelbuttons" notext="Fortsæt" yestext="Hent"/> - </notification> - <notification name="DownloadLinuxReleaseForDownload"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - <usetemplate name="okcancelbuttons" notext="Fortsæt" yestext="Hent"/> - </notification> - <notification name="DownloadMacMandatory"> - En ny version af [APP_NAME] er tilgængelig. -[MESSAGE] -Du skal hente denne opdatering for at bruge [APP_NAME]. - -Download til dit Program bibliotek? - </notification> - <notification name="DownloadMac"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - -Download til dit Program bibliotek? - </notification> - <notification name="DownloadMacReleaseForDownload"> - En opdateret version af [APP_NAME] er tilgængelig. -[MESSAGE] -Denne opdatering er ikke pÃ¥krævet, men det anbefales at installere den for at opnÃ¥ øget hastighed og forbedret stabilitet. - -Download til dit Program bibliotek? - </notification> - <notification name="FailedUpdateInstall"> - Der opstod en fejl ved installation af opdatering. -Hent og installér venligst den nyeste version fra -http://secondlife.com/download. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FailedRequiredUpdateInstall"> - Vi kunne ikke installere en pÃ¥krævet opdatering. -Du kan ikke logge pÃ¥ før [APP_NAME] er blevet opdateret. - -Hent og installer venligst den nyeste klien fra -http://secondlife.com/download. - <usetemplate name="okbutton" yestext="Afslut"/> - </notification> - <notification name="UpdaterServiceNotRunning"> - Dette er en pÃ¥krævet opdatering af din Second Life installation. - -Du kan downloade opdateringen fra http://www.secondlife.com/downloads -eller du kan installere den nu. - <usetemplate name="okcancelbuttons" notext="Afslut Second Life" yestext="Hent og installér nu"/> - </notification> - <notification name="DownloadBackgroundTip"> - Vi har hentet en opdatering til din [APP_NAME] installation. -Version [VERSION] [[RELEASE_NOTES_FULL_URL] Information about this update] - <usetemplate name="okcancelbuttons" notext="Senere..." yestext="Installér nu og genstart [APP_NAME]"/> - </notification> - <notification name="DownloadBackgroundDialog"> - Vi har hentet en opdatering til din [APP_NAME] installation. -Version [VERSION] [[RELEASE_NOTES_FULL_URL] Information about this update] - <usetemplate name="okcancelbuttons" notext="Senere..." yestext="Installér nu og genstart [APP_NAME]"/> - </notification> - <notification name="RequiredUpdateDownloadedVerboseDialog"> - Vi har hentet en pÃ¥krævet opdatering. -Version [VERSION] - -Du skal genstarte [APP_NAME] for at installere denne opdatering. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RequiredUpdateDownloadedDialog"> - Du skal genstarte [APP_NAME] for at installere opdateringen. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeedObjectToGroup"> - <usetemplate ignoretext="Bekræft før jeg dedikerer et objekt til en gruppe" name="okcancelignore" notext="Cancel" yestext="Deed"/> - </notification> - <notification name="WebLaunchExternalTarget"> - Ønsker du at Ã¥bne din web browser for at se dette indhold? - <usetemplate ignoretext="Start min browser for at se hjemmesider" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchJoinNow"> - GÃ¥ til [http://secondlife.com/account/ Dashboard] for at administrere din konto? - <usetemplate ignoretext="Start min browser for at administrere min konto" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchSecurityIssues"> - <usetemplate ignoretext="Start min browser for at lære hvordan man rapporterer sikkerhedsproblemer" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchQAWiki"> - <usetemplate ignoretext="Start min browser for at se QA Wiki" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchPublicIssue"> - <usetemplate ignoretext="Start min browser for at bruge det Linden Labs sagsstyring" name="okcancelignore" notext="Cancel" yestext="Go to page"/> - </notification> - <notification name="WebLaunchSupportWiki"> - <usetemplate ignoretext="Start min browser for at se bloggen" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLGuide"> - Ønsker du at Ã¥bne 'Scripting Guide' for hjælp til scripting? - <usetemplate ignoretext="Start min browser for at se Scripting Guide" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLWiki"> - Ønsker du at besøge LSL portalen for hjælp til scripting? - <usetemplate ignoretext="Start min browser for at besøge LSL Portalen" name="okcancelignore" notext="Cancel" yestext="Go to page"/> - </notification> - <notification name="ReturnToOwner"> - <usetemplate ignoretext="Bekræft før objekter returneres til deres ejere" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="ConfirmKick"> - Er du SIKKER pÃ¥ at du vil sparke alle beboere ud? - <usetemplate name="okcancelbuttons" notext="Cancel" yestext="Spark alle beboere ud"/> - </notification> - <notification name="MuteLinden"> - Beklager, men du kan ikke blokere en Linden. - </notification> - <notification name="CannotStartAuctionAlreadyForSale"> - Du kan ikke starte en auktion pÃ¥ en parcel som allerede er sat til salg. Fjern 'til salg' muligheden hvis du ønsker at starte en auktion. - </notification> - <notification label="Blokering af objekt via navn mislykkedes" name="MuteByNameFailed"> - Du har allerede blokeret dette navn. - </notification> - <notification name="BusyModeSet"> - Sat til 'optaget'. -Chat og personlige beskeder vil blive skjult. Personlige beskeder vil fÃ¥ din 'optaget' besked. Alle teleport invitationer vil blive afvist. Alle objekter sendt til dig vil ende i papirkurven. - <usetemplate ignoretext="Jeg skrifter min status til 'optaget" name="okignore" yestext="OK"/> - </notification> - <notification name="JoinedTooManyGroupsMember"> - Du er oppe pÃ¥ det maksimale antal grupper. Forlad venligst en anden gruppe inden du melder dig ind i denne, eller afvis tilbuddet. -[NAME] har inviteret dig til en gruppe. - </notification> - <notification name="JoinedTooManyGroups"> - Du er oppe pÃ¥ det maksimale antal grupper. Forlad venligst en gruppe inden du melder dig ind i enndnu en gruppe eller opretter en ny. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="KickUser"> - Spark beboere ud med hvilken besked? - </notification> - <notification name="FreezeUser"> - Frys beboeren med hvilken besked? - </notification> - <notification name="UnFreezeUser"> - Fjern frysning af beboeren med hvilken besked? - </notification> - <notification name="SetDisplayNameSuccess"> - Hej [DISPLAY_NAME]! - -Præcist som i virkeligheden tager det et stykke tid at vænne sig til et nyt navn. Det kan tage flere dage for [http://wiki.secondlife.com/wiki/Setting_your_display_name your name to update] i objekter, scripts, søgninger m.v. - </notification> - <notification name="SetDisplayNameBlocked"> - Beklager, du kan ikke ændre dit visningsnavn. Hvis du mener dette skyldes en fejl, kontakt venligst support. - </notification> - <notification name="SetDisplayNameFailedLength"> - Beklager, mavnet er for langt. Visningsnavne kan ikke indholde mere end [LENGTH] karakterer. - -Prøv venligst med et kortere navn. - </notification> - <notification name="SetDisplayNameFailedGeneric"> - Beklager, vi kunne ikke sætte dit visningsnavn. Prøv venligst igen senere. - </notification> - <notification name="SetDisplayNameMismatch"> - Visningsnavnene du angav matcher ikke. Prøv at taste ind igen. - </notification> - <notification name="AgentDisplayNameUpdateThresholdExceeded"> - Beklager, du er nødt til at vente længere, inden du kan ændre visningsnavn. - -Se mere under http://wiki.secondlife.com/wiki/Setting_your_display_name - -Prøv venligst igen senere. - </notification> - <notification name="AgentDisplayNameSetBlocked"> - Beklager, vi kunne ikke sætte dit valgte navn da det indholder et ikke tilladt ord. - - Prøv med et andet navn. - </notification> - <notification name="AgentDisplayNameSetInvalidUnicode"> - Visningsnavnet du prøver at angive indeholder ugyldige karakterer. - </notification> - <notification name="AgentDisplayNameSetOnlyPunctuation"> - Dit vinsningsnavn skal indeholde andre bogstaver end tegnsætningstegn. - </notification> - <notification name="DisplayNameUpdate"> - [OLD_NAME] ([SLID]) er nu kendt som [NEW_NAME]. - </notification> - <notification name="OfferTeleport"> - Tilbyd en teleport til din position med følgende besked? - <form name="form"> - <input name="message"> - Mød mig i [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="OfferTeleportFromGod"> - Tilkald beboer til din lokation? - </notification> - <notification name="TeleportFromLandmark"> - Er du sikker pÃ¥ at du vil teleportere til <nolink>[LOCATION]</nolink>? - <usetemplate ignoretext="Bekræft at jeg vil teleportere til et landemærke" name="okcancelignore" notext="Cancel" yestext="Teleport"/> - </notification> - <notification name="TeleportToPick"> - Teleport til [PICK]? - <usetemplate ignoretext="Bekræft at jeg ønsker at teleportere til et sted i favoritter" name="okcancelignore" notext="Annullér" yestext="Teleport"/> - </notification> - <notification name="TeleportToClassified"> - Teleport til [CLASSIFIED]? - <usetemplate ignoretext="Bekræft at du ønsker at teleportere til lokation in annoncer" name="okcancelignore" notext="Annullér" yestext="Teleport"/> - </notification> - <notification name="TeleportToHistoryEntry"> - Teleport til [HISTORY_ENTRY]? - <usetemplate ignoretext="Bekræft at du ønsker at teleportere til en lokation i din historik" name="okcancelignore" notext="Annullér" yestext="Teleport"/> - </notification> - <notification label="Change Linden Estate" name="ChangeLindenEstate"> - Du er i færd med at ændre et Linden ejet estate (mainland, teeen grid, orientation etc.). - -Dette er EKSTREMT FARLIGT da det kan ændre beboernes oplevelse fundamentalt. PÃ¥ mainland vil dette betyde ændring af tusinder af regioner og fÃ¥ spaceserveren til at kløjs i det. - -Fortsæt? - </notification> - <notification name="RegionEntryAccessBlocked"> - Du har ikke adgang til denne region pÃ¥ grund af din valgte indholdsrating. Dette kan skyldes manglende validering af din alder. - -Undersøg venligst om du har installeret den nyeste [APP_NAME] klient, og gÃ¥ til 'Knowledge Base' for yderligere detaljer om adgang til omrÃ¥der med denne indholdsrating. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked_KB"> - Du har ikke adgang til denne region pÃ¥ grund af din valgte indholdsrating. - -GÃ¥ til 'Knowledge Base' for mere information om indholdsratings. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="Ikke adgang til denne region pÃ¥ grund af begrænsninger i min indholdsrating" name="okcancelignore" notext="Luk" yestext="GÃ¥ til 'Knowledge Base'"/> - </notification> - <notification name="RegionEntryAccessBlocked_Notify"> - Du har ikke adgang til denne region pÃ¥ grund af din valgte indholdsrating. - </notification> - <notification name="RegionEntryAccessBlocked_Change"> - Du har ikke adgang til denne region pÃ¥ grund af din opsætning af indholdsrating. - -For at fÃ¥ adgang til den ønskede region skal du ændre din indholdsrating. Dette vil give dig ret til at søge og fÃ¥r tilgang til indhold af typen [REGIONMATURITY]. For at omgøre ændringer gÃ¥ til Mig > Indstillinger > Generelt. - <form name="form"> - <button name="OK" text="Ændre indstillinger"/> - <button name="Cancel" text="Luk"/> - <ignore name="ignore" text="Din valgte indholdsrating forhindrer dig i at kommer til en region"/> - </form> - </notification> - <notification name="PreferredMaturityChanged"> - Din indholdsrating er nu [RATING]. - </notification> - <notification name="LandClaimAccessBlocked"> - Du kan ikke kræve dette land pÃ¥ grund af din nuværende indholdsrating indstillinge . Dette kan skyldes manglende validering af din alder. - -Undersøg om du har den nyeste [APP_NAME] klient og gÃ¥ venligst til 'Knowledge Base' for yderligere detaljer om adgang til omrÃ¥der med denne indholdsrating. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandClaimAccessBlocked_KB"> - Du kan ikke kræve dette land pÃ¥ grund af din nuværende indholdsrating indstilling.. - -GÃ¥ venligst til 'Knowledge Base' for yderligere information om indholdsrating. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="Du kan ikke kræve dette land, pÃ¥ grund af begrænsninger i indholdsrating" name="okcancelignore" notext="Luk" yestext="GÃ¥ til 'Knowledge Base'"/> - </notification> - <notification name="LandClaimAccessBlocked_Notify"> - Du kan ikke kræve dette land pÃ¥ grund af din indholdsrating. - </notification> - <notification name="LandClaimAccessBlocked_Change"> - Du kan ikke kræve dette land, pÃ¥ grund af begrænsninger i din opsætning af indholdsrating. - -Du kan klikke pÃ¥ 'Ændre præference' for at ændre din indholdsrating nu og dermed opnÃ¥ adgang. Du vil sÃ¥ fÃ¥ mulighed for at søge og tilgÃ¥ [REGIONMATURITY] fra da af. Hvis du senere ønsker at ændre denne opsætning tilbage, gÃ¥ til Mig > Indstillinger > Generelt. - <usetemplate ignoretext="Din valgte indholdsrating forhindrer dig i at kræve land" name="okcancelignore" notext="Luk" yestext="Ændre præferencer"/> - </notification> - <notification name="LandBuyAccessBlocked"> - Du kan ikke købe dette land pÃ¥ grund af din nuværende indholdsrating indstillinge . Dette kan skyldes manglende validering af din alder. - -Undersøg om du har den nyeste [APP_NAME] klient og gÃ¥ venligst til 'Knowledge Base' for yderligere detaljer om adgang til omrÃ¥der med denne indholdsrating. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandBuyAccessBlocked_KB"> - Du kan ikke købe dette land pÃ¥ grund af din nuværende indholdsrating. - -GÃ¥ til 'Knowledge Base' for yderligere detaljer om indholdsrating. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="Du kan ikke købe dette land, pÃ¥ grund af begrænsninger i indholdsrating" name="okcancelignore" notext="Luk" yestext="GÃ¥ til 'Knowledge Base'"/> - </notification> - <notification name="LandBuyAccessBlocked_Notify"> - Du kan ikke købe dette land pÃ¥ grund af din nuværende indholdsrating indstilling. - </notification> - <notification name="LandBuyAccessBlocked_Change"> - Du kan ikke købe dette land, pÃ¥ grund af begrænsninger i din opsætning af indholdsrating. - -Du kan klikke pÃ¥ 'Ændre præference' for at ændre din indholdsrating nu og dermed opnÃ¥ adgang. Du vil sÃ¥ fÃ¥ mulighed for at søge og tilgÃ¥ [REGIONMATURITY] fra da af. Hvis du senere ønsker at ændre denne opsætning tilbage, gÃ¥ til Mig > Indstillinger > Generelt. - <usetemplate ignoretext="Din valgte rating forhindrer dig i at købe land" name="okcancelignore" notext="Luk" yestext="Ændre præferencer"/> - </notification> - <notification name="TooManyPrimsSelected"> - Der er valgt for mange prims. Vælg venligst [MAX_PRIM_COUNT] eller færre og prøv igen - </notification> - <notification name="UnableToLoadNotecardAsset"> - Kunne ikke hente notecard indhold. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="SetClassifiedMature"> - Indeholder denne annonce 'Mature' indhold? - <usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification name="SetGroupMature"> - Indeholder denne gruppe 'Mature' indhold? - <usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Nej" yestext="Ja"/> - </notification> - <notification label="Changed Region Maturity" name="RegionMaturityChange"> - Ratingen for denne region er ændret. -Det kan tage noget tid inden ændringen slÃ¥r igennem pÃ¥ kortet. - -For at fÃ¥ adgang til voksen regioner, skal beboere være alders-checket, enten via aldersverifikation eller betalingsverifikation. - </notification> - <notification label="Voice Version Mismatch" name="VoiceVersionMismatch"> - Denne version af [APP_NAME] er ikke kompatibel med stemme chat funktionen i denne region. For at kunne fÃ¥ stemme chat til at fungere skal du opdatere [APP_NAME]. - </notification> - <notification name="MoveInventoryFromObject"> - <usetemplate ignoretext="Advar mig før jeg flytter 'ikke-kopiérbare' genstande fra et objekt" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromScriptedObject"> - <usetemplate ignoretext="Advar mig før jeg flytter 'ikke-kopiérbare' genstande, hvor det kan medføre at ødelægge et scriptet objekt" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="ClickActionNotPayable"> - Advarsel: 'Betal objekt' klik-aktionen er blevet aktiveret, men det vil kun virke, hvis et script med et 'money()' event er tilføjet. - <form name="form"> - <ignore name="ignore" text="I set the action 'Pay object' when building an object without a money() script"/> - </form> - </notification> - <notification name="WebLaunchAccountHistory"> - GÃ¥ til [http://secondlife.com/account/ Dashboard] for at se konto-historik? - <usetemplate ignoretext="Start min browser for at se min konto historik" name="okcancelignore" notext="Cancel" yestext="Go to page"/> - </notification> - <notification name="ConfirmQuit"> - Er du sikker pÃ¥ at du vil afslutte? - <usetemplate ignoretext="Bekræft før jeg afslutter" name="okcancelignore" notext="Afslut ikke" yestext="Quit"/> - </notification> - <notification name="DeleteItems"> - [QUESTION] - <usetemplate ignoretext="Bekræft før sletning af genstande" name="okcancelignore" notext="Annullér" yestext="OK"/> - </notification> - <notification name="HelpReportAbuseEmailLL"> - Benyt dette værktøj til at rapportere krænkninger af [http://secondlife.com/corporate/tos.php Terms of Service] og [http://secondlife.com/corporate/cs.php Community Standards]. - -Alle rapporter om krænkninger vil blive undersøgt og behandlet. - </notification> - <notification name="HelpReportAbuseContainsCopyright"> - Kære beboer, - -Det ser ud til at du indrapporterer krænkelse af ophavsret. Check venligst at du rapporterer korrekt: - -(1) Krænkelsesproces. Du mÃ¥ sende en rapport, hvis du mener at en beboer udnytter [SECOND_LIFE] rettighedssystemet, for eksempel via CopyBot eller lignende værktøjer, til at overtræde ophavsretten til objekter. - -(2) DCMA (â€Digital Millennium Copyright Actâ€) eller fjernelsesproces. For at kræve at indhold fjernes fra [SECOND_LIFE], SKAL du sende en gyldig besked om overtrædelse som beskrevet i [http://secondlife.com/corporate/dmca.php DMCA Policy]. - -Hvis du stadig ønsker at fortsætte med rapportering om overtrædelse, luk venligst dette vindue og afslut afsendelse af rapporten. Du skal muligvis vælge en specifik kategori 'CopyBot or Permissions Exploit'. - -Mange tak - -Linden Lab - </notification> - <notification label="Replace Existing Attachment" name="ReplaceAttachment"> - <form name="form"> - <ignore name="ignore" text="Erstat et eksisterende vedhæng med den valgte genstand"/> - </form> - </notification> - <notification label="Busy Mode Warning" name="BusyModePay"> - <form name="form"> - <ignore name="ignore" text="Jeg er ved at betale en person eller et objekt mens jeg er 'optaget'"/> - </form> - </notification> - <notification name="ConfirmDeleteProtectedCategory"> - Mappen '[FOLDERNAME]' er en system mappe. At slette denne mappe kan medføre ustabilitet. Er du sikker pÃ¥ at du vil slette den? - <usetemplate ignoretext="Bekræft, inden en system mappe slettes" name="okcancelignore" notext="Annullér" yestext="OK"/> - </notification> - <notification name="ConfirmEmptyTrash"> - Er du sikker pÃ¥ at du ønsker at tømme papirkurven? - <usetemplate ignoretext="Bekræft før papirkurv i beholdning tømmes" name="okcancelignore" notext="Cancel" yestext="OK"/> - </notification> - <notification name="ConfirmClearBrowserCache"> - Er du sikker pÃ¥ at du ønsker at slette din historik om besøg, web og søgninger? - <usetemplate name="okcancelbuttons" notext="Cancel" yestext="OK"/> - </notification> - <notification name="ConfirmClearCookies"> - Er du sikker pÃ¥ du vil slette alle cookies? - </notification> - <notification name="ConfirmEmptyLostAndFound"> - Er du sikker pÃ¥ at du vil slette indholdet i din 'Fundne genstande'? - <usetemplate ignoretext="Bekræft før sletning af 'Fundne genstande' mappe i beholdning" name="okcancelignore" notext="No" yestext="Yes"/> - </notification> - <notification name="CopySLURL"> - Følgende SLurl er blevet kopieret til din udklipsholder: - [SLURL] - -Henvis til dette fra en hjemmeside for at give andre nem adgang til denne lokation, eller prøv det selv ved at indsætte det i adresselinien i en web-browser. - <form name="form"> - <ignore name="ignore" text="SLurl er kopieret til min udklipsholder"/> - </form> - </notification> - <notification name="NewSkyPreset"> - <form name="form"> - <input name="message"> - Ny forudindstilling - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="NewWaterPreset"> - <form name="form"> - <input name="message"> - Ny forudindstilling - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="ChatterBoxSessionStartError"> - Ikke i stand til at start chat med [RECIPIENT]. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="Cannot_Purchase_an_Attachment"> - Du kan ikke købe en genstand mens den er vedhæftet. - </notification> - <notification name="AutoWearNewClothing"> - Vil du automatisk tage det tøj pÃ¥ du er ved at lave? - <usetemplate ignoretext="Tag det tøj pÃ¥ jeg laver, mens jeg ændrer udseende" name="okcancelignore" notext="No" yestext="Yes"/> - </notification> - <notification name="NotAgeVerified"> - Du skal være alders-checket for at besøge dette omrÃ¥de. Ønsker du at gÃ¥ til [SECOND_LIFE] hjemmesiden og bekræfte din alder? - -[_URL] - <usetemplate ignoretext="Jeg har ikke bekræftet min alder" name="okcancelignore" notext="No" yestext="Yes"/> - </notification> - <notification name="Cannot enter parcel: no payment info on file"> - Du skal være betalende medlem for at besøge dette omrÃ¥de. Ønsker du at gÃ¥ til [SECOND_LIFE] hjemmesiden for at blive dette? - -[_URL] - <usetemplate ignoretext="Du mangler at være betalende medlem" name="okcancelignore" notext="No" yestext="Yes"/> - </notification> - <notification name="SystemMessageTip"> - [MESSAGE] - </notification> - <notification name="IMSystemMessageTip"> - [MESSAGE] - </notification> - <notification name="Cancelled"> - Annulléret - </notification> - <notification name="CancelledSit"> - Annulléret sid - </notification> - <notification name="CancelledAttach"> - Annulléreret vedhæft - </notification> - <notification name="ReplacedMissingWearable"> - Erstattet manglende tøj/kropsdele med standard. - </notification> - <notification name="FriendOnline"> - [NAME] er logget pÃ¥ - </notification> - <notification name="FriendOffline"> - [NAME] er logget af - </notification> - <notification name="AddSelfFriend"> - Selvom du nok er meget sød, kan du ikke tilføje dig selv som ven. - </notification> - <notification name="UploadingAuctionSnapshot"> - Uploader billeder fra verdenen og www... -(Tager omkring 5 minutter.) - </notification> - <notification name="UploadPayment"> - Du betalte L$[AMOUNT] for at uploade. - </notification> - <notification name="UploadWebSnapshotDone"> - Billeder fra www er uploadet. - </notification> - <notification name="UploadSnapshotDone"> - Billeder fra verdenen er uploadet - </notification> - <notification name="TerrainDownloaded"> - Terrain.raw downloadet - </notification> - <notification name="GestureMissing"> - Bevægelsen [NAME] mangler i databasen. - </notification> - <notification name="UnableToLoadGesture"> - Kunne ikke indlæse læse bevægelse [NAME]. - </notification> - <notification name="LandmarkMissing"> - Landmærke mangler i databasen. - </notification> - <notification name="UnableToLoadLandmark"> - Ikke muligt at indlæse landmærke. Prøv venligst igen. - </notification> - <notification name="CapsKeyOn"> - Din Caps Lock er aktiveret. -Det kan pÃ¥virke din indtastning af password. - </notification> - <notification name="NotecardMissing"> - Note mangler i databasen. - </notification> - <notification name="NotecardNoPermissions"> - Du har ikke rettigheder til at se denne note. - </notification> - <notification name="RezItemNoPermissions"> - Utilstrækkelige tilladelser til at danne genstanden. - </notification> - <notification name="UnableToLoadNotecard"> - Ikke muligt at indlæse note. -Prøv venligst igen. - </notification> - <notification name="ScriptMissing"> - Script mangler i databasen. - </notification> - <notification name="ScriptNoPermissions"> - Utilstrækkelige tilladelser til at se script. - </notification> - <notification name="UnableToLoadScript"> - Ikke muligt at indlæse script. Prøv venligst igen. - </notification> - <notification name="IncompleteInventory"> - Det komplette indhold, du tilbyder, er ikke endnu tilgængelig lokalt. Prøv venligst at tilbyde tingene igen om lidt. - </notification> - <notification name="CannotModifyProtectedCategories"> - Du kan ikke ændre beskyttede kategorier. - </notification> - <notification name="CannotRemoveProtectedCategories"> - Du kan ikke fjerne beskyttede kategorier. - </notification> - <notification name="UnableToBuyWhileDownloading"> - Ikke muligt at købe, imens genstandens data hentes. -Prøv venligst igen. - </notification> - <notification name="UnableToLinkWhileDownloading"> - Ikke muligt at lænke imens genstandens data hentes. -Prøv venligst igen. - </notification> - <notification name="CannotBuyObjectsFromDifferentOwners"> - Du kan kun købe objekter fra én ejer ad gangen. -Vælg venligst et enkelt objekt. - </notification> - <notification name="ObjectNotForSale"> - Dette objekt er ikke til salg. - </notification> - <notification name="EnteringGodMode"> - Starter gud-tilstand, niveau [LEVEL] - </notification> - <notification name="LeavingGodMode"> - Stopper gud-tilstand, niveau [LEVEL] - </notification> - <notification name="CopyFailed"> - Du har ikke rettigheder til at kopiere dette. - </notification> - <notification name="InventoryAccepted"> - [NAME] modtog dit tilbud til hans/hendes beholdning. - </notification> - <notification name="InventoryDeclined"> - [NAME] afviste det du tilbød fra din beholdning. - </notification> - <notification name="ObjectMessage"> - [NAME]: [MESSAGE] - </notification> - <notification name="CallingCardAccepted"> - Dit visitkort blev accepteret. - </notification> - <notification name="CallingCardDeclined"> - Dit visitkort blev afvist. - </notification> - <notification name="TeleportToLandmark"> - Du kan teleportere til lokationer som '[NAME]' ved at Ã¥bne Steder panelet til højre pÃ¥ skærmen, og her vælge landemærker fanen. -Klik pÃ¥ et landemærke og vælg den, derefter -Click on any landmark to select it, then click 'Teleport' at the bottom of the panel. -(You can also double-click on the landmark, or right-click it and choose 'Teleport'.) - </notification> - <notification name="TeleportToPerson"> - Du kan kontakte beboere som '[NAME]' ved at Ã¥bne Personer panelet til højre pÃ¥ skærmen. -Vælg beboeren fra listen og klik sÃ¥ 'IM' i bundet af panelet. -(Du kan ogsÃ¥ dobbelt-klikke pÃ¥ navnet i listen, eller højre-klikke og vælge 'IM'). - </notification> - <notification name="CantSelectLandFromMultipleRegions"> - Kan ikke vælge land pÃ¥ tværs af grænser. -Prøv at vælge mindre stykker land. - </notification> - <notification name="SearchWordBanned"> - Visse ord er fjernet fra din søge-sætning pÃ¥ grund af at disse strider mod de generelle 'Community Standards'. - </notification> - <notification name="NoContentToSearch"> - Vælg venligst mindst en indholdstype for at søge (PG, Mature, or Adult). - </notification> - <notification name="SystemMessage"> - [MESSAGE] - </notification> - <notification name="PaymentReceived"> - [MESSAGE] - </notification> - <notification name="PaymentSent"> - [MESSAGE] - </notification> - <notification name="EventNotification"> - Besked om begivenhed: - -[NAME] -[DATE] - <form name="form"> - <button name="Details" text="Detaljer"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="TransferObjectsHighlighted"> - Alle genstande pÃ¥ denne grund, som vil blive overført til køberen af denne grund, er nu oplyst. - -* Træer og græs, der vil blive overført, er ikke fremhævet. - <form name="form"> - <button name="Done" text="Færdig"/> - </form> - </notification> - <notification name="DeactivatedGesturesTrigger"> - Deaktiverede bevægelser med samme udløser: [NAMES] - </notification> - <notification name="NoQuickTime"> - Det ser ikke ud til at Apples QuickTime software er installeret pÃ¥ dit system. -Hvis du ønsker at se streaming media pÃ¥ parceller der understøtter dette skal du besøge siden [http://www.apple.com/quicktime QuickTime site] og installere QuickTime Player. - </notification> - <notification name="NoPlugin"> - Ingen Media Plugin blev fundet til at hÃ¥ndtere mime af typen "[MIME_TYPE]". Media af denne type vil ikke være tilgængelig. - </notification> - <notification name="MediaPluginFailed"> - Følgende Media Plugin has fejlede: - [PLUGIN] - -Prøv venligst at geninstallere plugin eller kontakt leverandøren hvis problemerne bliver ved. - <form name="form"> - <ignore name="ignore" text="En Media Plugin kunne ikke afvikles"/> - </form> - </notification> - <notification name="OwnedObjectsReturned"> - De genstande du ejer pÃ¥ det valgte stykke land er blevet returneret til din beholdning. - </notification> - <notification name="OtherObjectsReturned"> - Objekterne pÃ¥ den valgte parcel, ejet af [NAME], er blevet returneret til vedkommendes beholdning. - </notification> - <notification name="OtherObjectsReturned2"> - Objekterne i den valgte parcel, ejet af beboeren '[NAME]', er blevet returneret til deres ejer. - </notification> - <notification name="GroupObjectsReturned"> - Genstandene pÃ¥ det valgte stykke land, delt med gruppen [GROUPNAME], er blevet returneret til deres ejeres beholdninger. -Genstande, som er dedikerede og som kan overføres, er blevet returneret til deres forrige ejere. -Genstande, der ikke kan overføres og som er dedikeret til gruppen, er blevet slettet. - </notification> - <notification name="UnOwnedObjectsReturned"> - Genstandene pÃ¥ det valgte stykke land, der IKKE er ejet af dig, er blevet returneret til deres ejere. - </notification> - <notification name="ServerObjectMessage"> - Besked fra [NAME]: -<nolink>[MSG]</nolink> - </notification> - <notification name="NotSafe"> - Dette land er Ã¥bnet for 'skade'. -Du kan blive skadet her. Hvis du dør, vil du blive teleporteret til din hjemme lokation. - </notification> - <notification name="NoFly"> - Dette sted har ikke aktiveret ret til flyvning. -Du kan ikke flyve her. - </notification> - <notification name="PushRestricted"> - Dette sted tillader ikke skubning. Du kan ikke skubbe andre, med mindre du ejer dette land. - </notification> - <notification name="NoVoice"> - Dette sted har ikke aktiveret stemme-chat. Du vil ikke kunne høre nogen tale. - </notification> - <notification name="NoBuild"> - Dette sted har ikke aktiveret bygge-ret. Du kan ikke bygge eller 'rezze' objekter her. - </notification> - <notification name="ScriptsStopped"> - En administrator har midlertidig stoppet scripts i denne region. - </notification> - <notification name="ScriptsNotRunning"> - Denne region kører ikke nogen scripts. - </notification> - <notification name="NoOutsideScripts"> - Dette sted tillader ikke udefra kommende scripts. - -Ingen scripts vil virke her, udover de som tilhører ejeren af landet. - </notification> - <notification name="ClaimPublicLand"> - Du kan kun kræve land i den region du befinder dig i. - </notification> - <notification name="RegionTPAccessBlocked"> - Du har ikke adgang til denne region pÃ¥ grund af din valgte indholdsrating. Dette kan skyldes manglende validering af din alder eller at du ikke benytter den nyeste [APP_NAME] klient. - -GÃ¥ venligst til 'Knowledge Base' for yderligere detaljer om adgang til omrÃ¥der med denne indholdsrating. - </notification> - <notification name="URBannedFromRegion"> - Du er blokeret i denne region. - </notification> - <notification name="NoTeenGridAccess"> - Du kan ikke tilslutte dig denne 'Teen' region. - </notification> - <notification name="ImproperPaymentStatus"> - Du har ikke de rette betalingsoplysninger til at komme ind i denne region. - </notification> - <notification name="MustGetAgeParcel"> - Du skal være aldersgodkendt for at komme ind pÃ¥ denne parcel. - </notification> - <notification name="NoDestRegion"> - Destinations region ikke fundet. - </notification> - <notification name="NotAllowedInDest"> - Du har ikke adgang til denne destination. - </notification> - <notification name="RegionParcelBan"> - Kan ikke skifte til ny region via en blokeret parcel. Prøv en anden vej ind. - </notification> - <notification name="TelehubRedirect"> - Du er blevet omdirigeret til en telehub. - </notification> - <notification name="CouldntTPCloser"> - Kunne ikke teleportere nærmere til destination. - </notification> - <notification name="TPCancelled"> - Teleport afbrudt. - </notification> - <notification name="FullRegionTryAgain"> - Den region du prøver at komme ind i er fuld for øjeblikket. -Prøv igen om lidt. - </notification> - <notification name="GeneralFailure"> - Generel fejl. - </notification> - <notification name="RoutedWrongRegion"> - Du blev sendt til en forkert region. Prøv igen. - </notification> - <notification name="NoValidAgentID"> - Ikke en gyldig agent ID. - </notification> - <notification name="NoValidSession"> - Ikke noget gyldig sessions-ID - </notification> - <notification name="NoValidCircuit"> - Ingen gyldig kode for kredsløb. - </notification> - <notification name="NoValidTimestamp"> - Ikke et gyldigt klokkeslæt. - </notification> - <notification name="NoPendingConnection"> - Kunne ikke skabe fast forbindelse. - </notification> - <notification name="InternalUsherError"> - Der opstod en intern fejl ved teleportering til din teleport destination.. Der kan være generelle problemer med [SECOND_LIFE] lige nu. - </notification> - <notification name="NoGoodTPDestination"> - Kunne ikke finde et egnet teleport sted i denne region. - </notification> - <notification name="InternalErrorRegionResolver"> - Der opstod en intern fejl ved beregning af globale koordinater for din teleport forespørgsel. Der kan være generelle problemer med [SECOND_LIFE] lige nu. - </notification> - <notification name="NoValidLanding"> - Kunne ikke finde et gyldigt landingspunkt. - </notification> - <notification name="NoValidParcel"> - No valid parcel could be found. - </notification> - <notification name="ObjectGiveItem"> - Et objekt ved navn <nolink>[OBJECTFROMNAME]</nolink> ejet af [NAME_SLURL] tilbyder dig <nolink>[ITEM_SLURL]</nolink>. For at bruge denne genstand skal du skifte til avanceret tilstand, hvor du kan finde genstanden i din beholdning. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <form name="form"> - <button name="Keep" text="Behold genstand"/> - <button name="Discard" text="Afvis genstand"/> - <button name="Mute" text="Blokér objekt"/> - </form> - </notification> - <notification name="UserGiveItem"> - [NAME_SLURL] tilbyder dig [ITEM_SLURL]. For at bruge denne genstand skal du skifte til avanceret tilstand, hvor du kan finde genstanden i din beholdning. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <form name="form"> - <button name="Show" text="Behold genstand"/> - <button name="Discard" text="Afvis genstand"/> - <button name="Mute" text="Blokér bruger"/> - </form> - </notification> - <notification name="GodMessage"> - [NAME] - -[MESSAGE] - </notification> - <notification name="JoinGroup"> - [MESSAGE] - <form name="form"> - <button name="Join" text="Indmeld"/> - <button name="Decline" text="Afvis"/> - <button name="Info" text="Information"/> - </form> - </notification> - <notification name="TeleportOffered"> - [NAME_SLURL] har tilbudt en teleport til deres lokation: - -[MESSAGE] - [MATURITY_STR] <icon>[MATURITY_ICON]</icon> - <form name="form"> - <button name="Teleport" text="Teleportér"/> - <button name="Cancel" text="Annullér"/> - </form> - </notification> - <notification name="TeleportOfferSent"> - Tilbud om teleport sendt til [TO_NAME] - </notification> - <notification name="GotoURL"> - [MESSAGE] -[URL] - <form name="form"> - <button name="Later" text="Senere"/> - <button name="GoNow..." text="GÃ¥ nu..."/> - </form> - </notification> - <notification name="OfferFriendship"> - [NAME_SLURL] tilbyder venskab. - -[MESSAGE] - -(Som udgangspunkt vil I være i stand til at se hinandens online status.) - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - </form> - </notification> - <notification name="FriendshipOffered"> - Du har tilbudt venskab til [TO_NAME] - </notification> - <notification name="OfferFriendshipNoMessage"> - [NAME_SLURL] tilbyder venskab. - -(Som udgangspunkt, vil du være i stand til at se den andens online status) - </notification> - <notification name="FriendshipAccepted"> - [NAME] accepterede dit tilbud om venskab. - </notification> - <notification name="FriendshipDeclined"> - [NAME] afviste dit tilbud om venskab. - </notification> - <notification name="FriendshipAcceptedByMe"> - Tilbud om venskab accepteret. - </notification> - <notification name="FriendshipDeclinedByMe"> - Tilbud om venskab afvist. - </notification> - <notification name="OfferCallingCard"> - [NAME] tilbyder sit visitkort. -Dette vil tilføje et bogmærke i din beholdning, sÃ¥ du hurtigt kan sende en personlig besked til denne beboer. - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - </form> - </notification> - <notification name="RegionRestartMinutes"> - Denne region vil genstarte om [MINUTES] minutter. -Hvis du ikke forlader regionen, vil du blive logget af. - </notification> - <notification name="RegionRestartSeconds"> - Denne region genstartes om [SECONDS] sekunder. -Hvis du ikke forlader regionen, vil du blive logget af. - </notification> - <notification name="LoadWebPage"> - Indlæas websiden [URL]? - -[MESSAGE] - -Fra objekt: <nolink>[OBJECTNAME]</nolink>, ejer: [NAME]? - <form name="form"> - <button name="Gotopage" text="GÃ¥ til side"/> - <button name="Cancel" text="Afbryd"/> - </form> - </notification> - <notification name="FailedToFindWearableUnnamed"> - Det lykkedes ikke at finde [TYPE] i databasen. - </notification> - <notification name="FailedToFindWearable"> - Det lykkedes ikke at finde [TYPE] med navnet [DESC] i databasen. - </notification> - <notification name="InvalidWearable"> - Den genstand du prøver at tage pÃ¥ benytter en funktion din klient ikke kan forstÃ¥. Upgradér venligst din version af [APP_NAME] for at kunne tage denne genstand pÃ¥. - </notification> - <notification name="ScriptQuestion"> - '<nolink>[OBJECTNAME]</nolink>', et objekt ved ejet af '[NAME]', ønsker at: - -[QUESTIONS] -Er dette OK? - <form name="form"> - <button name="Yes" text="Ja"/> - <button name="No" text="Nej"/> - <button name="Mute" text="Blokér"/> - </form> - </notification> - <notification name="ScriptQuestionCaution"> - Et objeckt med navn '<nolink>[OBJECTNAME]</nolink>', ejet af '[NAME]' ønsker at: - -[QUESTIONS] -Hvis du ikke stoler pÃ¥ dette objekt og dets skaber, bør du afvise dette ønske. - -Opfyld dette ønske? - <form name="form"> - <button name="Grant" text="Imødekom"/> - <button name="Deny" text="Afvis"/> - <button name="Details" text="Detaljer..."/> - </form> - </notification> - <notification name="ScriptDialog"> - [NAME]'s '<nolink>[TITLE]</nolink>' -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Ignorér"/> - </form> - </notification> - <notification name="ScriptDialogGroup"> - [GROUPNAME]'s '<nolink>[TITLE]</nolink>' -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Ignorér"/> - </form> - </notification> - <notification name="BuyLindenDollarSuccess"> - Tak for din betaling! - -Din L$ balance vil blive opdateret nÃ¥r transaktionen er gennemført. Ved transaktionen tager mere end 20 min., vil den blive annulleret. I sÃ¥ fald vil beløbet blive krediteret din US$ balance. - -Status for din betaling kan ses i din 'Transaction History' side pÃ¥ din [http://secondlife.com/account/ Dashboard] - </notification> - <notification name="FirstOverrideKeys"> - Dine bevælgelsestaster bliver nu hÃ¥ndteret af et objekt. -Brug piletasterne eller AWSD for at se, hvad de gør. -Nogle genstande (som skydevÃ¥ben) kræver at du gÃ¥r ind i musevisning for at bruge dem. -Tryk pÃ¥ 'M' for at gÃ¥re det. - </notification> - <notification name="FirstSandbox"> - Dette er et sandkasse omrÃ¥de. Her kan beboere lære ast bygge. - -De ting du bygger vil blive slettet senere, sÃ¥ glem ikke at højre-klikke og vælge "Tag" for at tage en kopi af din kreation til din beholdning. - </notification> - <notification name="MaxListSelectMessage"> - Du mÃ¥ kun vælge op til [MAX_SELECT] genstande pÃ¥ denne liste. - </notification> - <notification name="VoiceInviteP2P"> - [NAME] inviterer dig til en stemme-chat samtale. -Klik pÃ¥ Acceptér for at deltage eller Afvis for at afvise invitationen. Klik pÃ¥ Blokér for at blokere personen. - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - <button name="Mute" text="Blokér"/> - </form> - </notification> - <notification name="AutoUnmuteByIM"> - [NAME] har fÃ¥et sendt en besked og blokering er derfor automatisk blevet fjernet. - </notification> - <notification name="AutoUnmuteByMoney"> - [NAME] har fÃ¥et givet penge og blokering er derfor automatisk blevet fjernet. - </notification> - <notification name="AutoUnmuteByInventory"> - [NAME] er blevet tilbud noget fra beholdning og blokering er derfor automatisk blevet fjernet. - </notification> - <notification name="VoiceInviteGroup"> - [NAME] har has sluttet sig til stemme-chaten i gruppen [GROUP]. -Klik pÃ¥ Acceptér for at deltage eller Afvis for at afvise invitationen. Klik pÃ¥ Blokér for at blokere personen. - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - <button name="Mute" text="Blokér"/> - </form> - </notification> - <notification name="VoiceInviteAdHoc"> - [NAME] har sluttet sig til en stemme-chat med en konference chat. -Klik pÃ¥ Acceptér for at deltage eller Afvis for at afvise invitationen. Klik pÃ¥ Blokér for at blokere personen. - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - <button name="Mute" text="Blokér"/> - </form> - </notification> - <notification name="InviteAdHoc"> - [NAME] inviterer dig til en konference chat. -Klik pÃ¥ Acceptér for at deltage eller Afvis for at afvise invitationen. Klik pÃ¥ Blokér for at blokere personen. - <form name="form"> - <button name="Accept" text="Acceptér"/> - <button name="Decline" text="Afvis"/> - <button name="Mute" text="Blokér"/> - </form> - </notification> - <notification name="VoiceChannelFull"> - Den stemme-chat, du prøver at tilslutte dig, [VOICE_CHANNEL_NAME], har nÃ¥et maksiumum kapacitet. Prøv venligst igen senere. - </notification> - <notification name="ProximalVoiceChannelFull"> - Vi beklager. Dette omrÃ¥de har nÃ¥et sin maksimale kapacitet for stemme-chat. Prøv venligst at benytte stemme i et andet omrÃ¥de. - </notification> - <notification name="VoiceChannelDisconnected"> - Du er blevet koblet fra [VOICE_CHANNEL_NAME]. Du vil nu blive koblet til almindelig voice-chat. - </notification> - <notification name="VoiceChannelDisconnectedP2P"> - [VOICE_CHANNEL_NAME] har afsluttet samtalen. Du vil nu blive koblet til almindelig voice-chat. - </notification> - <notification name="P2PCallDeclined"> - [VOICE_CHANNEL_NAME] har avist dit opkald. Du vil nu blive koblet til almindelig voice-chat. - </notification> - <notification name="P2PCallNoAnswer"> - [VOICE_CHANNEL_NAME] er ikke tilgængelig til at modtage dit opkald. Du vil nu blive koblet til almindelig voice-chat. - </notification> - <notification name="VoiceChannelJoinFailed"> - Det lykkedes ikke at forbinde til [VOICE_CHANNEL_NAME], prøv venligst igen senere. Du vil nu blive koblet til almindelig voice-chat. - </notification> - <notification name="VoiceLoginRetry"> - Vi laver en stemmekanal til dig. Det kan tage op til et minut. - </notification> - <notification name="VoiceEffectsExpired"> - En eller flere af dine stemme "morphs" er udløbet. -[[URL] Click here] for at forny dit abbonnement. - </notification> - <notification name="VoiceEffectsExpiredInUse"> - Den aktive stemme "morph" er udløbet og din normale stemme opsætning er genaktiveret. -[[URL] Click here] for at forny dit abbonnement. - </notification> - <notification name="VoiceEffectsWillExpire"> - En eller flere af dine stemme "morphs" vil udløbe om mindre end [INTERVAL] dage. -[[URL] Click here] for at forny dit abbonnement. - </notification> - <notification name="VoiceEffectsNew"> - Nye stemme "morphs" er tilgængelige! - </notification> - <notification name="Cannot enter parcel: not a group member"> - Kun medlemmer af en bestemt gruppe kan besøge dette omrÃ¥de. - </notification> - <notification name="Cannot enter parcel: banned"> - Du kan ikke komme ind pÃ¥ omrÃ¥det. Du er blevet udelukket. - </notification> - <notification name="Cannot enter parcel: not on access list"> - Du kan ikke komme ind pÃ¥ omrÃ¥det. Du er ikke pÃ¥ adgangslisten. - </notification> - <notification name="VoiceNotAllowed"> - Du har ikke tilladelse til at tilslutte dig stemme-chat pÃ¥ [VOICE_CHANNEL_NAME]. - </notification> - <notification name="VoiceCallGenericError"> - En fejl er opstÃ¥et under forsøget pÃ¥ at koble sig pÃ¥ stemme chatten [VOICE_CHANNEL_NAME]. PrÃ¥v venligst senere. - </notification> - <notification name="UnsupportedCommandSLURL"> - Den SLurl du klikkede pÃ¥ understøttes ikke. - </notification> - <notification name="BlockedSLURL"> - En SLurl blev modtaget en ikke sikret browser og den er blevet blokeret af sikkerhedsmæssige Ã¥rsager. - </notification> - <notification name="ThrottledSLURL"> - Flere SLurls blev modtaget fra en browser i et kort tidsrum. -De vil blive blokeret nogle fÃ¥ sekunder af sikkerhedsmæssige Ã¥rsager. - </notification> - <notification name="IMToast"> - [MESSAGE] - <form name="form"> - <button name="respondbutton" text="Svar"/> - </form> - </notification> - <notification name="ConfirmCloseAll"> - Er du sikker pÃ¥ at du vil lukke alle personlige samtaler (IM)? - <usetemplate ignoretext="Bekræft før du lukker alle IMer" name="okcancelignore" notext="Annullér" yestext="OK"/> - </notification> - <notification name="AttachmentSaved"> - Vedhæng er blevet gemt. - </notification> - <notification name="UnableToFindHelpTopic"> - Ikke muligt at finde hjælp om dette element. - </notification> - <notification name="ObjectMediaFailure"> - Server fejl: Media opdatering eller "get" fejlede. -'[ERROR]' - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TextChatIsMutedByModerator"> - Din tekst chat er blevet slukket af moderator. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="VoiceIsMutedByModerator"> - Din stemme er blevet slukket af moderatoren. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ConfirmClearTeleportHistory"> - Er du sikker pÃ¥ at du vil slette teleport historikken? - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/> - </notification> - <notification name="BottomTrayButtonCanNotBeShown"> - Den valgte knap kan ikke vises lige nu. -Knappen vil blive vist nÃ¥r der er nok plads til den. - </notification> - <notification name="ShareNotification"> - Vælg beboere at dele med. - </notification> - <notification name="ShareItemsConfirmation"> - Er du sikker pÃ¥ at du vil dele følgende genstande: - -<nolink>[ITEMS]</nolink> - -Me følgende beboere: - -[RESIDENTS] - <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Ok"/> - </notification> - <notification name="ItemsShared"> - Genstande er nu delt. - </notification> - <notification name="DeedToGroupFail"> - Dedikering til gruppe fejlede. - </notification> - <notification name="AvatarRezNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' var ikke sky mere, efter [TIME] sekunder. - </notification> - <notification name="AvatarRezSelfBakedDoneNotification"> - ( [EXISTENCE] seconds alive ) -Du blev færdig med at fremvise dit sæt efter [TIME] sekunder. - </notification> - <notification name="AvatarRezSelfBakedUpdateNotification"> - ( [EXISTENCE] seconds alive ) -Du sendte en opdatering af dit udseende efter [TIME] sekunder. -[STATUS] - </notification> - <notification name="AvatarRezCloudNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' blev til "sky". - </notification> - <notification name="AvatarRezArrivedNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' appeared. - </notification> - <notification name="AvatarRezLeftCloudNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' forsvandt efter [TIME] sekunder som "sky". - </notification> - <notification name="AvatarRezEnteredAppearanceNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' skiftede til udseende modus. - </notification> - <notification name="AvatarRezLeftAppearanceNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' har forladt udseende modus. - </notification> - <notification name="NoConnect"> - Vi har problemer med at oprette forbindelse via [PROTOCOL] [HOSTID]. -Check venligst din netværks- og firewallsetup. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NoVoiceConnect"> - Vi har problemer med at oprette forbindelse til din stemme server: - -[HOSTID] - -Stemme kommunikation vil ikke være tilgængelig. -Check venligst din netværks- og firewall setup. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarRezLeftNotification"> - ( [EXISTENCE] sekunder i live ) -Avatar '[NAME]' forsvandt helt "uploaded". - </notification> - <notification name="AvatarRezSelfBakedTextureUploadNotification"> - ( [EXISTENCE] sekunder i live ) -Du uploadede en [RESOLUTION] "bagt" tekstur til '[BODYREGION]' efter [TIME] sekunder. - </notification> - <notification name="AvatarRezSelfBakedTextureUpdateNotification"> - ( [EXISTENCE] sekunder i live ) -Du opdaterede en [RESOLUTION] "bagt" tekstur for '[BODYREGION]' efter [TIME] sekunder. - </notification> - <notification name="ConfirmLeaveCall"> - Er du sikker pÃ¥ at du vil forlade dette opkald? - <usetemplate ignoretext="Bekræft før jeg forlader opkald" name="okcancelignore" notext="Nej" yestext="Ja"/> - </notification> - <notification name="ConfirmMuteAll"> - Du har valgt at slukke for lyden for alle deltagere i gruppeopkaldet. -Dette vil ogsÃ¥ betyde, at alle beboere der slutter sig til opkaldet -vil have lyden slukket - selv efter de har forladt kaldet. - - -Sluk for alles lyd? - <usetemplate ignoretext="Bekræft før jeg slukker for alle deltageres lyd i gruppe-kald" name="okcancelignore" notext="Annullér" yestext="Ok"/> - </notification> - <notification label="Chat" name="HintChat"> - For at deltage i samtalen tast tekst ind i chat feltet nedenfor. - </notification> - <notification label="StÃ¥ op" name="HintSit"> - For at rejse dig op og forlad siddeposition, tryk pÃ¥ "StÃ¥ op" knappen. - </notification> - <notification label="Undersøg verden" name="HintDestinationGuide"> - Destinationsguiden indeholder tusinder af nye steder der kan opleves. Vælg venligst et sted og vælg Teleport for at komme derhen. - </notification> - <notification label="Side panel" name="HintSidePanel"> - FÃ¥ hurtig tilgang til din beholdning, sæt, profiler og andet i dette side panel. - </notification> - <notification label="Flyt" name="HintMove"> - For at gÃ¥ eller løbe, Ã¥ben Flyt panelet for neden og brug pilene til at navigere. Du kan ogsÃ¥ bruge pile-tasterne pÃ¥ dit tastatur. - </notification> - <notification label="Visningsnavn" name="HintDisplayName"> - Angiv dit konfigurérbare visningsnavn her. Dette er i tillæg til dit unikke brugernavn, som ikke kan ændres. Du kan ændre hvordan du ser andre beboeres navne i dine indstillinger. - </notification> - <notification label="Flyt" name="HintMoveArrows"> - For at gÃ¥, brug piletasterne pÃ¥ tastaturet. Du kan løbe ved at trykke to gange pÃ¥ Pil-Op - </notification> - <notification label="Se" name="HintView"> - For at ændre dit kamera-view, benyt kredsløbs og panoreringskontrollerne. Nulstil view ved at trykke Esc eller ved at gÃ¥. - </notification> - <notification label="Beholdning" name="HintInventory"> - Undersøg din beholdning for at finde ting. Nyeste genstand findes lettes under fanen "Nye ting" - </notification> - <notification label="Der er kommet Linden Dollars" name="HintLindenDollar"> - Her er din nuværende balance af L$. Klik pÃ¥ Køb L$ for at købe flere Linden dollars. - </notification> - <notification name="PopupAttempt"> - En pop-up blev hindret i at blive vist. - <form name="form"> - <ignore name="ignore" text="Tillad alle pop-ups"/> - <button name="open" text="Ã…ben pop-up vindue"/> - </form> - </notification> - <notification name="AuthRequest"> - Hjemmesiden pÃ¥ '<nolink>[HOST_NAME]</nolink>' in realm '[REALM]' kræver et brugernavn og password. - <form name="form"> - <input name="username" text="Brugernavn"/> - <input name="password" text="Password"/> - <button name="ok" text="Send"/> - <button name="cancel" text="Annullér"/> - </form> - </notification> - <notification label="" name="ModeChange"> - For at skifte tilstand skal du genstarte programmet. - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoClassifieds"> - Oprettelse og redigering af annoncer er kun muligt i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoGroupInfo"> - Oprettelse og redigering af grupper er kun muligt i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoPicks"> - Oprettelse og redigering af favoritter er kun mulig i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoWorldMap"> - Det er kun muligt at se verdenskortet i avanceret tilstand.Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes pÃ¥ login skærmbilledet. - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoVoiceCall"> - Stemme kald kan kun benttes i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoAvatarShare"> - Det er kun mulig at dele i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <notification label="" name="NoAvatarPay"> - Det er kun muligt at betale andre beboere i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? - <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> - </notification> - <global name="UnsupportedGLRequirements"> - Det ser ikke ud til at din hardware opfylder minimumskravene til [APP_NAME]. [APP_NAME] kræver et OpenGL grafikkort som understøter 'multitexture'. Check eventuelt om du har de nyeste drivere for grafikkortet, og de nyeste service-packs og patches til dit operativsystem. - -Hvis du bliver ved med at have problemer, besøg venligst [SUPPORT_SITE]. - </global> - <global name="You can only set your 'Home Location' on your land or at a mainland Infohub."> - Hvis du selv ejer land, kan du benytte det til hjemme lokation. -Ellers kan du se pÃ¥ verdenskortet og finde steder markeret med "Infohub". - </global> - <global name="You died and have been teleported to your home location"> - Du døde og er blevet teleporteret til din hjemmelokation. - </global> -</notifications> diff --git a/indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml deleted file mode 100644 index 14250453eb7..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Opkald" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Forlad samtale" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Stemmekontroller" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/da/panel_bottomtray.xml deleted file mode 100644 index bd20ece7642..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="SlÃ¥ mikrofon til/fra"/> - <string name="VoiceControlBtnToolTip" value="Vis/skjul stemme kontrolpanel"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Tal" name="speak_btn" tool_tip="Tænd og sluk for mikrofon"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Ændring af opsætning for lyd"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Bevægelse" name="Gesture" tool_tip="Lad din avatar gøre ting"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Vis" name="camera_btn" tool_tip="Kontrollér kameravinkel"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Destinationer" name="destination_btn" tool_tip="Rejs i Second Life"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Min avatar" name="avatar_btn" tool_tip="Ændre dit udseende"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Personer" name="show_people_button" tool_tip="Find personer i Second Life"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Se og rediger din profil"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Hvordan" name="show_help_btn" tool_tip="Vis hjælpeinformation for Second Life"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Konversationer"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notifikationer"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml deleted file mode 100644 index 23a5e79e228..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Gruppe profil" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Opkald gruppe" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Forlad samtale" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Ã…ben stemme indstillinger" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml deleted file mode 100644 index b8a7ec0b34a..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Tilføj ven" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleport" name="teleport_btn" tool_tip="Tilbyd teleport til denne person"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="Del" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="Betal" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Opkald" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Afslut samtale" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Stemme kontroller" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_login.xml b/indra/newview/skins/minimal/xui/da/panel_login.xml deleted file mode 100644 index 2e0f726e1ab..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_login.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://join.secondlife.com/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Brugernavn: - </text> - <combo_box name="username_combo" tool_tip="Brugernavnet du valgte da du registrerde dig, som f.eks. bobsmith12 or Steller Sunshine"/> - <text name="password_text"> - Password: - </text> - <check_box label="Husk password" name="remember_check"/> - <button label="Log pÃ¥" name="connect_btn"/> - <text name="mode_selection_text"> - Tilstand: - </text> - <combo_box name="mode_combo" tool_tip="Vælg ønsket tilstand. Vælg basis for hurtig og nem udforskning og chat. Vælg avanceret for at fÃ¥ adgang til flere muligheder."> - <combo_box.item label="Basis" name="Basic"/> - <combo_box.item label="Avanceret" name="Advanced"/> - </combo_box> - <text name="start_location_text"> - Start ved: - </text> - <combo_box name="start_location_combo"> - <combo_box.item label="Min sidste lokation" name="MyLastLocation"/> - <combo_box.item label="Hjem" name="MyHome"/> - <combo_box.item label="<Indtast regionnavn>" name="Typeregionname"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Opret bruger - </text> - <text name="forgot_password_text"> - Har du glemt brugernavn eller password? - </text> - <text name="login_help"> - Hjælp til login - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/da/panel_navigation_bar.xml deleted file mode 100644 index 2ee87433a46..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="GÃ¥ tilbage til min forrige lokation"/> - <pull_button name="forward_btn" tool_tip="GÃ¥ en lokation fremad"/> - <button name="home_btn" tool_tip="Teleport til min hjemme lokation"/> - <location_input label="Lokation" name="location_combo"/> - <search_combo_box label="Søg" name="search_combo_box" tool_tip="Søg"> - <combo_editor label="Søg [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="Træk landemærker hertil for at fÃ¥ hurtig adgang til dine favoritsteder i Second Life!"> - <label name="favorites_bar_label" tool_tip="Træk landemærker hertil for at fÃ¥ hurtig adgang til dine favoritsteder i Second Life!"> - Favoritter - </label> - <chevron_button name=">>" tool_tip="Søg mere af mine favoritter"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_people.xml b/indra/newview/skins/minimal/xui/da/panel_people.xml deleted file mode 100644 index 8be4d695bde..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_people.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Personer" name="people_panel"> - <string name="no_recent_people" value="Ingen nylige personer. Leder du efter personer at være sammen med? Prøv destinationsknappen nedenfor."/> - <string name="no_filtered_recent_people" value="Ingen nylige personer med det navn."/> - <string name="no_one_near" value="Ingen i nærheden. Leder du efter personer at være sammen med? Prøv destinationsknappen nedenfor."/> - <string name="no_one_filtered_near" value="Ingen i nærheden med det navn."/> - <string name="no_friends_online" value="Ingen venner online"/> - <string name="no_friends" value="Ingen venner"/> - <string name="no_friends_msg"> - Højre-klik pÃ¥ en person for at tilføje som ven. -Leder du efter personer at være sammen med? Prøv destinationsknappen nedenfor. - </string> - <string name="no_filtered_friends_msg"> - Fandt du ikke hvad du søgte? Prøv destinationsknappen nedenfor. - </string> - <string name="people_filter_label" value="Filtrér personer"/> - <string name="groups_filter_label" value="Filtrér grupper"/> - <string name="no_filtered_groups_msg" value="Fandt du ikke det du søgte? Prøv [secondlife:///app/search/groups/[SEARCH_TERM] Søg]."/> - <string name="no_groups_msg" value="Leder du efter grupper at være med i? Prøv [secondlife:///app/search/groups Søg]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Dobbelt-klik for at Ã¥bne kort, træk for at panorere)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Dobbelt-klik for at teleportere, træk for at panorere)"/> - <filter_editor label="Filtrér" name="filter_input"/> - <tab_container name="tabs"> - <panel label="TÆT PÃ…" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="nearby_view_sort_btn" tool_tip="Valg"/> - <button name="add_friend_btn" tool_tip="Tilføj valgte beboer til din venneliste"/> - </panel> - </panel> - <panel label="MINE VENNER" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="Online"/> - <accordion_tab name="tab_all" title="Alle"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="options_gear_btn_panel"> - <menu_button name="friends_viewsort_btn" tool_tip="Vis flere valg"/> - </layout_panel> - <layout_panel name="add_btn_panel"> - <button name="add_btn" tool_tip="Tilbyd venskab til en beboer"/> - </layout_panel> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Fjern valgte person fra din venneliste"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="MINE GRUPPER" name="groups_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="groups_viewsort_btn" tool_tip="Valg"/> - <button name="plus_btn" tool_tip="Bliv medlem af gruppe/Opret ny gruppe"/> - <button name="activate_btn" tool_tip="Activér valgte gruppe"/> - </panel> - </panel> - <panel label="NYLIGE" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="recent_viewsort_btn" tool_tip="Valg"/> - <button name="add_friend_btn" tool_tip="Tilføj valgte beboer til din venneliste"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Profil" name="view_profile_btn" tool_tip="Vis billeder, grupper og anden beboer information"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="Ã…ben session med privat besked (IM)"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Opkald" name="call_btn" tool_tip="Kald til denne beboer"/> - </layout_panel> - <layout_panel name="share_btn_lp"> - <button label="Del" name="share_btn" tool_tip="Del en genstand fra beholdning"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportér" name="teleport_btn" tool_tip="Tilbyd teleport"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Gruppe profil" name="group_info_btn" tool_tip="Vis gruppe information"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Gruppe chat" name="chat_btn" tool_tip="Ã…ben chat session"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Gruppe kald" name="group_call_btn" tool_tip="Opkald til denne gruppe"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/da/panel_side_tray_tab_caption.xml deleted file mode 100644 index ce3a1d8b4ef..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Side bjælke"/> - <button name="undock" tool_tip="Løsriv"/> - <button name="dock" tool_tip="Fastgør"/> - <button name="show_help" tool_tip="Vis hjælp"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_status_bar.xml b/indra/newview/skins/minimal/xui/da/panel_status_bar.xml deleted file mode 100644 index 6e7bdfc1884..00000000000 --- a/indra/newview/skins/minimal/xui/da/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Søndag:Mandag:Tirsdag:Onsdag:Torsdag:Fredag:Lørdag - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - Januar:Februar:Marts:April:Maj:Juni:Juli:August:September:Oktober:November:December - </panel.string> - <panel.string name="packet_loss_tooltip"> - Packet Loss - </panel.string> - <panel.string name="bandwidth_tooltip"> - BÃ¥ndbredde - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Klik for at opdaterer din L$ balance" value="L$20"/> - <button label="KØB L$" name="buyL" tool_tip="Klik for at købe flere L$"/> - </panel> - <text name="TimeText" tool_tip="Nuværende tid (Pacific)"> - 24:00 PST - </text> - <button name="media_toggle_btn" tool_tip="Start/Stop Alle medier (musik, video, hjemmesider)"/> - <button name="volume_btn" tool_tip="Kontrol for generel lydstyrke"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/floater_camera.xml b/indra/newview/skins/minimal/xui/de/floater_camera.xml deleted file mode 100644 index d49c207f98c..00000000000 --- a/indra/newview/skins/minimal/xui/de/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater"> - <floater.string name="rotate_tooltip"> - Kamera um Fokus drehen - </floater.string> - <floater.string name="zoom_tooltip"> - Kamera auf Fokus zoomen - </floater.string> - <floater.string name="move_tooltip"> - Kamera nach oben, unten, links und rechts bewegen - </floater.string> - <floater.string name="camera_modes_title"> - Kameramodi - </floater.string> - <floater.string name="pan_mode_title"> - Kreisen - Zoomen - Schwenken - </floater.string> - <floater.string name="presets_mode_title"> - Ansichten - </floater.string> - <floater.string name="free_mode_title"> - Objekt ansehen - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Vorderansicht - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Seitenansicht - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Hinteransicht - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Objektansicht - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Mouselook - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Kamera auf Fokus zoomen"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Kamera um Fokus kreisen"/> - <slider_bar name="zoom_slider" tool_tip="Kamera auf Fokus zoomen"/> - <joystick_track name="cam_track_stick" tool_tip="Kamera nach oben, unten, links und rechts bewegen"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Ansichten"/> - <button label="" name="pan_btn" tool_tip="Kreisen - Zoomen - Schwenken"/> - <button label="" name="avatarview_btn" tool_tip="Kameramodi"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/floater_help_browser.xml b/indra/newview/skins/minimal/xui/de/floater_help_browser.xml deleted file mode 100644 index 459dfb66c0d..00000000000 --- a/indra/newview/skins/minimal/xui/de/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="ANWEISUNGEN"> - <floater.string name="loading_text"> - Wird geladen... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/floater_media_browser.xml b/indra/newview/skins/minimal/xui/de/floater_media_browser.xml deleted file mode 100644 index 63cf4a6cba3..00000000000 --- a/indra/newview/skins/minimal/xui/de/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="MEDIEN-BROWSER"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Zurück" name="back"/> - <button label="Vorwärts" name="forward"/> - <button label="Neu laden" name="reload"/> - <button label="Los" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="zurück" name="rewind"/> - <button label="anhalten" name="stop"/> - <button label="vorwärts" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Aktuelle Seite an Parzelle senden" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="In meinem Browser öffnen" name="open_browser"/> - <check_box label="Immer in meinem Browser öffnen" name="open_always"/> - <button label="Schließen" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/de/floater_nearby_chat.xml deleted file mode 100644 index bbb4114200d..00000000000 --- a/indra/newview/skins/minimal/xui/de/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT IN DER NÄHE"> - <check_box label="Chat übersetzen (Service von Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/floater_web_content.xml b/indra/newview/skins/minimal/xui/de/floater_web_content.xml deleted file mode 100644 index 6ab119eeab2..00000000000 --- a/indra/newview/skins/minimal/xui/de/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Rückwärts"/> - <button name="forward" tool_tip="Vorwärts"/> - <button name="stop" tool_tip="Navigation stoppen"/> - <button name="reload" tool_tip="Seite neu laden"/> - <combo_box name="address" tool_tip="URL hier eingeben"/> - <icon name="media_secure_lock_flag" tool_tip="Sicheres Browsen"/> - <button name="popexternal" tool_tip="Aktuelle URL im Desktop-Browser öffnen"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/inspect_avatar.xml b/indra/newview/skins/minimal/xui/de/inspect_avatar.xml deleted file mode 100644 index 4b8fd8a0ad1..00000000000 --- a/indra/newview/skins/minimal/xui/de/inspect_avatar.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_subtitle" value="11 Monate und 3 Tage alt"/> - <text name="user_details"> - Dies ist meine Second Life-Beschreibung und ich finde sie wirklich gut! Meine Beschreibung ist deshalb so lang, weil ich gerne rede. - </text> - <slider name="volume_slider" tool_tip="Lautstärke" value="0.5"/> - <button label="Freund hinzufügen" name="add_friend_btn" width="110"/> - <button label="IM" name="im_btn"/> - <button label="Profil" left_delta="120" name="view_profile_btn" width="44"/> - <panel name="moderator_panel"> - <button label="Voice deaktivieren" name="disable_voice"/> - <button label="Voice aktivieren" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/inspect_object.xml b/indra/newview/skins/minimal/xui/de/inspect_object.xml deleted file mode 100644 index 72b8235828e..00000000000 --- a/indra/newview/skins/minimal/xui/de/inspect_object.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Von [CREATOR] - </string> - <string name="CreatorAndOwner"> - Von [CREATOR] -Besitzer [OWNER] - </string> - <string name="Price"> - [AMOUNT] L$ - </string> - <string name="PriceFree"> - Kostenlos! - </string> - <string name="Touch"> - Berühren - </string> - <string name="Sit"> - Sitzen - </string> - <text name="object_name" value="Test für ein Objektname der sehr lange ist und über zwei Zeilen geht."/> - <text name="object_creator"> - von secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about -Besitzer secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about - </text> - <text name="price_text"> - 30.000 L$ - </text> - <text name="object_description"> - Dies ist eine wirklich lange Beschreibung für ein Objekt, mindestens 80 Zeichen lang oder jetzt schon mindestens 120 Zeichen lang und länger als der englische Originaltext. Niemand weiß es genau. - </text> - <text name="object_media_url"> - http://www.superdupertest.com - </text> - <button label="Kaufen" name="buy_btn"/> - <button label="Bezahlen" name="pay_btn"/> - <button label="Kopie nehmen" name="take_free_copy_btn" width="100"/> - <button label="Berühren" name="touch_btn"/> - <button label="Sitzen" name="sit_btn"/> - <button label="Öffnen" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Sicheres Browsen"/> - <button label="Mehr" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/de/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/de/menu_add_wearable_gear.xml deleted file mode 100644 index f3775a05ec3..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Nach aktuellesten Objekten sortieren" name="sort_by_most_recent"/> - <menu_item_check label="Nach Name sortieren" name="sort_by_name"/> - <menu_item_check label="Nach Typ sortieren" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/de/menu_attachment_other.xml deleted file mode 100644 index 237c92f7d26..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Profil anzeigen" name="Profile..."/> - <menu_item_call label="Freund hinzufügen" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="In Gruppe einladen" name="Invite..."/> - <menu_item_call label="Ignorieren" name="Avatar Mute"/> - <menu_item_call label="Melden" name="abuse"/> - <menu_item_call label="Einfrieren" name="Freeze..."/> - <menu_item_call label="Hinauswerfen" name="Eject..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> - <menu_item_call label="Hineinzoomen" name="Zoom In"/> - <menu_item_call label="Bezahlen" name="Pay..."/> - <menu_item_call label="Objektprofil" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/de/menu_attachment_self.xml deleted file mode 100644 index 644fc68ba4e..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Berühren" name="Attachment Object Touch"/> - <menu_item_call label="Bearbeiten" name="Edit..."/> - <menu_item_call label="Abnehmen" name="Detach"/> - <menu_item_call label="Hinsetzen" name="Sit Down Here"/> - <menu_item_call label="Aufstehen" name="Stand Up"/> - <menu_item_call label="Outfit ändern" name="Change Outfit"/> - <menu_item_call label="Mein Outfit bearbeiten" name="Edit Outfit"/> - <menu_item_call label="Meine Form bearbeiten" name="Edit My Shape"/> - <menu_item_call label="Meine Freunde" name="Friends..."/> - <menu_item_call label="Meine Gruppen" name="Groups..."/> - <menu_item_call label="Mein Profil" name="Profile..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> - <menu_item_call label="Fallen lassen" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/de/menu_avatar_icon.xml deleted file mode 100644 index c036cf5515e..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Profil anzeigen" name="Show Profile"/> - <menu_item_call label="IM senden..." name="Send IM"/> - <menu_item_call label="Freund hinzufügen..." name="Add Friend"/> - <menu_item_call label="Freund entfernen..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/de/menu_avatar_other.xml deleted file mode 100644 index 8aee0be3d2e..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Profil anzeigen" name="Profile..."/> - <menu_item_call label="Freund hinzufügen" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="In Gruppe einladen" name="Invite..."/> - <menu_item_call label="Ignorieren" name="Avatar Mute"/> - <menu_item_call label="Melden" name="abuse"/> - <menu_item_call label="Einfrieren" name="Freeze..."/> - <menu_item_call label="Hinauswerfen" name="Eject..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> - <menu_item_call label="Hineinzoomen" name="Zoom In"/> - <menu_item_call label="Bezahlen" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/de/menu_avatar_self.xml deleted file mode 100644 index 582c76ac945..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="Hinsetzen" name="Sit Down Here"/> - <menu_item_call label="Aufstehen" name="Stand Up"/> - <context_menu label="Ausziehen" name="Take Off >"> - <context_menu label="Kleidung" name="Clothes >"> - <menu_item_call label="Hemd" name="Shirt"/> - <menu_item_call label="Hose" name="Pants"/> - <menu_item_call label="Rock" name="Skirt"/> - <menu_item_call label="Schuhe" name="Shoes"/> - <menu_item_call label="Strümpfe" name="Socks"/> - <menu_item_call label="Jacke" name="Jacket"/> - <menu_item_call label="Handschuhe" name="Gloves"/> - <menu_item_call label="Unterhemd" name="Self Undershirt"/> - <menu_item_call label="Unterhose" name="Self Underpants"/> - <menu_item_call label="Tätowierung" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Alle Kleider" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Abnehmen" name="Object Detach"/> - <menu_item_call label="Alles abnehmen" name="Detach All"/> - </context_menu> - <menu_item_call label="Outfit ändern" name="Chenge Outfit"/> - <menu_item_call label="Mein Outfit bearbeiten" name="Edit Outfit"/> - <menu_item_call label="Meine Form bearbeiten" name="Edit My Shape"/> - <menu_item_call label="Meine Freunde" name="Friends..."/> - <menu_item_call label="Meine Gruppen" name="Groups..."/> - <menu_item_call label="Mein Profil" name="Profile..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/de/menu_bottomtray.xml deleted file mode 100644 index 6c4308286a6..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Schaltfläche Gesten" name="ShowGestureButton"/> - <menu_item_check label="Schaltfläche Bewegungssteuerung" name="ShowMoveButton"/> - <menu_item_check label="Schaltfläche Ansicht" name="ShowCameraButton"/> - <menu_item_check label="Schaltfläche Foto" name="ShowSnapshotButton"/> - <menu_item_check label="Schaltfläche „Seitenleiste“" name="ShowSidebarButton"/> - <menu_item_check label="Schaltfläche „Bauen“" name="ShowBuildButton"/> - <menu_item_check label="Schaltfläche „Suchen“" name="ShowSearchButton"/> - <menu_item_check label="Schaltfläche „Karte“" name="ShowWorldMapButton"/> - <menu_item_check label="Schaltfläche „Minikarte“" name="ShowMiniMapButton"/> - <menu_item_call label="Ausschneiden" name="NearbyChatBar_Cut"/> - <menu_item_call label="Kopieren" name="NearbyChatBar_Copy"/> - <menu_item_call label="Einfügen" name="NearbyChatBar_Paste"/> - <menu_item_call label="Löschen" name="NearbyChatBar_Delete"/> - <menu_item_call label="Alle auswählen" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/de/menu_cof_attachment.xml deleted file mode 100644 index 05d3dfca9dd..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Abnehmen" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/de/menu_cof_body_part.xml deleted file mode 100644 index 07960a525c7..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Ersetzen" name="replace"/> - <menu_item_call label="Bearbeiten" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/de/menu_cof_clothing.xml deleted file mode 100644 index 7fced273a78..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_cof_clothing.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Ausziehen" name="take_off"/> - <menu_item_call label="Ersetzen" name="replace"/> - <menu_item_call label="Eine Kategorie nach oben" name="move_up"/> - <menu_item_call label="Eine Kategorie nach unten" name="move_down"/> - <menu_item_call label="Bearbeiten" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/de/menu_cof_gear.xml deleted file mode 100644 index 54b218d22f7..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Neue Kleider" name="COF.Gear.New_Clothes"/> - <menu label="Neue Körperteile" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_edit.xml b/indra/newview/skins/minimal/xui/de/menu_edit.xml deleted file mode 100644 index 37f68d68d50..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Bearbeiten" name="Edit"> - <menu_item_call label="Rückgängig" name="Undo"/> - <menu_item_call label="Wiederherstellen" name="Redo"/> - <menu_item_call label="Ausschneiden" name="Cut"/> - <menu_item_call label="Kopieren" name="Copy"/> - <menu_item_call label="Einfügen" name="Paste"/> - <menu_item_call label="Löschen" name="Delete"/> - <menu_item_call label="Duplizieren" name="Duplicate"/> - <menu_item_call label="Alle auswählen" name="Select All"/> - <menu_item_call label="Auswahl aufheben" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_favorites.xml b/indra/newview/skins/minimal/xui/de/menu_favorites.xml deleted file mode 100644 index 0d0491d2ebc..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teleportieren" name="Teleport To Landmark"/> - <menu_item_call label="Landmarken anzeigen/bearbeiten" name="Landmark Open"/> - <menu_item_call label="SLurl kopieren" name="Copy slurl"/> - <menu_item_call label="Auf Karte zeigen" name="Show On Map"/> - <menu_item_call label="Kopieren" name="Landmark Copy"/> - <menu_item_call label="Einfügen" name="Landmark Paste"/> - <menu_item_call label="Löschen" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/de/menu_gesture_gear.xml deleted file mode 100644 index 953c0eeed57..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Zu Favoriten hinzufügen/daraus entfernen" name="activate"/> - <menu_item_call label="Kopieren" name="copy_gesture"/> - <menu_item_call label="Einfügen" name="paste"/> - <menu_item_call label="UUID kopieren" name="copy_uuid"/> - <menu_item_call label="Aktuelles Outfit speichern" name="save_to_outfit"/> - <menu_item_call label="Bearbeiten" name="edit_gesture"/> - <menu_item_call label="Untersuchen" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_group_plus.xml b/indra/newview/skins/minimal/xui/de/menu_group_plus.xml deleted file mode 100644 index 583ee793be6..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Werden Sie Mitglied..." name="item_join"/> - <menu_item_call label="Neue Gruppe..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/de/menu_hide_navbar.xml deleted file mode 100644 index 9acf96dc6d2..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Navigationsleiste anzeigen" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Favoritenleiste anzeigen" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Mini-Standortleiste anzeigen" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/de/menu_im_well_button.xml deleted file mode 100644 index f464b71f4a7..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Alle schließen" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/de/menu_imchiclet_adhoc.xml deleted file mode 100644 index 11f93f47b47..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Sitzung beenden" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/de/menu_imchiclet_group.xml deleted file mode 100644 index 81ef3b65692..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Gruppeninfo" name="Show Profile"/> - <menu_item_call label="Sitzung anzeigen" name="Chat"/> - <menu_item_call label="Sitzung beenden" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/de/menu_imchiclet_p2p.xml deleted file mode 100644 index d1232382462..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Profil anzeigen" name="Show Profile"/> - <menu_item_call label="Freund hinzufügen" name="Add Friend"/> - <menu_item_call label="Sitzung anzeigen" name="Send IM"/> - <menu_item_call label="Sitzung beenden" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml deleted file mode 100644 index 72ba7fe41dc..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Profil anzeigen" name="view_profile"/> - <menu_item_call label="Freund hinzufügen" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="Anrufen" name="call"/> - <menu_item_call label="Teleportieren" name="teleport"/> - <menu_item_call label="Ignorieren" name="block"/> - <menu_item_call label="Freischalten" name="unblock"/> - <menu_item_call label="Melden" name="report"/> - <menu_item_call label="Einfrieren" name="freeze"/> - <menu_item_call label="Hinauswerfen" name="eject"/> - <menu_item_call label="Hinauswerfen" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Fehler in Texturen beseitigen" name="debug"/> - <menu_item_call label="Auf Karte anzeigen" name="find_on_map"/> - <menu_item_call label="Hineinzoomen" name="zoom_in"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/de/menu_inspect_object_gear.xml deleted file mode 100644 index 7c47913e30f..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Berühren" name="touch"/> - <menu_item_call label="Sitzen" name="sit"/> - <menu_item_call label="Bezahlen" name="pay"/> - <menu_item_call label="Kaufen" name="buy"/> - <menu_item_call label="Nehmen" name="take"/> - <menu_item_call label="Kopie nehmen" name="take_copy"/> - <menu_item_call label="Öffnen" name="open"/> - <menu_item_call label="Bearbeiten" name="edit"/> - <menu_item_call label="Anziehen" name="wear"/> - <menu_item_call label="Hinzufügen" name="add"/> - <menu_item_call label="Melden" name="report"/> - <menu_item_call label="Ignorieren" name="block"/> - <menu_item_call label="Hineinzoomen" name="zoom_in"/> - <menu_item_call label="Entfernen" name="remove"/> - <menu_item_call label="Weitere Infos" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/de/menu_inspect_self_gear.xml deleted file mode 100644 index 443092319b5..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inspect_self_gear.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="Hinsetzen" name="Sit Down Here"/> - <menu_item_call label="Aufstehen" name="Stand Up"/> - <menu_item_call label="Meine Freunde" name="Friends..."/> - <menu_item_call label="Mein Profil" name="Profile..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/de/menu_inv_offer_chiclet.xml deleted file mode 100644 index 71cff7136bb..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Schließen" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inventory.xml b/indra/newview/skins/minimal/xui/de/menu_inventory.xml deleted file mode 100644 index 43722e0dcf6..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inventory.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teilen" name="Share"/> - <menu_item_call label="Kaufen" name="Task Buy"/> - <menu_item_call label="Öffnen" name="Task Open"/> - <menu_item_call label="Abspielen" name="Task Play"/> - <menu_item_call label="Eigenschaften" name="Task Properties"/> - <menu_item_call label="Umbenennen" name="Task Rename"/> - <menu_item_call label="Löschen" name="Task Remove"/> - <menu_item_call label="Papierkorb ausleeren" name="Empty Trash"/> - <menu_item_call label="Fundstücke ausleeren" name="Empty Lost And Found"/> - <menu_item_call label="Neuer Ordner" name="New Folder"/> - <menu_item_call label="Neues Skript" name="New Script"/> - <menu_item_call label="Neue Notizkarte" name="New Note"/> - <menu_item_call label="Neue Geste" name="New Gesture"/> - <menu label="Neue Kleider" name="New Clothes"> - <menu_item_call label="Neues Hemd" name="New Shirt"/> - <menu_item_call label="Neue Hose" name="New Pants"/> - <menu_item_call label="Neue Schuhe" name="New Shoes"/> - <menu_item_call label="Neue Socken" name="New Socks"/> - <menu_item_call label="Neue Jacke" name="New Jacket"/> - <menu_item_call label="Neuer Rock" name="New Skirt"/> - <menu_item_call label="Neue Handschuhe" name="New Gloves"/> - <menu_item_call label="Neues Unterhemd" name="New Undershirt"/> - <menu_item_call label="Neue Unterhose" name="New Underpants"/> - <menu_item_call label="Neue Alpha-Maske" name="New Alpha Mask"/> - <menu_item_call label="Neue Tätowierung" name="New Tattoo"/> - </menu> - <menu label="Neue Körperteile" name="New Body Parts"> - <menu_item_call label="Neue Form/Gestalt" name="New Shape"/> - <menu_item_call label="Neue Haut" name="New Skin"/> - <menu_item_call label="Neues Haar" name="New Hair"/> - <menu_item_call label="Neue Augen" name="New Eyes"/> - </menu> - <menu label="Typ ändern" name="Change Type"> - <menu_item_call label="Standard" name="Default"/> - <menu_item_call label="Handschuhe" name="Gloves"/> - <menu_item_call label="Jacke" name="Jacket"/> - <menu_item_call label="Hose" name="Pants"/> - <menu_item_call label="Form" name="Shape"/> - <menu_item_call label="Schuhe" name="Shoes"/> - <menu_item_call label="Hemd" name="Shirt"/> - <menu_item_call label="Rock" name="Skirt"/> - <menu_item_call label="Unterhose" name="Underpants"/> - <menu_item_call label="Unterhemd" name="Undershirt"/> - </menu> - <menu_item_call label="Teleportieren" name="Landmark Open"/> - <menu_item_call label="Öffnen" name="Animation Open"/> - <menu_item_call label="Öffnen" name="Sound Open"/> - <menu_item_call label="Aktuelles Outfit ersetzen" name="Replace Outfit"/> - <menu_item_call label="Zum aktuellen Outfit hinzufügen" name="Add To Outfit"/> - <menu_item_call label="Vom aktuellen Outfit entfernen" name="Remove From Outfit"/> - <menu_item_call label="Original suchen" name="Find Original"/> - <menu_item_call label="Objekt löschen" name="Purge Item"/> - <menu_item_call label="Objekt wiederherstellen" name="Restore Item"/> - <menu_item_call label="Öffnen" name="Open"/> - <menu_item_call label="Original öffnen" name="Open Original"/> - <menu_item_call label="Eigenschaften" name="Properties"/> - <menu_item_call label="Umbenennen" name="Rename"/> - <menu_item_call label="Asset-UUID kopieren" name="Copy Asset UUID"/> - <menu_item_call label="Kopieren" name="Copy"/> - <menu_item_call label="Einfügen" name="Paste"/> - <menu_item_call label="Als Link einfügen" name="Paste As Link"/> - <menu_item_call label="Löschen" name="Remove Link"/> - <menu_item_call label="Löschen" name="Delete"/> - <menu_item_call label="Systemordner löschen" name="Delete System Folder"/> - <menu_item_call label="Konferenz-Chat starten" name="Conference Chat Folder"/> - <menu_item_call label="Wiedergeben/Abspielen" name="Sound Play"/> - <menu_item_call label="Landmarken-Info" name="About Landmark"/> - <menu_item_call label="Inworld abspielen" name="Animation Play"/> - <menu_item_call label="Lokal abspielen" name="Animation Audition"/> - <menu_item_call label="Instant Message senden" name="Send Instant Message"/> - <menu_item_call label="Teleport anbieten..." name="Offer Teleport..."/> - <menu_item_call label="Konferenz-Chat starten" name="Conference Chat"/> - <menu_item_call label="Aktivieren" name="Activate"/> - <menu_item_call label="Deaktivieren" name="Deactivate"/> - <menu_item_call label="Speichern unter" name="Save As"/> - <menu_item_call label="Von Körper abnehmen" name="Detach From Yourself"/> - <menu_item_call label="Anziehen" name="Wearable And Object Wear"/> - <menu label="Anhängen an" name="Attach To"/> - <menu label="An HUD hängen" name="Attach To HUD"/> - <menu_item_call label="Bearbeiten" name="Wearable Edit"/> - <menu_item_call label="Hinzufügen" name="Wearable Add"/> - <menu_item_call label="Ausziehen" name="Take Off"/> - <menu_item_call label="--keine Optionen--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/de/menu_inventory_add.xml deleted file mode 100644 index dccee6712da..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Hochladen" name="upload"> - <menu_item_call label="Bild ([COST] L$)..." name="Upload Image"/> - <menu_item_call label="Sound ([COST] L$)..." name="Upload Sound"/> - <menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/> - <menu_item_call label="Mehrfach-Upload ([COST] L$ pro Datei)..." name="Bulk Upload"/> - <menu_item_call label="Hochlade-Berechtigungen (Standard) festlegen" name="perm prefs"/> - </menu> - <menu_item_call label="Neuer Ordner" name="New Folder"/> - <menu_item_call label="Neues Skript" name="New Script"/> - <menu_item_call label="Neue Notizkarte" name="New Note"/> - <menu_item_call label="Neue Geste" name="New Gesture"/> - <menu label="Neue Kleider" name="New Clothes"> - <menu_item_call label="Neues Hemd" name="New Shirt"/> - <menu_item_call label="Neue Hose" name="New Pants"/> - <menu_item_call label="Neue Schuhe" name="New Shoes"/> - <menu_item_call label="Neue Socken" name="New Socks"/> - <menu_item_call label="Neue Jacke" name="New Jacket"/> - <menu_item_call label="Neuer Rock" name="New Skirt"/> - <menu_item_call label="Neue Handschuhe" name="New Gloves"/> - <menu_item_call label="Neues Unterhemd" name="New Undershirt"/> - <menu_item_call label="Neue Unterhose" name="New Underpants"/> - <menu_item_call label="Neues Alpha" name="New Alpha"/> - <menu_item_call label="Neue Tätowierung" name="New Tattoo"/> - </menu> - <menu label="Neue Körperteile" name="New Body Parts"> - <menu_item_call label="Neue Form/Gestalt" name="New Shape"/> - <menu_item_call label="Neue Haut" name="New Skin"/> - <menu_item_call label="Neues Haar" name="New Hair"/> - <menu_item_call label="Neue Augen" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/de/menu_inventory_gear_default.xml deleted file mode 100644 index df86a5cf71c..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_inventory_gear_default.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Neues Inventar-Fenster" name="new_window"/> - <menu_item_check label="Nach Name sortieren" name="sort_by_name"/> - <menu_item_check label="Nach aktuellesten Objekten sortieren" name="sort_by_recent"/> - <menu_item_check label="Systemordner nach oben" name="sort_system_folders_to_top"/> - <menu_item_call label="Filter anzeigen" name="show_filters"/> - <menu_item_call label="Filter zurücksetzen" name="reset_filters"/> - <menu_item_call label="Alle Ordner schließen" name="close_folders"/> - <menu_item_call label="Fundbüro ausleeren" name="empty_lostnfound"/> - <menu_item_call label="Textur speichern als" name="Save Texture As"/> - <menu_item_call label="Teilen" name="Share"/> - <menu_item_call label="Original suchen" name="Find Original"/> - <menu_item_call label="Alle Links suchen" name="Find All Links"/> - <menu_item_call label="Papierkorb ausleeren" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_land.xml b/indra/newview/skins/minimal/xui/de/menu_land.xml deleted file mode 100644 index de679da3d8e..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="Land-Info" name="Place Information..."/> - <menu_item_call label="Hier sitzen" name="Sit Here"/> - <menu_item_call label="Dieses Land kaufen" name="Land Buy"/> - <menu_item_call label="Pass kaufen" name="Land Buy Pass"/> - <menu_item_call label="Bauen" name="Create"/> - <menu_item_call label="Land bearbeiten" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_landmark.xml b/indra/newview/skins/minimal/xui/de/menu_landmark.xml deleted file mode 100644 index 2aff0eec958..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="SLurl kopieren" name="copy"/> - <menu_item_call label="Löschen" name="delete"/> - <menu_item_call label="Auswahl erstellen" name="pick"/> - <menu_item_call label="Zu Favoritenleiste hinzufügen" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_login.xml b/indra/newview/skins/minimal/xui/de/menu_login.xml deleted file mode 100644 index a373e15338c..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_login.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Ich" name="File"> - <menu_item_call label="Einstellungen" name="Preferences..."/> - <menu_item_call label="[APP_NAME] schließen" name="Quit"/> - </menu> - <menu label="Hilfe" name="Help"> - <menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/> - <menu_item_call label="INFO ÃœBER [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Debug-Menü anzeigen" name="Show Debug Menu"/> - <menu label="Debug" name="Debug"> - <menu_item_call label="Debug-Einstellungen anzeigen" name="Debug Settings"/> - <menu_item_call label="UI/Farb-Einstellungen" name="UI/Color Settings"/> - <menu_item_call label="XUI-Editor" name="UI Preview Tool"/> - <menu label="UI-Tests" name="UI Tests"/> - <menu_item_call label="Fenstergröße einstellen..." name="Set Window Size..."/> - <menu_item_call label="Servicebedingungen anzeigen" name="TOS"/> - <menu_item_call label="Wichtige Meldung anzeigen" name="Critical"/> - <menu_item_call label="Test Medienbrowser" name="Web Browser Test"/> - <menu_item_call label="Test Webinhalt-Floater" name="Web Content Floater Test"/> - <menu_item_check label="Grid-Auswahl anzeigen" name="Show Grid Picker"/> - <menu_item_call label="Benachrichtigungs-Konsole anzeigen" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/de/menu_mini_map.xml b/indra/newview/skins/minimal/xui/de/menu_mini_map.xml deleted file mode 100644 index 2e0d72c40c0..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom Nah" name="Zoom Close"/> - <menu_item_call label="Zoom Mittel" name="Zoom Medium"/> - <menu_item_call label="Zoom Weit" name="Zoom Far"/> - <menu_item_call label="Zoom-Standard" name="Zoom Default"/> - <menu_item_check label="Karte drehen" name="Rotate Map"/> - <menu_item_check label="Automatisch zentrieren" name="Auto Center"/> - <menu_item_call label="Verfolgung abschalten" name="Stop Tracking"/> - <menu_item_call label="Weltkarte" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_navbar.xml b/indra/newview/skins/minimal/xui/de/menu_navbar.xml deleted file mode 100644 index 5175f34b418..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Koordinaten anzeigen" name="Show Coordinates"/> - <menu_item_check label="Parzelleneigenschaften anzeigen" name="Show Parcel Properties"/> - <menu_item_call label="Landmarke" name="Landmark"/> - <menu_item_call label="Ausschneiden" name="Cut"/> - <menu_item_call label="Kopieren" name="Copy"/> - <menu_item_call label="Einfügen" name="Paste"/> - <menu_item_call label="Löschen" name="Delete"/> - <menu_item_call label="Alle auswählen" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/de/menu_nearby_chat.xml deleted file mode 100644 index 99d6428c3f8..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Leute in der Nähe anzeigen..." name="nearby_people"/> - <menu_item_check label="Ignorierten Text anzeigen" name="muted_text"/> - <menu_item_check label="Bilder von Freunden anzeigen" name="show_buddy_icons"/> - <menu_item_check label="Namen anzeigen" name="show_names"/> - <menu_item_check label="Namen und Symbole anzeigen" name="show_icons_and_names"/> - <menu_item_call label="Schriftgröße" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/de/menu_notification_well_button.xml deleted file mode 100644 index 0f2784f1607..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Alle schließen" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_object.xml b/indra/newview/skins/minimal/xui/de/menu_object.xml deleted file mode 100644 index 19057d4228d..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Berühren" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Berühren"/> - </menu_item_call> - <menu_item_call label="Bearbeiten" name="Edit..."/> - <menu_item_call label="Bauen" name="Build"/> - <menu_item_call label="Öffnen" name="Open"/> - <menu_item_call label="Hier sitzen" name="Object Sit"/> - <menu_item_call label="Aufstehen" name="Object Stand Up"/> - <menu_item_call label="Objektprofil" name="Object Inspect"/> - <menu_item_call label="Hineinzoomen" name="Zoom In"/> - <context_menu label="Anziehen" name="Put On"> - <menu_item_call label="Anziehen" name="Wear"/> - <menu_item_call label="Hinzufügen" name="Add"/> - <context_menu label="Anhängen" name="Object Attach"/> - <context_menu label="HUD anhängen" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Entfernen" name="Remove"> - <menu_item_call label="Missbrauch melden" name="Report Abuse..."/> - <menu_item_call label="Ignorieren" name="Object Mute"/> - <menu_item_call label="Zurückgeben" name="Return..."/> - <menu_item_call label="Löschen" name="Delete"/> - </context_menu> - <menu_item_call label="Nehmen" name="Pie Object Take"/> - <menu_item_call label="Kopie nehmen" name="Take Copy"/> - <menu_item_call label="Bezahlen" name="Pay..."/> - <menu_item_call label="Kaufen" name="Buy..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_object_icon.xml b/indra/newview/skins/minimal/xui/de/menu_object_icon.xml deleted file mode 100644 index 8b6c558416b..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Objektprofil..." name="Object Profile"/> - <menu_item_call label="Ignorieren..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/de/menu_outfit_gear.xml deleted file mode 100644 index 897154ec562..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Anziehen - Aktuelles Outfit ersetzen" name="wear"/> - <menu_item_call label="Anziehen - Aktuelles Outfit hinzufügen" name="wear_add"/> - <menu_item_call label="Ausziehen - Aus aktuellem Outfit entfernen" name="take_off"/> - <menu label="Neue Kleider" name="New Clothes"> - <menu_item_call label="Neues Hemd" name="New Shirt"/> - <menu_item_call label="Neue Hose" name="New Pants"/> - <menu_item_call label="Neue Schuhe" name="New Shoes"/> - <menu_item_call label="Neue Socken" name="New Socks"/> - <menu_item_call label="Neue Jacke" name="New Jacket"/> - <menu_item_call label="Neuer Rock" name="New Skirt"/> - <menu_item_call label="Neue Handschuhe" name="New Gloves"/> - <menu_item_call label="Neues Unterhemd" name="New Undershirt"/> - <menu_item_call label="Neue Unterhose" name="New Underpants"/> - <menu_item_call label="Neues Alpha" name="New Alpha"/> - <menu_item_call label="Neue Tätowierung" name="New Tattoo"/> - </menu> - <menu label="Neue Körperteile" name="New Body Parts"> - <menu_item_call label="Neue Form" name="New Shape"/> - <menu_item_call label="Neue Haut" name="New Skin"/> - <menu_item_call label="Neues Haar" name="New Hair"/> - <menu_item_call label="Neue Augen" name="New Eyes"/> - </menu> - <menu_item_call label="Outfit neu benennen" name="rename"/> - <menu_item_call label="Outfit löschen" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/de/menu_outfit_tab.xml deleted file mode 100644 index 32a65c96fc8..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Anziehen - Aktuelles Outfit ersetzen" name="wear_replace"/> - <menu_item_call label="Anziehen - Aktuelles Outfit hinzufügen" name="wear_add"/> - <menu_item_call label="Ausziehen - Aus aktuellem Outfit entfernen" name="take_off"/> - <menu_item_call label="Outfit bearbeiten" name="edit"/> - <menu_item_call label="Outfit neu benennen" name="rename"/> - <menu_item_call label="Outfit löschen" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_participant_list.xml b/indra/newview/skins/minimal/xui/de/menu_participant_list.xml deleted file mode 100644 index 160f2f97bed..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Nach Name sortieren" name="SortByName"/> - <menu_item_check label="Nach letzten Sprechern sortieren" name="SortByRecentSpeakers"/> - <menu_item_call label="Profil anzeigen" name="View Profile"/> - <menu_item_call label="Freund hinzufügen" name="Add Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="Teilen" name="Share"/> - <menu_item_call label="Bezahlen" name="Pay"/> - <menu_item_check label="Symbole für Personen anzeigen" name="View Icons"/> - <menu_item_check label="Voice ignorieren" name="Block/Unblock"/> - <menu_item_check label="Text ignorieren" name="MuteText"/> - <context_menu label="Moderator-Optionen" name="Moderator Options"> - <menu_item_check label="Text-Chat zulassen" name="AllowTextChat"/> - <menu_item_call label="Diesen Teilnehmer stummschalten" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Stummschaltung für diesen Teilnehmer aufheben" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Alle stummschalten" name="ModerateVoiceMute"/> - <menu_item_call label="Alle freischalten" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/de/menu_people_friends_view_sort.xml deleted file mode 100644 index 84d9d8938ce..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Nach Name sortieren" name="sort_name"/> - <menu_item_check label="Nach Status sortieren" name="sort_status"/> - <menu_item_check label="Symbole für Personen anzeigen" name="view_icons"/> - <menu_item_check label="Erteilte Genehmigungen anzeigen" name="view_permissions"/> - <menu_item_call label="Ignorierte Einwohner & Objekte anzeigen" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_groups.xml b/indra/newview/skins/minimal/xui/de/menu_people_groups.xml deleted file mode 100644 index 76225ba2414..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Info anzeigen" name="View Info"/> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="Aktivieren" name="Activate"/> - <menu_item_call label="Verlassen" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/de/menu_people_groups_view_sort.xml deleted file mode 100644 index b68597d8aa1..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Gruppensymbole anzeigen" name="Display Group Icons"/> - <menu_item_call label="Ausgewählte Gruppe verlassen" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/de/menu_people_nearby.xml deleted file mode 100644 index 1db964357fe..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Profil anzeigen" name="View Profile"/> - <menu_item_call label="Freund hinzufügen" name="Add Friend"/> - <menu_item_call label="Freund entfernen" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="Karte" name="Map"/> - <menu_item_call label="Teilen" name="Share"/> - <menu_item_call label="Bezahlen" name="Pay"/> - <menu_item_check label="Ignorieren/Freischalten" name="Block/Unblock"/> - <menu_item_call label="Teleport anbieten" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/de/menu_people_nearby_multiselect.xml deleted file mode 100644 index b6e99edfe1f..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Freunde hinzufügen" name="Add Friends"/> - <menu_item_call label="Freunde entfernen" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Anrufen" name="Call"/> - <menu_item_call label="Teilen" name="Share"/> - <menu_item_call label="Bezahlen" name="Pay"/> - <menu_item_call label="Teleport anbieten" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/de/menu_people_nearby_view_sort.xml deleted file mode 100644 index 0f252ab46d9..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Nach letzten Sprechern sortieren" name="sort_by_recent_speakers"/> - <menu_item_check label="Nach Name sortieren" name="sort_name"/> - <menu_item_check label="Nach Entfernung sortieren" name="sort_distance"/> - <menu_item_check label="Symbole für Personen anzeigen" name="view_icons"/> - <menu_item_call label="Ignorierte Einwohner & Objekte anzeigen" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/de/menu_people_recent_view_sort.xml deleted file mode 100644 index 1ef020f5e1c..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Nach aktuellesten Sprechern sortieren" name="sort_most"/> - <menu_item_check label="Nach Name sortieren" name="sort_name"/> - <menu_item_check label="Symbole für Personen anzeigen" name="view_icons"/> - <menu_item_call label="Ignorierte Einwohner & Objekte anzeigen" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_picks.xml b/indra/newview/skins/minimal/xui/de/menu_picks.xml deleted file mode 100644 index 9aec4c83b0c..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Info" name="pick_info"/> - <menu_item_call label="Bearbeiten" name="pick_edit"/> - <menu_item_call label="Teleportieren" name="pick_teleport"/> - <menu_item_call label="Karte" name="pick_map"/> - <menu_item_call label="Löschen" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/de/menu_picks_plus.xml deleted file mode 100644 index 385ff25b954..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Neue Auswahl" name="create_pick"/> - <menu_item_call label="Neue Anzeige" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_place.xml b/indra/newview/skins/minimal/xui/de/menu_place.xml deleted file mode 100644 index d9c85f5b929..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Eine Landmarke setzen" name="landmark"/> - <menu_item_call label="Auswahl erstellen" name="pick"/> - <menu_item_call label="Pass kaufen" name="pass"/> - <menu_item_call label="Bearbeiten" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/de/menu_place_add_button.xml deleted file mode 100644 index 7c0ff4a46a0..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Ordner hinzufügen" name="add_folder"/> - <menu_item_call label="Landmarke hinzufügen" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/de/menu_places_gear_folder.xml deleted file mode 100644 index 132d3f6466d..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_places_gear_folder.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Landmarke hinzufügen" name="add_landmark"/> - <menu_item_call label="Ordner hinzufügen" name="add_folder"/> - <menu_item_call label="Ausschneiden" name="cut"/> - <menu_item_call label="Kopieren" name="copy_folder"/> - <menu_item_call label="Einfügen" name="paste"/> - <menu_item_call label="Umbenennen" name="rename"/> - <menu_item_call label="Löschen" name="delete"/> - <menu_item_call label="Erweitern Sie sich" name="expand"/> - <menu_item_call label="Zuklappen" name="collapse"/> - <menu_item_call label="Alle Ordner aufklappen" name="expand_all"/> - <menu_item_call label="Alle Ordner schließen" name="collapse_all"/> - <menu_item_check label="Nach Datum sortieren" name="sort_by_date"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/de/menu_places_gear_landmark.xml deleted file mode 100644 index 6af4d644af0..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_places_gear_landmark.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_ladmark_gear"> - <menu_item_call label="Teleportieren" name="teleport"/> - <menu_item_call label="Weitere Informationen" name="more_info"/> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="Landmarke hinzufügen" name="add_landmark"/> - <menu_item_call label="Ordner hinzufügen" name="add_folder"/> - <menu_item_call label="Ausschneiden" name="cut"/> - <menu_item_call label="Landmarke kopieren" name="copy_landmark"/> - <menu_item_call label="SLurl kopieren" name="copy_slurl"/> - <menu_item_call label="Einfügen" name="paste"/> - <menu_item_call label="Umbenennen" name="rename"/> - <menu_item_call label="Löschen" name="delete"/> - <menu_item_call label="Alle Ordner aufklappen" name="expand_all"/> - <menu_item_call label="Alle Ordner schließen" name="collapse_all"/> - <menu_item_check label="Nach Datum sortieren" name="sort_by_date"/> - <menu_item_call label="Auswahl erstellen" name="create_pick"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/de/menu_profile_overflow.xml deleted file mode 100644 index 9f3fcbca1d2..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Karte" name="show_on_map"/> - <menu_item_call label="Bezahlen" name="pay"/> - <menu_item_call label="Teilen" name="share"/> - <menu_item_call label="Ignorieren" name="block"/> - <menu_item_call label="Freischalten" name="unblock"/> - <menu_item_call label="Hinauswerfen" name="kick"/> - <menu_item_call label="Einfrieren" name="freeze"/> - <menu_item_call label="Auftauen" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/de/menu_save_outfit.xml deleted file mode 100644 index 986c78b318a..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Speichern" name="save_outfit"/> - <menu_item_call label="Speichern unter" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/de/menu_script_chiclet.xml deleted file mode 100644 index 3256aa1a877..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Schließen" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_slurl.xml b/indra/newview/skins/minimal/xui/de/menu_slurl.xml deleted file mode 100644 index b2ec017f9f3..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="URL-Info" name="about_url"/> - <menu_item_call label="Zu URL teleportieren" name="teleport_to_url"/> - <menu_item_call label="Karte" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/de/menu_teleport_history_gear.xml deleted file mode 100644 index 68b8e21802a..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Alle Ordner aufklappen" name="Expand all folders"/> - <menu_item_call label="Alle Ordner schließen" name="Collapse all folders"/> - <menu_item_call label="Teleport-Liste löschen" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/de/menu_teleport_history_item.xml deleted file mode 100644 index ff8fb0b1819..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teleportieren" name="Teleport"/> - <menu_item_call label="Weitere Informationen" name="More Information"/> - <menu_item_call label="In Zwischenablage kopieren" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/de/menu_teleport_history_tab.xml deleted file mode 100644 index 194dd16fd14..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Öffnen" name="TabOpen"/> - <menu_item_call label="Schließen" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_text_editor.xml b/indra/newview/skins/minimal/xui/de/menu_text_editor.xml deleted file mode 100644 index c00186c13e9..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Ausschneiden" name="Cut"/> - <menu_item_call label="Kopieren" name="Copy"/> - <menu_item_call label="Einfügen" name="Paste"/> - <menu_item_call label="Löschen" name="Delete"/> - <menu_item_call label="Alle auswählen" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/de/menu_topinfobar.xml deleted file mode 100644 index 5b0a724244e..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Koordinaten anzeigen" name="Show Coordinates"/> - <menu_item_check label="Parzellen-Eigenschaften anzeigen" name="Show Parcel Properties"/> - <menu_item_call label="Landmarke" name="Landmark"/> - <menu_item_call label="Kopieren" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_agent.xml b/indra/newview/skins/minimal/xui/de/menu_url_agent.xml deleted file mode 100644 index 9a808088fbe..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Einwohnerprofil anzeigen" name="show_agent"/> - <menu_item_call label="Name in Zwischenablage kopieren" name="url_copy_label"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_group.xml b/indra/newview/skins/minimal/xui/de/menu_url_group.xml deleted file mode 100644 index 6bd86414bc1..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Gruppeninformation anzeigen" name="show_group"/> - <menu_item_call label="Gruppe in Zwischenablage kopieren" name="url_copy_label"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_http.xml b/indra/newview/skins/minimal/xui/de/menu_url_http.xml deleted file mode 100644 index 30eb1668a54..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Webseite öffnen" name="url_open"/> - <menu_item_call label="Im internen Browser öffnen" name="url_open_internal"/> - <menu_item_call label="Im externen Browser öffnen" name="url_open_external"/> - <menu_item_call label="URL in Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/de/menu_url_inventory.xml deleted file mode 100644 index dc069df02b6..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Inventarobjekte anzeigen" name="show_item"/> - <menu_item_call label="Name in Zwischenablage kopieren" name="url_copy_label"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_map.xml b/indra/newview/skins/minimal/xui/de/menu_url_map.xml deleted file mode 100644 index 2f6ffcd4500..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="Zu Position teleportieren" name="teleport_to_location"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/de/menu_url_objectim.xml deleted file mode 100644 index 90d3763d9c0..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Objektinformationen anzeigen" name="show_object"/> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="Zu Objekt-Position teleportieren" name="teleport_to_object"/> - <menu_item_call label="Objektname in Zwischenablage kopieren" name="url_copy_label"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/de/menu_url_parcel.xml deleted file mode 100644 index 9169bca24f3..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Parzelleninformationen anzeigen" name="show_parcel"/> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/de/menu_url_slapp.xml deleted file mode 100644 index 72e916b902d..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Diesen Befehl ausführen" name="run_slapp"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/de/menu_url_slurl.xml deleted file mode 100644 index 5d48230ebf8..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Ortsinformationen anzeigen" name="show_place"/> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="Zu Position teleportieren" name="teleport_to_location"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/de/menu_url_teleport.xml deleted file mode 100644 index 4cc1ecc70ea..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="An diesen Standort teleportieren" name="teleport"/> - <menu_item_call label="Auf Karte zeigen" name="show_on_map"/> - <menu_item_call label="SLurl in die Zwischenablage kopieren" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_viewer.xml b/indra/newview/skins/minimal/xui/de/menu_viewer.xml deleted file mode 100644 index 67dc618eb01..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Hilfe" name="Help"> - <menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/> - </menu> - <menu label="Erweitert" name="Advanced"> - <menu label="Tastaturkürzel" name="Shortcuts"> - <menu_item_check label="Fliegen" name="Fly"/> - <menu_item_call label="Fenster schließen" name="Close Window"/> - <menu_item_call label="Alle Fenster schließen" name="Close All Windows"/> - <menu_item_call label="Ansicht zurücksetzen" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/de/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/de/menu_wearable_list_item.xml deleted file mode 100644 index 283e454a064..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Ersetzen" name="wear_replace"/> - <menu_item_call label="Anziehen" name="wear_wear"/> - <menu_item_call label="Hinzufügen" name="wear_add"/> - <menu_item_call label="Ausziehen / Abnehmen" name="take_off_or_detach"/> - <menu_item_call label="Abnehmen" name="detach"/> - <context_menu label="Anhängen an" name="wearable_attach_to"/> - <context_menu label="An HUD hängen" name="wearable_attach_to_hud"/> - <menu_item_call label="Ausziehen" name="take_off"/> - <menu_item_call label="Bearbeiten" name="edit"/> - <menu_item_call label="Objektprofil" name="object_profile"/> - <menu_item_call label="Original anzeigen" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/de/menu_wearing_gear.xml deleted file mode 100644 index 80d4ff4d9fa..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Outfit bearbeiten" name="edit"/> - <menu_item_call label="Ausziehen" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/de/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/de/menu_wearing_tab.xml deleted file mode 100644 index 695451a1056..00000000000 --- a/indra/newview/skins/minimal/xui/de/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Ausziehen" name="take_off"/> - <menu_item_call label="Abnehmen" name="detach"/> - <menu_item_call label="Outfit bearbeiten" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/de/notifications.xml b/indra/newview/skins/minimal/xui/de/notifications.xml deleted file mode 100644 index 9abf8cdbb9f..00000000000 --- a/indra/newview/skins/minimal/xui/de/notifications.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <notification name="UserGiveItem"> - [NAME_SLURL] bietet Ihnen [ITEM_SLURL] an. Zur Verwendung dieses Artikels müssen Sie in den erweiterten Modus umschalten, wo Sie den Artikel in Ihrem Inventar finden werden. Um in den erweiterten Modus umzuschalten, beenden Sie die Anwendung, starten Sie sie neu und ändern Sie die Moduseinstellung auf dem Anmeldebildschirm. - <form name="form"> - <button name="Show" text="Artikel behalten"/> - <button name="Discard" text="Artikel ablehnen"/> - <button name="Mute" text="Benutzer blockieren"/> - </form> - </notification> - <notification name="ObjectGiveItem"> - Ein Objekt namens <nolink>[OBJECTFROMNAME]</nolink>, das [NAME_SLURL] gehört, bietet Ihnen <nolink>[ITEM_SLURL]</nolink> an. Zur Verwendung dieses Artikels müssen Sie in den erweiterten Modus umschalten, wo Sie den Artikel in Ihrem Inventar finden werden. Um in den erweiterten Modus umzuschalten, beenden Sie die Anwendung, starten Sie sie neu und ändern Sie die Moduseinstellung auf dem Anmeldebildschirm. - <form name="form"> - <button name="Keep" text="Artikel behalten"/> - <button name="Discard" text="Artikel ablehnen"/> - <button name="Mute" text="Objekt blockieren"/> - </form> - </notification> -</notifications> diff --git a/indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml deleted file mode 100644 index cc45f421693..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Anrufen" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Anruf beenden" name="end_call_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/de/panel_bottomtray.xml deleted file mode 100644 index 2278bfb6998..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="Schaltet Mikrofon ein/aus"/> - <string name="VoiceControlBtnToolTip" value="Voice-Chat-Steuerung anzeigen/ausblenden"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Sprechen" name="speak_btn" tool_tip="Mikrofon ein- und ausschalten"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Soundeinstellungen ändern"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gesten" name="Gesture" tool_tip="Ihren Avatar bestimmte Aktionen durchführen lassen"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Ansicht" name="camera_btn" tool_tip="Kamerawinkel steuern"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Ziele" name="destination_btn" tool_tip="Durch Second Life reisen"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Mein Avatar" name="avatar_btn" tool_tip="Eigenes Aussehen verändern"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Leute" name="show_people_button" tool_tip="Personen in Second Life suchen"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Eigenes Profil anzeigen und bearbeiten"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Anweisungen" name="show_help_btn" tool_tip="Hilfeinfos zu Second Life anzeigen"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="IMs"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Benachrichtigungen"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/de/panel_group_control_panel.xml deleted file mode 100644 index 81e6040f841..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_group_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="end_call_btn_panel"> - <button label="Anruf beenden" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Voice-Steuerung öffnen" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml deleted file mode 100644 index 56c2310f2f9..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Freund hinzufügen" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleportieren" name="teleport_btn" tool_tip="Dieser Person einen Teleport anbieten"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Anrufen" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Anruf beenden" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="Ignorieren" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="Freischalten" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="Anrufvolumen" value="0,5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_login.xml b/indra/newview/skins/minimal/xui/de/panel_login.xml deleted file mode 100644 index 2e82453aab1..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_login.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://de.secondlife.com/registration/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=de - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Benutzername: - </text> - <combo_box name="username_combo" tool_tip="Bei der Registrierung gewählter Benutzername wie „berndschmidt12“ oder „Liebe Sonne“"/> - <text name="password_text"> - Kennwort: - </text> - <check_box label="Kennwort merken" name="remember_check"/> - <button label="Anmelden" name="connect_btn"/> - <text name="mode_selection_text"> - Modus: - </text> - <combo_box name="mode_combo" tool_tip="Wählen Sie den gewünschten Modus aus. Basis: schnelles, einfaches Erkunden und Chatten. Erweitert: Zugriff auf zusätzliche Funktionen."> - <combo_box.item label="Basis" name="Basic"/> - <combo_box.item label="Erweitert" name="Advanced"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Registrieren - </text> - <text name="forgot_password_text"> - Benutzernamen oder Kennwort vergessen? - </text> - <text name="login_help"> - Sie brauchen Hilfe? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/de/panel_navigation_bar.xml deleted file mode 100644 index ee1a543aacb..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Zurück zum vorherigen Standort teleportieren"/> - <pull_button name="forward_btn" tool_tip="Um einen Standort weiter teleportieren"/> - <button name="home_btn" tool_tip="Zu meinem Zuhause teleportieren"/> - <location_input label="Standort" name="location_combo"/> - <search_combo_box label="Suche" name="search_combo_box" tool_tip="Suche"> - <combo_editor label="[SECOND_LIFE] durchsuchen" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="Ziehen Sie Landmarken hier hin, damit Sie schnell zu Ihren Lieblingsplätzen in Second Life gelangen können!"> - <label name="favorites_bar_label" tool_tip="Ziehen Sie Landmarken hier hin, damit Sie schnell zu Ihren Lieblingsplätzen in Second Life gelangen können!"> - Favoritenleiste - </label> - <chevron_button name=">>" tool_tip="Mehr meiner Favoriten anzeigen"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_people.xml b/indra/newview/skins/minimal/xui/de/panel_people.xml deleted file mode 100644 index 1b6565eb739..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_people.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Leute" name="people_panel"> - <string name="no_recent_people" value="Sie haben in letzter Zeit mit niemandem interagiert. Suchen Sie nach Leuten, mit denen Sie sich unterhalten können? Klicken Sie unten auf die Schaltfläche „Ziele“."/> - <string name="no_filtered_recent_people" value="Es gibt keine Leute mit diesem Namen, mit denen Sie in letzter Zeit interagiert haben."/> - <string name="no_one_near" value="Es ist niemand in der Nähe. Suchen Sie nach Leuten, mit denen Sie sich unterhalten können? Klicken Sie unten auf die Schaltfläche „Ziele“."/> - <string name="no_one_filtered_near" value="Es ist niemand mit diesem Namen in der Nähe."/> - <string name="no_friends_online" value="Keine Freunde online"/> - <string name="no_friends" value="Keine Freunde"/> - <string name="no_friends_msg"> - Klicken Sie mit der rechten Maustaste auf einen Einwohner, um ihn als Freund hinzuzufügen. Suchen Sie nach Leuten, mit denen Sie sich unterhalten können? Klicken Sie unten auf die Schaltfläche „Ziele“. - </string> - <string name="no_filtered_friends_msg"> - Sie haben nicht das Richtige gefunden? Klicken Sie unten auf die Schaltfläche „Ziele“. - </string> - <string name="people_filter_label" value="Nach Leuten filtern"/> - <string name="groups_filter_label" value="Nach Gruppen filtern"/> - <string name="no_filtered_groups_msg" value="Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/groups/[SEARCH_TERM] Suche]."/> - <string name="no_groups_msg" value="Suchen Sie nach Gruppen? Versuchen Sie es mit der [secondlife:///app/search/groups Suche]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Doppelklicken, um Karte zu öffnen; Umschalttaste gedrückt halten und ziehen, um zu schwenken)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Doppelklicken, um zu teleportieren; Umschalttaste gedrückt halten und ziehen, um zu schwenken)"/> - <filter_editor label="Filter" name="filter_input"/> - <tab_container name="tabs"> - <panel label="IN DER NÄHE" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"/> - </panel> - <panel label="MEINE FREUNDE" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="Online"/> - <accordion_tab name="tab_all" title="Alle"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Ausgewählte Person aus Ihrer Freundesliste entfernen"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="AKTUELL" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <button name="add_friend_btn" tool_tip="Ausgewählten Einwohner zur Freundeliste hinzufügen"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Profil" name="view_profile_btn" tool_tip="Bilder, Gruppen und andere Einwohner-Informationen anzeigen"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="IM-Sitzung öffnen"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Anrufen" name="call_btn" tool_tip="Diesen Einwohner anrufen"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportieren" name="teleport_btn" tool_tip="Teleport anbieten"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Gruppenprofil" name="group_info_btn" tool_tip="Gruppeninformationen anzeigen"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Gruppen-Chat" name="chat_btn" tool_tip="Chat öffnen"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Gruppe anrufen" name="group_call_btn" tool_tip="Diese Gruppe anrufen"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/de/panel_side_tray_tab_caption.xml deleted file mode 100644 index 652fb7c8360..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Klappmenü??"/> - <button name="undock" tool_tip="Abkoppeln"/> - <button name="dock" tool_tip="Andocken"/> - <button name="show_help" tool_tip="Hilfe anzeigen"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_status_bar.xml b/indra/newview/skins/minimal/xui/de/panel_status_bar.xml deleted file mode 100644 index 04ed58f9445..00000000000 --- a/indra/newview/skins/minimal/xui/de/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Sonntag:Montag:Dienstag:Mittwoch:Donnerstag:Freitag:Samstag - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - Januar:Februar:März:April:Mai:Juni:Juli:August:September:Oktober:November:Dezember - </panel.string> - <panel.string name="packet_loss_tooltip"> - Paketverlust - </panel.string> - <panel.string name="bandwidth_tooltip"> - Bandbreite - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - [AMT] L$ - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Klicken, um L$-Guthaben zu aktualisieren" value="20 L$"/> - <button label="L$ kaufen" name="buyL" tool_tip="Hier klicken, um mehr L$ zu kaufen"/> - </panel> - <text name="TimeText" tool_tip="Aktuelle Zeit (Pazifik)"> - 24:00 H PST - </text> - <button name="media_toggle_btn" tool_tip="Alle Medien starten/stoppen (Musik, Video, Webseiten)"/> - <button name="volume_btn" tool_tip="Steuerung der Gesamtlautstärke"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/floater_camera.xml b/indra/newview/skins/minimal/xui/en/floater_camera.xml deleted file mode 100644 index 4cf792444f6..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_camera.xml +++ /dev/null @@ -1,284 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_dock="true" - can_minimize="true" - can_close="false" - follows="bottom" - height="164" - layout="topleft" - name="camera_floater" - save_rect="true" - save_visibility="true" - save_dock_state="true" - single_instance="true" - width="228"> - <floater.string - name="rotate_tooltip"> - Rotate Camera Around Focus - </floater.string> - <floater.string - name="zoom_tooltip"> - Zoom Camera Towards Focus - </floater.string> - <floater.string - name="move_tooltip"> - Move Camera Up and Down, Left and Right - </floater.string> - <floater.string - name="camera_modes_title"> - Camera modes - </floater.string> - <floater.string - name="pan_mode_title"> - Orbit Zoom Pan - </floater.string> - <floater.string - name="presets_mode_title"> - Preset Views - </floater.string> - <floater.string - name="free_mode_title"> - View Object - </floater.string> - <panel - border="false" - height="123" - layout="topleft" - left="2" - top="0" - mouse_opaque="false" - name="controls" - width="226"> - <panel - color="Transparent" - follows="all" - height="102" - layout="topleft" - left="8" - name="preset_views_list" - opaque="true" - top="24" - width="212" - visible="false"> - <panel_camera_item - name="front_view"> - <panel_camera_item.mousedown_callback - function="CameraPresets.ChangeView" - parameter="front_view" /> - <panel_camera_item.picture - image_name="Cam_Preset_Front_Off" /> - <panel_camera_item.selected_picture - image_name="Cam_Preset_Front_On" /> - <panel_camera_item.text - name="front_view_text"> - Front View - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item - name="group_view" - top_pad="4"> - <panel_camera_item.mousedown_callback - function="CameraPresets.ChangeView" - parameter="group_view" /> - <panel_camera_item.picture - image_name="Cam_Preset_Side_Off" /> - <panel_camera_item.selected_picture - image_name="Cam_Preset_Side_On" /> - <panel_camera_item.text - name="side_view_text"> - Side View - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item - name="rear_view" - layout="topleft" - top_pad="4"> - <panel_camera_item.mousedown_callback - function="CameraPresets.ChangeView" - parameter="rear_view" /> - <panel_camera_item.picture - image_name="Cam_Preset_Back_Off" /> - <panel_camera_item.selected_picture - image_name="Cam_Preset_Back_On" /> - <panel_camera_item.text - name="rear_view_text"> - Rear View - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel - color="Transparent" - follows="all" - height="68" - item_pad="4" - layout="topleft" - left="8" - name="camera_modes_list" - opaque="true" - top="24" - width="212" - visible="false"> - <panel_camera_item - name="object_view"> - <panel_camera_item.mousedown_callback - function="CameraPresets.ChangeView" - parameter="object_view" /> - <panel_camera_item.text - name="object_view_text"> - Object View - </panel_camera_item.text> - <panel_camera_item.picture - image_name="Object_View_Off" /> - <panel_camera_item.selected_picture - image_name="Object_View_On" /> - </panel_camera_item> - <panel_camera_item - name="mouselook_view" - layout="topleft"> - <panel_camera_item.mousedown_callback - function="CameraPresets.ChangeView" - parameter="mouselook_view" /> - <panel_camera_item.text - name="mouselook_view_text"> - Mouselook View - </panel_camera_item.text> - <panel_camera_item.picture - image_name="MouseLook_View_Off" /> - <panel_camera_item.selected_picture - image_name="MouseLook_View_On" /> - </panel_camera_item> - </panel> - <!--TODO: replace + - images --> - <panel - border="false" - class="camera_zoom_panel" - height="114" - layout="topleft" - left="0" - mouse_opaque="false" - name="zoom" - top="20" - width="226"> - <joystick_rotate - follows="top|left" - height="78" - image_selected="Cam_Rotate_In" - image_unselected="Cam_Rotate_Out" - layout="topleft" - left="7" - mouse_opaque="false" - name="cam_rotate_stick" - quadrant="left" - scale_image="false" - sound_flags="3" - visible="true" - tool_tip="Orbit camera around focus" - top="20" - width="78"> - <commit_callback - function="Camera.rotate" /> - <mouse_held_callback - function="Camera.rotate" /> - </joystick_rotate> - <button - follows="top|left" - height="18" - image_disabled="AddItem_Disabled" - image_selected="AddItem_Press" - image_unselected="AddItem_Off" - layout="topleft" - left_pad="14" - name="zoom_plus_btn" - width="18" - top="18"> - <commit_callback - function="Zoom.plus" /> - <mouse_held_callback - function="Zoom.plus" /> - </button> - <slider_bar - height="50" - layout="topleft" - name="zoom_slider" - orientation="vertical" - tool_tip="Zoom camera toward focus" - top_pad="0" - min_val="0" - max_val="1" - width="18"> - <commit_callback function="Slider.value_changed"/> - </slider_bar> - <button - follows="top|left" - height="18" - image_disabled="MinusItem_Disabled" - image_selected="MinusItem_Press" - image_unselected="MinusItem_Off" - layout="topleft" - name="zoom_minus_btn" - top_pad="0" - width="18"> - <commit_callback - function="Zoom.minus" /> - <mouse_held_callback - function="Zoom.minus" /> - </button> - <joystick_track - follows="top|left" - height="78" - image_selected="Cam_Tracking_In" - image_unselected="Cam_Tracking_Out" - layout="topleft" - left="133" - name="cam_track_stick" - quadrant="left" - scale_image="false" - sound_flags="3" - tool_tip="Move camera up and down, left and right" - top="20" - width="78"> - <commit_callback - function="Camera.track" /> - <mouse_held_callback - function="Camera.track" /> - </joystick_track> - </panel> - </panel> - <panel - border="false" - height="42" - layout="topleft" - left="2" - top_pad="0" - name="buttons" - width="226"> - <button - height="23" - label="" - layout="topleft" - left="83" - is_toggle="true" - image_overlay="Cam_Avatar_Off" - image_selected="PushButton_Selected_Press" - name="presets_btn" - tab_stop="false" - tool_tip="Preset Views" - top="13" - width="25"> - </button> - <button - height="23" - label="" - layout="topleft" - left_pad="1" - is_toggle="true" - image_overlay="PanOrbit_Off" - image_selected="PushButton_Selected_Press" - name="pan_btn" - tab_stop="false" - tool_tip="Orbit Zoom Pan" - width="25"> - </button> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/floater_help_browser.xml b/indra/newview/skins/minimal/xui/en/floater_help_browser.xml deleted file mode 100644 index 477f2103526..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_help_browser.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_resize="true" - can_minimize="false" - height="460" - layout="topleft" - min_height="360" - left="10000" - top="10" - min_width="335" - name="floater_help_browser" - single_instance="true" - title="HOW TO" - width="335"> - <floater.string - name="loading_text"> - Loading... - </floater.string> - <floater.string - name="done_text"> - </floater.string> - <layout_stack - bottom="460" - follows="left|right|top|bottom" - layout="topleft" - left="5" - orientation="vertical" - name="stack1" - top="20" - width="325"> - <layout_panel - layout="topleft" - left_delta="0" - top_delta="0" - name="external_controls" - user_resize="false" - width="325"> - <web_browser - trusted_content="true" - bottom="-5" - follows="left|right|top|bottom" - layout="topleft" - left="0" - name="browser" - top="0" - height="300" - width="325" /> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/floater_media_browser.xml b/indra/newview/skins/minimal/xui/en/floater_media_browser.xml deleted file mode 100644 index 4862146c94e..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_media_browser.xml +++ /dev/null @@ -1,242 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_resize="true" - height="440" - layout="topleft" - min_height="140" - min_width="467" - name="floater_about" - save_rect="true" - auto_tile="true" - title="MEDIA BROWSER" - width="820"> - <floater.string - name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string - name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack - bottom="440" - follows="left|right|top|bottom" - layout="topleft" - left="10" - name="stack1" - orientation="vertical" - top="20" - width="800"> - <layout_panel - auto_resize="false" - default_tab_group="1" - height="20" - layout="topleft" - left="0" - min_height="20" - name="nav_controls" - top="400" - user_resize="false" - width="800"> - <button - follows="left|top" - height="20" - label="Back" - layout="topleft" - left="0" - name="back" - top="0" - width="55"> - <button.commit_callback - function="MediaBrowser.Back" /> - </button> - <button - follows="left|top" - height="20" - label="Forward" - layout="topleft" - left_pad="3" - name="forward" - top_delta="0" - width="68"> - <button.commit_callback - function="MediaBrowser.Forward" /> - </button> - <button - enabled="false" - follows="left|top" - height="20" - label="Reload" - layout="topleft" - left_pad="2" - name="reload" - top_delta="0" - width="70"> - <button.commit_callback - function="MediaBrowser.Refresh" /> - </button> - <combo_box - allow_text_entry="true" - follows="left|top|right" - tab_group="1" - height="20" - layout="topleft" - left_pad="5" - max_chars="1024" - name="address" - combo_editor.select_on_focus="true" - top_delta="0" - width="540"> - <combo_box.commit_callback - function="MediaBrowser.EnterAddress" /> - </combo_box> - <button - enabled="false" - follows="right|top" - height="20" - label="Go" - layout="topleft" - left_pad="5" - name="go" - top_delta="0" - width="50"> - <button.commit_callback - function="MediaBrowser.Go" /> - </button> - </layout_panel> - <layout_panel - auto_resize="false" - height="20" - layout="topleft" - left_delta="0" - min_height="20" - name="time_controls" - top_delta="0" - user_resize="false" - width="800"> - <button - follows="left|top" - height="20" - label="rewind" - layout="topleft" - left="0" - name="rewind" - top="0" - width="55" /> - <button - follows="left|top" - height="20" - image_selected="button_anim_play_selected.tga" - image_unselected="button_anim_play.tga" - layout="topleft" - left_delta="55" - name="play" - top_delta="0" - width="55" /> - <button - follows="left|top" - height="20" - image_selected="button_anim_pause_selected.tga" - image_unselected="button_anim_pause.tga" - layout="topleft" - left_delta="0" - name="pause" - top_delta="0" - width="55" /> - <button - follows="left|top" - height="20" - label="stop" - layout="topleft" - left_pad="10" - name="stop" - top_delta="0" - width="55" /> - <button - follows="left|top" - height="20" - label="forward" - layout="topleft" - left_pad="20" - name="seek" - top_delta="0" - width="55" /> - </layout_panel> - <layout_panel - auto_resize="false" - height="20" - layout="topleft" - left_delta="0" - min_height="20" - name="parcel_owner_controls" - top_delta="0" - user_resize="false" - width="540"> - <button - enabled="false" - follows="left|top" - height="20" - label="Send Current Page to Parcel" - layout="topleft" - left="0" - name="assign" - top="0" - width="200"> - <button.commit_callback - function="MediaBrowser.Assign" /> - </button> - </layout_panel> - <layout_panel - height="40" - layout="topleft" - left_delta="0" - name="external_controls" - top_delta="0" - user_resize="false" - width="540"> - <web_browser - bottom="-30" - follows="all" - layout="topleft" - left="0" - name="browser" - top="0" - width="540" /> - <button - follows="bottom|left" - height="20" - label="Open in My Web Browser" - layout="topleft" - left_delta="0" - name="open_browser" - top_pad="5" - width="185"> - <button.commit_callback - function="MediaBrowser.OpenWebBrowser" /> - </button> - <check_box - control_name="UseExternalBrowser" - follows="bottom|left" - height="20" - label="Always open in my web browser" - layout="topleft" - left_pad="5" - name="open_always" - top_delta="0" - width="200" /> - <button - follows="bottom|right" - height="20" - label="Close" - layout="topleft" - left_pad="80" - name="close" - top_delta="0" - width="70"> - <button.commit_callback - function="MediaBrowser.Close" /> - </button> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml deleted file mode 100644 index 74ac8852023..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_nearby_chat.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater - border_visible="false" - border="false" - bg_opaque_image="Window_Foreground" - bg_alpha_image="Window_Background" - bg_alpha_image_overlay="DkGray_66" - legacy_header_height="18" - can_minimize="true" - can_tear_off="false" - can_resize="true" - can_drag_on_left="false" - can_close="false" - can_dock="true" - bevel_style="in" - height="300" - min_width="235" - layout="topleft" - name="nearby_chat" - save_rect="true" - title="NEARBY CHAT" - save_dock_state="true" - save_visibility="true" - single_instance="true" - width="320"> - <check_box - bottom_delta="36" - control_name="TranslateChat" - enabled="true" - height="16" - label="Translate chat (powered by Google)" - layout="topleft" - left="5" - name="translate_chat_checkbox" - width="230" /> - <chat_history - parse_urls="true" - bg_readonly_color="ChatHistoryBgColor" - bg_writeable_color="ChatHistoryBgColor" - follows="all" - left="5" - top_delta="17" - layout="topleft" - height="260" - name="chat_history" - parse_highlights="true" - text_color="ChatHistoryTextColor" - text_readonly_color="ChatHistoryTextColor" - right_widget_pad="5" - left_widget_pad="0" - width="315" /> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml b/indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml deleted file mode 100644 index 83b12606201..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_side_bar_tab.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<floater - can_close="true" - can_resize="true" - min_width="333" - min_height="440" - save_rect="true" - save_visibility="true" - > -</floater> diff --git a/indra/newview/skins/minimal/xui/en/floater_web_content.xml b/indra/newview/skins/minimal/xui/en/floater_web_content.xml deleted file mode 100644 index 1d9a967d5a9..00000000000 --- a/indra/newview/skins/minimal/xui/en/floater_web_content.xml +++ /dev/null @@ -1,196 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_resize="true" - height="775" - layout="topleft" - min_height="400" - min_width="500" - name="floater_web_content" - save_rect="true" - auto_tile="true" - title="" - initial_mime_type="text/html" - width="780"> - <layout_stack - bottom="775" - follows="left|right|top|bottom" - layout="topleft" - left="5" - animate="false" - name="stack1" - orientation="vertical" - top="20" - width="770"> - <layout_panel - auto_resize="false" - default_tab_group="1" - height="22" - layout="topleft" - left="0" - min_height="20" - name="nav_controls" - top="400" - user_resize="false" - width="770"> - <button - image_overlay="Arrow_Left_Off" - image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled" - image_selected="PushButton_Selected" - image_unselected="PushButton_Off" - hover_glow_amount="0.15" - tool_tip="Navigate back" - follows="left|top" - height="22" - layout="topleft" - left="1" - name="back" - top="0" - width="22"> - <button.commit_callback - function="WebContent.Back" /> - </button> - <button - image_overlay="Arrow_Right_Off" - image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled" - image_selected="PushButton_Selected" - image_unselected="PushButton_Off" - tool_tip="Navigate forward" - follows="left|top" - height="22" - layout="topleft" - left="27" - name="forward" - top_delta="0" - width="22"> - <button.commit_callback - function="WebContent.Forward" /> - </button> - <button - image_overlay="Stop_Off" - image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled" - image_selected="PushButton_Selected" - image_unselected="PushButton_Off" - tool_tip="Stop navigation" - enabled="true" - follows="left|top" - height="22" - layout="topleft" - left="51" - name="stop" - top_delta="0" - width="22"> - <button.commit_callback - function="WebContent.Stop" /> - </button> - <button - image_overlay="Refresh_Off" - image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled" - image_selected="PushButton_Selected" - image_unselected="PushButton_Off" - tool_tip="Reload page" - follows="left|top" - height="22" - layout="topleft" - left="51" - name="reload" - top_delta="0" - width="22"> - <button.commit_callback - function="WebContent.Reload" /> - </button> - <combo_box - allow_text_entry="true" - follows="left|top|right" - tab_group="1" - height="22" - layout="topleft" - left_pad="4" - max_chars="1024" - name="address" - combo_editor.select_on_focus="true" - tool_tip="Enter URL here" - top_delta="0" - width="672"> - <combo_box.commit_callback - function="WebContent.EnterAddress" /> - </combo_box> - <icon - name="media_secure_lock_flag" - height="16" - follows="top|right" - image_name="Lock2" - layout="topleft" - left_delta="620" - top_delta="2" - visible="false" - tool_tip="Secured Browsing" - width="16" /> - <button - image_overlay="ExternalBrowser_Off" - image_disabled="PushButton_Disabled" - image_disabled_selected="PushButton_Disabled" - image_selected="PushButton_Selected" - image_unselected="PushButton_Off" - tool_tip="Open current URL in your desktop browser" - follows="right|top" - enabled="true" - height="22" - layout="topleft" - name="popexternal" - right="770" - top_delta="-2" - width="22"> - <button.commit_callback - function="WebContent.PopExternal" /> - </button> - </layout_panel> - <layout_panel - height="40" - layout="topleft" - left_delta="0" - name="external_controls" - top_delta="0" - user_resize="false" - auto_resize="true" - width="585"> - <web_browser - bottom="-2" - follows="all" - layout="topleft" - left="0" - name="webbrowser" - top="0"/> - </layout_panel> - <layout_panel name="status_bar" - height="23" - auto_resize="false" - user_resize="false"> - <text - type="string" - length="200" - follows="bottom|left" - height="20" - layout="topleft" - left_delta="0" - name="statusbartext" - parse_urls="false" - text_color="0.4 0.4 0.4 1" - top_pad="3" - width="495"/> - <progress_bar - color_bar="0.3 1.0 0.3 1" - follows="bottom|right" - height="16" - top_delta="-1" - left_pad="24" - layout="topleft" - name="statusbarprogress" - width="64"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/inspect_avatar.xml b/indra/newview/skins/minimal/xui/en/inspect_avatar.xml deleted file mode 100644 index 853d5f8735f..00000000000 --- a/indra/newview/skins/minimal/xui/en/inspect_avatar.xml +++ /dev/null @@ -1,206 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater - legacy_header_height="25" - bevel_style="in" - bg_opaque_image="Inspector_Background" - can_close="false" - can_minimize="false" - height="164" - layout="topleft" - name="inspect_avatar" - single_instance="true" - sound_flags="0" - visible="true" - width="245"> - <!-- Allowed fields include: - [BORN_ON] ("12/3/2008") - [SL_PROFILE] (Second Life profile), - [RW_PROFILE] (real world profile), - [ACCTTYPE] ("Resident"), - [PAYMENTINFO] ("Payment Info on File"), - [AGE] ("1 year 2 months") - --> - <string - name="Subtitle"> -[AGE] - </string> - <string - name="Details"> -[SL_PROFILE] - </string> - <text - follows="top|left" - font="SansSerif" - height="20" - left="8" - name="user_name_small" - top="7" - text_color="White" - use_ellipses="true" - word_wrap="true" - visible="false" - value="Grumpity ProductEngine with a long name" - width="185" /> - <text - follows="top|left" - font="SansSerifBigLarge" - height="21" - left="8" - name="user_name" - top="10" - text_color="White" - use_ellipses="true" - value="Grumpity ProductEngine" - width="190" /> - <text - follows="top|left" - height="16" - left="8" - name="user_slid" - font="SansSerifSmallBold" - text_color="EmphasisColor" - value="james.linden" - width="185" - use_ellipses="true" /> - <text - follows="top|left" - height="16" - left="8" - name="user_subtitle" - font="SansSerifSmall" - text_color="White" - top_pad="0" - value="11 Months, 3 days old" - width="175" - use_ellipses="true" /> - <text - follows="left|top|right" - height="35" - left="8" - name="user_details" - right="-10" - word_wrap="true" - top_pad="4" - use_ellipses="true" - width="220">This is my second life description and I really think it is great. But for some reason my description is super extra long because I like to talk a whole lot - </text> - <slider - follows="top|left" - height="23" - increment="0.01" - left="1" - max_val="0.95" - min_val="0.05" - name="volume_slider" - show_text="false" - tool_tip="Voice volume" - top_pad="0" - value="0.5" - width="200" /> - <button - follows="top|left" - height="16" - image_disabled="Audio_Off" - image_disabled_selected="AudioMute_Off" - image_hover_selected="AudioMute_Over" - image_selected="AudioMute_Off" - image_unselected="Audio_Off" - is_toggle="true" - left_pad="0" - top_delta="4" - name="mute_btn" - width="16" /> - <avatar_icon - follows="top|left" - height="38" - right="-10" - bevel_style="in" - border_style="line" - mouse_opaque="true" - name="avatar_icon" - top="10" - width="38" /> -<!-- Overlapping buttons for default actions - llinspectavatar.cpp makes visible the most likely default action ---> - <button - follows="top|left" - height="20" - label="Add Friend" - left="8" - top="135" - name="add_friend_btn" - width="90" /> - <button - follows="top|left" - height="20" - label="IM" - left_delta="0" - top_delta="0" - name="im_btn" - width="80" - commit_callback.function="InspectAvatar.IM"/> - <button - follows="top|left" - height="20" - label="Profile" - layout="topleft" - name="view_profile_btn" - left_delta="96" - top_delta="0" - tab_stop="false" - width="80" /> - <!-- gear buttons here --> - <menu_button - follows="top|left" - height="20" - layout="topleft" - image_overlay="OptionsMenu_Off" - menu_filename="menu_inspect_avatar_gear.xml" - name="gear_btn" - right="-5" - top_delta="0" - width="35" /> - <menu_button - follows="top|left" - height="20" - image_overlay="OptionsMenu_Off" - menu_filename="menu_inspect_self_gear.xml" - name="gear_self_btn" - right="-5" - top_delta="0" - width="35" /> - <panel - follows="top|left" - top="164" - left="0" - height="60" - width="228" - visible="false" - background_visible="true" - name="moderator_panel" - background_opaque="true" - bg_opaque_color="MouseGray"> - <button - name="disable_voice" - label="Disable Voice" - top="20" - width="95" - height="20" - left="10" - commit_callback.function="InspectAvatar.DisableVoice"/> - <button - name="enable_voice" - label="Enable Voice" - top="20" - width="95" - height="20" - left="10" - visible="false" - commit_callback.function="InspectAvatar.EnableVoice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/inspect_object.xml b/indra/newview/skins/minimal/xui/en/inspect_object.xml deleted file mode 100644 index f424069ec67..00000000000 --- a/indra/newview/skins/minimal/xui/en/inspect_object.xml +++ /dev/null @@ -1,144 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater - legacy_header_height="25" - bevel_style="in" - bg_opaque_image="Inspector_Background" - can_close="false" - can_minimize="false" - height="150" - layout="topleft" - name="inspect_object" - single_instance="true" - sound_flags="0" - visible="true" - width="228"> - <string name="Creator">By [CREATOR]</string> - <string name="CreatorAndOwner"> -By [CREATOR] -Owner [OWNER] - </string> - <string name="Price">L$[AMOUNT]</string> - <string name="PriceFree">Free!</string> - <string name="Touch">Touch</string> - <string name="Sit">Sit</string> - <text - parse_urls="false" - follows="all" - font="SansSerifLarge" - height="30" - left="8" - name="object_name" - text_color="White" - top="6" - use_ellipses="true" - word_wrap="true" - width="220" /> - <text - follows="all" - height="50" - left="8" - name="object_creator" - top_pad="6" - use_ellipses="true" - width="220"> - by secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about -owner secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about - </text> - <text - follows="all" - font="SansSerifSmall" - font.style="BOLD" - height="14" - halign="right" - right="-5" - name="price_text" - text_color="white" - top="60" - font_shadow="none" - width="60"> -L$30,000 - </text> - <text - clip_partial="true" - follows="all" - font="SansSerifSmall" - height="25" - left="8" - name="object_description" - top="76" - use_ellipses="true" - width="220" - word_wrap="true"> - </text> - <!-- Overlapping buttons for all default actions. Show "Buy" if - for sale, "Sit" if can sit, etc. --> - <icon - name="secure_browsing" - image_name="Lock" - left="0" - visible="false" - width="18" - height="18" - top="103" - tool_tip="Secure Browsing" - follows="left|top" /> - <text - follows="all" - font="SansSerifSmall" - height="13" - name="object_media_url" - width="207" - left_pad="2" - top_delta="0" - max_length = "50" - use_ellipses="true"> - http://www.superdupertest.com -</text> - <button - follows="top|left" - height="20" - label="Take Copy" - left_delta="0" - name="take_free_copy_btn" - top_delta="0" - width="80" /> - <button - follows="top|left" - height="20" - label="Touch" - left_delta="0" - name="touch_btn" - top_delta="0" - width="80" /> - <button - follows="top|left" - height="20" - label="Sit" - left_delta="0" - name="sit_btn" - top_delta="0" - width="80" /> - <button - follows="top|left" - height="20" - label="Open" - left_delta="0" - name="open_btn" - top_delta="0" - width="80" /> - - <!-- non-overlapping buttons here --> - <menu_button - follows="top|left" - height="20" - image_overlay="OptionsMenu_Off" - menu_filename="menu_inspect_object_gear.xml" - name="gear_btn" - right="-5" - top_delta="0" - width="35" /> -</floater> diff --git a/indra/newview/skins/minimal/xui/en/main_view.xml b/indra/newview/skins/minimal/xui/en/main_view.xml deleted file mode 100644 index 0ce6cbc9845..00000000000 --- a/indra/newview/skins/minimal/xui/en/main_view.xml +++ /dev/null @@ -1,269 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - follows="left|right|top|bottom" - height="768" - layout="topleft" - left="0" - mouse_opaque="false" - tab_stop="false" - name="main_view" - width="1024"> - <panel top="0" - follows="all" - height="768" - mouse_opaque="false" - name="login_panel_holder" - width="1024"/> - - <layout_stack border_size="0" - follows="all" - mouse_opaque="false" - height="768" - name="menu_stack" - orientation="vertical" - top="0"> - <layout_panel auto_resize="false" - height="30" - mouse_opaque="false" - name="nav_bar_container" - tab_stop="false" - min_height="0" - width="1024" - user_resize="false" - visible="true"> - </layout_panel> - <layout_panel auto_resize="true" - follows="all" - height="500" - layout="topleft" - mouse_opaque="false" - tab_stop="false" - name="hud" - width="1024"> - <panel auto_resize="false" - follows="all" - height="500" - top="0" - layout="topleft" - mouse_opaque="false" - tab_stop="false" - name="non_side_tray_view" - user_resize="false" - width="1024"> - - <layout_stack border_size="0" - bottom="500" - follows="all" - height="500" - left="0" - top="0" - mouse_opaque="false" - name="world_stack" - open_time_constant="0.03" - close_time_constant="0.03" - orientation="vertical"> - <layout_panel auto_resize="true" - follows="all" - height="500" - layout="topleft" - tab_stop="false" - mouse_opaque="false" - user_resize="false" - name="hud container" - width="500"> - <view top="0" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="floater_snap_region" - width="500"/> - <panel follows="left|top" - height="0" - left="0" - mouse_opaque="false" - name="topinfo_bar_container" - tab_stop="false" - top="0" - visible="false" - width="1024"/> - <panel bottom="500" - follows="left|right|bottom" - height="25" - left="0" - mouse_opaque="false" - tab_stop="false" - name="stand_stop_flying_container" - visible="false" - width="500"/> - - <panel follows="all" - height="500" - left="0" - mouse_opaque="false" - name="floater_view_holder" - tab_group="-1" - tab_stop="false" - top="0" - width="500"> - <floater_view follows="all" - height="500" - left="0" - mouse_opaque="false" - name="Floater View" - tab_group="-1" - tab_stop="false" - top="0" - width="500"/> - </panel> - <panel bottom="500" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="world_view_rect" - top="0" - width="500"/> - </layout_panel> - <layout_panel auto_resize="false" - min_height="33" - height="33" - mouse_opaque="false" - name="bottom_tray_container" - visible="false"/> - <layout_panel auto_resize="false" - height="215" - mouse_opaque="false" - user_resize="false" - name="avatar_picker_and_destination_guide_container" - visible="false"> - <panel top="0" - height="215" - left="0" - background_visible="true" - width="500" - follows="all"> - <web_browser - top="0" - height="200" - follows="all" - name="destination_guide_contents" - trusted_content="true" - visible="false"/> - <web_browser - top="0" - height="200" - follows="all" - name="avatar_picker_contents" - visible="false" - trusted_content="true"/> - <button - name="close" - width="22" - height="23" - right="-10" - top="2" - follows="top|right" - chrome="true" - tab_stop="false" - image_unselected="bottomtray_close_off" - image_selected="bottomtray_close_press" - /> - </panel> - </layout_panel> - </layout_stack> - </panel> - <debug_view follows="all" - left="0" - top="0" - mouse_opaque="false" - height="500" - name="DebugView" - width="1024"/> - </layout_panel> - </layout_stack> - <panel mouse_opaque="false" - follows="right|top" - name="status_bar_container" - tab_stop="false" - height="30" - left="-160" - top="0" - width="160" - visible="false"/> - <panel follows="top|bottom" - height="500" - mouse_opaque="false" - tab_stop="false" - name="hidden_side_tray" - visible="false" - width="333"> - <panel - name="side_tray_container" - width="333" - height="500"/> - </panel> - - <panel top="0" - follows="all" - mouse_opaque="false" - left="0" - name="snapshot_floater_view_holder" - width="1024" - height="798"> - <snapshot_floater_view enabled="false" - follows="all" - height="768" - left="0" - mouse_opaque="false" - name="Snapshot Floater View" - tab_stop="false" - top="0" - visible="false" - width="1024"/> - </panel> - <panel top="0" - follows="all" - height="768" - mouse_opaque="false" - name="popup_holder" - class="popup_holder" - width="1024"> - <icon follows="right|bottom" - image_name="Resize_Corner" - right="-1" - name="resize_corner" - width="11" - bottom="-1" - height="11" /> - </panel> - <view top="0" - left="0" - width="1024" - height="768" - name="hint_holder" - mouse_opaque="false" - follows="all"/> - <panel top="0" - follows="all" - height="768" - mouse_opaque="true" - name="progress_view" - filename="panel_progress.xml" - class="progress_view" - width="1024" - visible="false"/> - <menu_holder top="0" - follows="all" - height="768" - mouse_opaque="false" - name="Menu Holder" - width="1024"/> - <tooltip_view top="0" - follows="all" - height="768" - mouse_opaque="false" - name="tooltip view" - tab_group="-2" - width="1024"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/en/menu_add_wearable_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_add_wearable_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/en/menu_attachment_other.xml deleted file mode 100644 index 80cf365c462..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_attachment_other.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu - layout="topleft" - name="Avatar Pie"> - <menu_item_call - label="View Profile" - name="Profile..."> - <menu_item_call.on_click - function="ShowAgentProfile" - parameter="hit object" /> - </menu_item_call> - <menu_item_call - enabled="false" - label="Add Friend" - name="Add Friend"> - <menu_item_call.on_click - function="Avatar.AddFriend" /> - <menu_item_call.on_enable - function="Avatar.EnableAddFriend" /> - </menu_item_call> - <menu_item_call - label="IM" - name="Send IM..."> - <menu_item_call.on_click - function="Avatar.SendIM" /> - </menu_item_call> - <menu_item_call - label="Call" - name="Call"> - <menu_item_call.on_click - function="Avatar.Call" /> - <menu_item_call.on_enable - function="Avatar.EnableCall" /> - </menu_item_call> - <menu_item_separator /> - <menu_item_call - enabled="false" - label="Block" - name="Avatar Mute"> - <menu_item_call.on_click - function="Avatar.Mute" /> - <menu_item_call.on_enable - function="Avatar.EnableMute" /> - </menu_item_call> - <menu_item_call - label="Report" - name="abuse"> - <menu_item_call.on_click - function="Avatar.ReportAbuse" /> - </menu_item_call> - <menu_item_call - label="Freeze" - name="Freeze..."> - <menu_item_call.on_click - function="Avatar.Freeze" /> - <menu_item_call.on_visible - function="Avatar.EnableFreezeEject"/> - </menu_item_call> - <menu_item_call - label="Eject" - name="Eject..."> - <menu_item_call.on_click - function="Avatar.Eject" /> - <menu_item_call.on_visible - function="Avatar.EnableFreezeEject"/> - </menu_item_call> - <menu_item_call - label="Debug Textures" - name="Debug..."> - <menu_item_call.on_click - function="Avatar.Debug" /> - <menu_item_call.on_visible - function="IsGodCustomerService"/> - </menu_item_call> - <menu_item_call - label="Zoom In" - name="Zoom In"> - <menu_item_call.on_click - function="Tools.LookAtSelection" - parameter="zoom" /> - </menu_item_call> - <menu_item_separator /> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/en/menu_attachment_self.xml deleted file mode 100644 index 542a7dc7dc0..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_attachment_self.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu - layout="topleft" - name="Attachment Pie"> - <menu_item_call - enabled="false" - label="Touch" - layout="topleft" - name="Attachment Object Touch"> - <menu_item_call.on_click - function="Object.Touch" /> - <menu_item_call.on_enable - function="Object.EnableTouch" - name="EnableTouch"/> - </menu_item_call> - <menu_item_call - enabled="false" - label="Detach" - layout="topleft" - name="Detach"> - <menu_item_call.on_click - function="Attachment.Detach" /> - <menu_item_call.on_enable - function="Attachment.EnableDetach" /> - </menu_item_call> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/en/menu_avatar_icon.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_avatar_icon.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/en/menu_avatar_other.xml deleted file mode 100644 index 2c81b5a7782..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_avatar_other.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu - layout="topleft" - name="Avatar Pie"> - <menu_item_call - label="View Profile" - name="Profile..."> - <menu_item_call.on_click - function="ShowAgentProfile" - parameter="hit object" /> - </menu_item_call> - <menu_item_call - enabled="false" - label="Add Friend" - name="Add Friend"> - <menu_item_call.on_click - function="Avatar.AddFriend" /> - <menu_item_call.on_enable - function="Avatar.EnableAddFriend" /> - </menu_item_call> - <menu_item_call - label="IM" - name="Send IM..."> - <menu_item_call.on_click - function="Avatar.SendIM" /> - </menu_item_call> - <menu_item_call - label="Call" - name="Call"> - <menu_item_call.on_click - function="Avatar.Call" /> - <menu_item_call.on_enable - function="Avatar.EnableCall" /> - </menu_item_call> - <menu_item_separator /> - <menu_item_call - enabled="false" - label="Block" - name="Avatar Mute"> - <menu_item_call.on_click - function="Avatar.Mute" /> - <menu_item_call.on_enable - function="Avatar.EnableMute" /> - </menu_item_call> - <menu_item_call - label="Report" - name="abuse"> - <menu_item_call.on_click - function="Avatar.ReportAbuse" /> - </menu_item_call> - <menu_item_call - label="Freeze" - name="Freeze..."> - <menu_item_call.on_click - function="Avatar.Freeze" /> - <menu_item_call.on_visible - function="Avatar.EnableFreezeEject"/> - </menu_item_call> - <menu_item_call - label="Eject" - name="Eject..."> - <menu_item_call.on_click - function="Avatar.Eject" /> - <menu_item_call.on_visible - function="Avatar.EnableFreezeEject"/> - </menu_item_call> - <menu_item_call - label="Debug Textures" - name="Debug..."> - <menu_item_call.on_click - function="Avatar.Debug" /> - <menu_item_call.on_visible - function="IsGodCustomerService"/> - </menu_item_call> - <menu_item_call - label="Zoom In" - name="Zoom In"> - <menu_item_call.on_click - function="Tools.LookAtSelection" - parameter="zoom" /> - </menu_item_call> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/en/menu_avatar_self.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_avatar_self.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/en/menu_bottomtray.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_bottomtray.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/en/menu_cof_attachment.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_cof_attachment.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/en/menu_cof_body_part.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_cof_body_part.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/en/menu_cof_clothing.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_cof_clothing.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/en/menu_cof_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_cof_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_edit.xml b/indra/newview/skins/minimal/xui/en/menu_edit.xml deleted file mode 100644 index 747eb3fc6a6..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_edit.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu create_jump_keys="true" - label="Edit" - name="Edit" - visible="false"> - <menu_item_call - label="Undo" - name="Undo" - shortcut="control|Z"> - <menu_item_call.on_click - function="Edit.Undo" /> - <menu_item_call.on_enable - function="Edit.EnableUndo" /> - </menu_item_call> - <menu_item_call - label="Redo" - name="Redo" - shortcut="control|Y"> - <menu_item_call.on_click - function="Edit.Redo" /> - <menu_item_call.on_enable - function="Edit.EnableRedo" /> - </menu_item_call> - <menu_item_separator/> - <menu_item_call - label="Cut" - name="Cut" - shortcut="control|X"> - <menu_item_call.on_click - function="Edit.Cut" /> - <menu_item_call.on_enable - function="Edit.EnableCut" /> - </menu_item_call> - <menu_item_call - label="Copy" - name="Copy" - shortcut="control|C"> - <menu_item_call.on_click - function="Edit.Copy" /> - <menu_item_call.on_enable - function="Edit.EnableCopy" /> - </menu_item_call> - <menu_item_call - label="Paste" - name="Paste" - shortcut="control|V"> - <menu_item_call.on_click - function="Edit.Paste" /> - <menu_item_call.on_enable - function="Edit.EnablePaste" /> - </menu_item_call> - <menu_item_call - label="Delete" - name="Delete" - allow_key_repeat="true" - shortcut="Del"> - <menu_item_call.on_click - function="Edit.Delete" /> - <menu_item_call.on_enable - function="Edit.EnableDelete" /> - </menu_item_call> - <menu_item_call - label="Duplicate" - name="Duplicate" - shortcut="control|D"> - <menu_item_call.on_click - function="Edit.Duplicate" /> - <menu_item_call.on_enable - function="Edit.EnableDuplicate" /> - </menu_item_call> - <menu_item_separator/> - <menu_item_call - label="Select All" - name="Select All" - shortcut="control|A"> - <menu_item_call.on_click - function="Edit.SelectAll" /> - <menu_item_call.on_enable - function="Edit.EnableSelectAll" /> - </menu_item_call> - <menu_item_call - label="Deselect" - name="Deselect" - shortcut="control|E"> - <menu_item_call.on_click - function="Edit.Deselect" /> - <menu_item_call.on_enable - function="Edit.EnableDeselect" /> - </menu_item_call> -</menu> \ No newline at end of file diff --git a/indra/newview/skins/minimal/xui/en/menu_favorites.xml b/indra/newview/skins/minimal/xui/en/menu_favorites.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_favorites.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/en/menu_gesture_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_gesture_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_group_plus.xml b/indra/newview/skins/minimal/xui/en/menu_group_plus.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_group_plus.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/en/menu_hide_navbar.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_hide_navbar.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/en/menu_im_well_button.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_im_well_button.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/en/menu_imchiclet_adhoc.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/en/menu_imchiclet_group.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_imchiclet_group.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/en/menu_imchiclet_p2p.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/en/menu_inspect_avatar_gear.xml deleted file mode 100644 index a11e367d662..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,125 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu - create_jump_keys="true" - layout="topleft" - mouse_opaque="false" - visible="false" - name="Gear Menu"> - <menu_item_call - label="View Profile" - enabled="true" - name="view_profile"> - <menu_item_call.on_click - function="InspectAvatar.ViewProfile"/> - </menu_item_call> - <menu_item_call - label="Add Friend" - name="add_friend"> - <menu_item_call.on_click - function="InspectAvatar.AddFriend"/> - <menu_item_call.on_enable - function="InspectAvatar.Gear.Enable"/> - </menu_item_call> - <menu_item_call - label="IM" - name="im"> - <menu_item_call.on_click - function="InspectAvatar.IM"/> - </menu_item_call> - <menu_item_call - label="Call" - enabled="true" - name="call"> - <menu_item_call.on_click - function="InspectAvatar.Call"/> - <menu_item_call.on_enable - function="InspectAvatar.Gear.EnableCall"/> - </menu_item_call> - <menu_item_call - label="Teleport" - name="teleport"> - <menu_item_call.on_click - function="InspectAvatar.Teleport"/> - <menu_item_call.on_enable - function="InspectAvatar.Gear.EnableTeleportOffer"/> - </menu_item_call> - <menu_item_separator /> - <menu_item_call - label="Block" - name="block"> - <menu_item_call.on_click - function="InspectAvatar.ToggleMute"/> - <menu_item_call.on_visible - function="InspectAvatar.EnableMute" /> - </menu_item_call> - <menu_item_call - label="Unblock" - name="unblock"> - <menu_item_call.on_click - function="InspectAvatar.ToggleMute"/> - <menu_item_call.on_visible - function="InspectAvatar.EnableUnmute" /> - </menu_item_call> - <menu_item_call - label="Report" - name="report"> - <menu_item_call.on_click - function="InspectAvatar.Report"/> - </menu_item_call> - <menu_item_call - label="Freeze" - name="freeze"> - <menu_item_call.on_click - function="InspectAvatar.Freeze"/> - <menu_item_call.on_visible - function="InspectAvatar.VisibleFreeze"/> - </menu_item_call> - <menu_item_call - label="Eject" - name="eject"> - <menu_item_call.on_click - function="InspectAvatar.Eject"/> - <menu_item_call.on_visible - function="InspectAvatar.VisibleEject"/> - </menu_item_call> - <menu_item_call - label="Kick" - name="kick"> - <menu_item_call.on_click - function="InspectAvatar.Kick"/> - <menu_item_call.on_visible - function="InspectAvatar.EnableGod"/> - </menu_item_call> - <menu_item_call - label="CSR" - name="csr"> - <menu_item_call.on_click - function="InspectAvatar.CSR" /> - <menu_item_call.on_visible - function="InspectAvatar.EnableGod" /> - </menu_item_call> - <menu_item_call - label="Debug Textures" - name="debug"> - <menu_item_call.on_click - function="Avatar.Debug"/> - <menu_item_call.on_visible - function="IsGodCustomerService"/> - </menu_item_call> - <menu_item_call - label="Find On Map" - name="find_on_map"> - <menu_item_call.on_click - function="InspectAvatar.FindOnMap"/> - <menu_item_call.on_visible - function="InspectAvatar.VisibleFindOnMap"/> - </menu_item_call> - <menu_item_call - label="Zoom In" - name="zoom_in"> - <menu_item_call.on_click - function="InspectAvatar.ZoomIn"/> - <menu_item_call.on_visible - function="InspectAvatar.VisibleZoomIn"/> - </menu_item_call> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/en/menu_inspect_object_gear.xml deleted file mode 100644 index 8ec360a604c..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inspect_object_gear.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu - create_jump_keys="true" - layout="topleft" - mouse_opaque="false" - visible="false" - name="Gear Menu"> - <menu_item_call - label="Touch" - layout="topleft" - enabled="true" - name="touch"> - <menu_item_call.on_click - function="InspectObject.Touch"/> - <menu_item_call.on_visible - function="Object.EnableTouch" /> - </menu_item_call> - <menu_item_call - label="Sit" - layout="topleft" - name="sit"> - <menu_item_call.on_click - function="InspectObject.Sit"/> - <menu_item_call.on_visible - function="Object.EnableSit"/> - </menu_item_call> - <menu_item_call - label="Report" - layout="topleft" - name="report"> - <menu_item_call.on_click - function="Object.ReportAbuse" /> - </menu_item_call> - <menu_item_call - label="Block" - layout="topleft" - name="block"> - <menu_item_call.on_click - function="Object.Mute" /> - <menu_item_call.on_visible - function="Object.EnableMute" /> - </menu_item_call> - <menu_item_call - label="Zoom In" - layout="topleft" - name="zoom_in"> - <menu_item_call.on_click - function="InspectObject.ZoomIn" /> - </menu_item_call> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml deleted file mode 100644 index ae8b640d269..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inspect_self_gear.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu - layout="topleft" - name="Self Pie"> - <menu_item_call - label="Sit Down" - layout="topleft" - name="Sit Down Here"> - <menu_item_call.on_click - function="Self.SitDown" - parameter="" /> - <menu_item_call.on_enable - function="Self.EnableSitDown" /> - </menu_item_call> - <menu_item_call - label="Stand Up" - layout="topleft" - name="Stand Up"> - <menu_item_call.on_click - function="Self.StandUp" - parameter="" /> - <menu_item_call.on_enable - function="Self.EnableStandUp" /> - </menu_item_call> - <menu_item_call - label="My Friends" - layout="topleft" - name="Friends..."> - <menu_item_call.on_click - function="SideTray.PanelPeopleTab" - parameter="friends_panel" /> - </menu_item_call> - <menu_item_call - label="My Profile" - layout="topleft" - name="Profile..."> - <menu_item_call.on_click - function="ShowAgentProfile" - parameter="agent" /> - </menu_item_call> - <menu_item_call - label="Debug Textures" - name="Debug..."> - <menu_item_call.on_click - function="Avatar.Debug" /> - <menu_item_call.on_visible - function="IsGodCustomerService"/> - </menu_item_call> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/en/menu_inv_offer_chiclet.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_inventory.xml b/indra/newview/skins/minimal/xui/en/menu_inventory.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inventory.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/en/menu_inventory_add.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inventory_add.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/en/menu_inventory_gear_default.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_inventory_gear_default.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_land.xml b/indra/newview/skins/minimal/xui/en/menu_land.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_land.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_landmark.xml b/indra/newview/skins/minimal/xui/en/menu_landmark.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_landmark.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_login.xml b/indra/newview/skins/minimal/xui/en/menu_login.xml deleted file mode 100644 index 62dbce3f565..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_login.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu_bar/> diff --git a/indra/newview/skins/minimal/xui/en/menu_mini_map.xml b/indra/newview/skins/minimal/xui/en/menu_mini_map.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_mini_map.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_navbar.xml b/indra/newview/skins/minimal/xui/en/menu_navbar.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_navbar.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/en/menu_nearby_chat.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_nearby_chat.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/en/menu_notification_well_button.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_notification_well_button.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_object.xml b/indra/newview/skins/minimal/xui/en/menu_object.xml deleted file mode 100644 index 888ce42cf16..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_object.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu - layout="topleft" - name="Object Pie"> - <menu_item_call - enabled="false" - label="Sit Here" - name="Object Sit"> - <menu_item_call.on_click - function="Object.SitOrStand" /> - <menu_item_call.on_enable - function="Object.EnableSit" /> - </menu_item_call> - <menu_item_call - enabled="false" - label="Stand Up" - name="Object Stand Up"> - <menu_item_call.on_click - function="Object.SitOrStand" /> - <menu_item_call.on_enable - function="Object.EnableStandUp" /> - </menu_item_call> - <menu_item_call - label="Zoom In" - name="Zoom In"> - <menu_item_call.on_click - function="Object.ZoomIn" /> - </menu_item_call> - <menu_item_call - enabled="false" - label="Touch" - name="Object Touch"> - <menu_item_call.on_click - function="Object.Touch" /> - <menu_item_call.on_enable - function="Object.EnableTouch" - name="EnableTouch" - parameter="Touch" /> - </menu_item_call> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_object_icon.xml b/indra/newview/skins/minimal/xui/en/menu_object_icon.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_object_icon.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/en/menu_outfit_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_outfit_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/en/menu_outfit_tab.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_outfit_tab.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_participant_list.xml b/indra/newview/skins/minimal/xui/en/menu_participant_list.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_participant_list.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/en/menu_people_friends_view_sort.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_groups.xml b/indra/newview/skins/minimal/xui/en/menu_people_groups.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_groups.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/en/menu_people_groups_view_sort.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/en/menu_people_nearby.xml deleted file mode 100644 index 1840ebd491f..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_nearby.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu - layout="topleft" - name="Avatar Context Menu"> - <menu_item_call - label="View Profile" - layout="topleft" - name="View Profile"> - <menu_item_call.on_click - function="Avatar.Profile" /> - </menu_item_call> - <menu_item_call - label="Add Friend" - layout="topleft" - name="Add Friend"> - <menu_item_call.on_click - function="Avatar.AddFriend" /> - <menu_item_call.on_enable - function="Avatar.EnableItem" - parameter="can_add" /> - </menu_item_call> - <menu_item_call - label="Remove Friend" - layout="topleft" - name="Remove Friend"> - <menu_item_call.on_click - function="Avatar.RemoveFriend" /> - <menu_item_call.on_enable - function="Avatar.EnableItem" - parameter="can_delete" /> - </menu_item_call> - <menu_item_call - label="IM" - layout="topleft" - name="IM"> - <menu_item_call.on_click - function="Avatar.IM" /> - </menu_item_call> - <menu_item_call - label="Call" - layout="topleft" - name="Call"> - <menu_item_call.on_click - function="Avatar.Call" /> - <menu_item_call.on_enable - function="Avatar.EnableItem" - parameter="can_call" /> - </menu_item_call> - <menu_item_check - label="Block/Unblock" - layout="topleft" - name="Block/Unblock"> - <menu_item_check.on_click - function="Avatar.BlockUnblock" /> - <menu_item_check.on_check - function="Avatar.CheckItem" - parameter="is_blocked" /> - <menu_item_check.on_enable - function="Avatar.EnableItem" - parameter="can_block" /> - </menu_item_check> - <menu_item_call - label="Offer Teleport" - name="teleport"> - <menu_item_call.on_click - function="Avatar.OfferTeleport"/> - <menu_item_call.on_enable - function="Avatar.EnableItem" - parameter="can_offer_teleport"/> - </menu_item_call> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/en/menu_people_nearby_multiselect.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/en/menu_people_nearby_view_sort.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/en/menu_people_recent_view_sort.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_picks.xml b/indra/newview/skins/minimal/xui/en/menu_picks.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_picks.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/en/menu_picks_plus.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_picks_plus.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_place.xml b/indra/newview/skins/minimal/xui/en/menu_place.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_place.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/en/menu_place_add_button.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_place_add_button.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/en/menu_places_gear_folder.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_places_gear_folder.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/en/menu_places_gear_landmark.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_places_gear_landmark.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/en/menu_profile_overflow.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_profile_overflow.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/en/menu_save_outfit.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_save_outfit.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/en/menu_script_chiclet.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_script_chiclet.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_slurl.xml b/indra/newview/skins/minimal/xui/en/menu_slurl.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_slurl.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/en/menu_teleport_history_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_teleport_history_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/en/menu_teleport_history_item.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_teleport_history_item.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/en/menu_teleport_history_tab.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_teleport_history_tab.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_text_editor.xml b/indra/newview/skins/minimal/xui/en/menu_text_editor.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_text_editor.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/en/menu_topinfobar.xml deleted file mode 100644 index d3d9e2ef8af..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_topinfobar.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu visible="false"/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_agent.xml b/indra/newview/skins/minimal/xui/en/menu_url_agent.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_agent.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_group.xml b/indra/newview/skins/minimal/xui/en/menu_url_group.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_group.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_http.xml b/indra/newview/skins/minimal/xui/en/menu_url_http.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_http.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/en/menu_url_inventory.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_inventory.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_map.xml b/indra/newview/skins/minimal/xui/en/menu_url_map.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_map.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/en/menu_url_objectim.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_objectim.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/en/menu_url_parcel.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_parcel.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/en/menu_url_slapp.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_slapp.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/en/menu_url_slurl.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_slurl.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/en/menu_url_teleport.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_url_teleport.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_viewer.xml b/indra/newview/skins/minimal/xui/en/menu_viewer.xml deleted file mode 100644 index cd83ea4e992..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_viewer.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu_bar - bg_visible="false" - follows="left|top|right" - name="Main Menu"> - <menu - create_jump_keys="true" - label="Help" - name="Help" - tear_off="true"> - <menu_item_call - label="[SECOND_LIFE] Help" - name="Second Life Help" - shortcut="F1"> - <menu_item_call.on_click - function="ShowHelp" - parameter="f1_help" /> - </menu_item_call> - </menu> - <menu - create_jump_keys="true" - label="Advanced" - name="Advanced" - tear_off="true" - visible="false"> - <menu - create_jump_keys="true" - label="Shortcuts" - name="Shortcuts" - tear_off="true" - visible="false"> - <menu_item_check - label="Fly" - name="Fly" - shortcut="Home"> - <menu_item_check.on_check - function="Agent.getFlying" /> - <menu_item_check.on_click - function="Agent.toggleFlying" /> - <menu_item_check.on_enable - function="Agent.enableFlying" /> - </menu_item_check> - <menu_item_call - label="Close Window" - name="Close Window" - shortcut="control|W"> - <menu_item_call.on_click - function="File.CloseWindow" /> - <menu_item_call.on_enable - function="File.EnableCloseWindow" /> - </menu_item_call> - <menu_item_call - label="Close All Windows" - name="Close All Windows" - shortcut="control|shift|W"> - <menu_item_call.on_click - function="File.CloseAllWindows" /> - <menu_item_call.on_enable - function="File.EnableCloseAllWindows" /> - </menu_item_call> - - <menu_item_call - label="Reset View" - name="Reset View" - shortcut="Esc"> - <menu_item_call.on_click - function="View.ResetView" /> - </menu_item_call> - </menu> <!--Shortcuts--> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/en/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/en/menu_wearable_list_item.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_wearable_list_item.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/en/menu_wearing_gear.xml deleted file mode 100644 index 28c4762eaa3..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_wearing_gear.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toggleable_menu/> diff --git a/indra/newview/skins/minimal/xui/en/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/en/menu_wearing_tab.xml deleted file mode 100644 index fb19c5eb2cf..00000000000 --- a/indra/newview/skins/minimal/xui/en/menu_wearing_tab.xml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<context_menu/> diff --git a/indra/newview/skins/minimal/xui/en/notification_visibility.xml b/indra/newview/skins/minimal/xui/en/notification_visibility.xml deleted file mode 100644 index bdd3c3d4a47..00000000000 --- a/indra/newview/skins/minimal/xui/en/notification_visibility.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" ?> -<notification_visibility> - <respond name="VoiceInviteGroup" response="Decline"/> - - <!-- group and voice are disabled features --> - <hide tag="group"/> - - <!-- no spammy scripts --> - <!-- <hide name="ScriptDialog"/> --> - - <!-- hints pertaining to UI we don't show --> - <hide name="FirstBalanceIncrease"/> - <hide name="FirstInventory"/> - <hide name="HintSidePanel"/> - <hide name="HintMove"/> - <hide name="HintSpeak"/> - <hide name="HintDisplayName"/> - <hide name="HintInventory"/> - <hide name="HintLindenDollar"/> - - <!-- spam from servers, such as "Autopilot cancelled" --> - <hide name="SystemMessageTip"/> - - <!-- show everything else --> - <show/> -</notification_visibility> - diff --git a/indra/newview/skins/minimal/xui/en/notifications.xml b/indra/newview/skins/minimal/xui/en/notifications.xml deleted file mode 100644 index 7b7cdb5fc6e..00000000000 --- a/indra/newview/skins/minimal/xui/en/notifications.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" ?> -<notifications> - <notification - icon="notify.tga" - name="UserGiveItem" - type="offer"> - [NAME_SLURL] is offering you [ITEM_SLURL]. Using this item requires you to switch to Advanced mode where you will find the item in your Inventory. To switch to Advanced mode, quit and restart this application and change the mode setting on the login screen. - <form name="form"> - <button - index="4" - name="Show" - text="Keep Item"/> - <button - index="1" - name="Discard" - text="Reject Item"/> - <button - index="2" - name="Mute" - text="Block User"/> - </form> - </notification> - <notification - icon="notify.tga" - name="ObjectGiveItem" - type="offer"> - An object named <nolink>[OBJECTFROMNAME]</nolink> owned by [NAME_SLURL] is offering you <nolink>[ITEM_SLURL]</nolink>. Using this item requires you to switch to Advanced mode where you will find the item in your Inventory. To switch to Advanced mode, quit and restart this application and change the mode setting on the login screen. - <form name="form"> - <button - index="0" - name="Keep" - text="Keep Item"/> - <button - index="1" - name="Discard" - text="Reject Item"/> - <button - index="2" - name="Mute" - text="Block Object"/> - </form> - </notification> - -</notifications> diff --git a/indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml deleted file mode 100644 index 39d1a90850f..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - border="false" - follows="all" - height="215" - name="panel_im_control_panel" - width="150"> - <layout_stack - mouse_opaque="false" - border_size="0" - clip="false" - follows="all" - height="215" - layout="topleft" - left="3" - name="vertical_stack" - orientation="vertical" - top="0" - width="147"> - <layout_panel - auto_resize="true" - follows="top|left" - height="130" - layout="topleft" - left="0" - min_height="0" - mouse_opaque="false" - width="147" - top="0" - name="speakers_list_panel" - user_resize="false"> - <avatar_list - color="DkGray2" - follows="all" - height="130" - ignore_online_status="true" - layout="topleft" - name="speakers_list" - opaque="false" - show_info_btn="true" - show_profile_btn="false" - show_speaking_indicator="false" - width="147" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="130" - name="call_btn_panel" - user_resize="false" - visible="false"> - <button - follows="all" - height="20" - label="Call" - name="call_btn" - width="130" - top="5" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="130" - name="end_call_btn_panel" - user_resize="false" - visible="false"> - <button - follows="all" - height="20" - label="Leave Call" - name="end_call_btn" - top="5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml deleted file mode 100644 index d722c54081a..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml +++ /dev/null @@ -1,557 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_visible="true" - bg_alpha_color="DkGray" - bg_opaque_color="DkGray" - chrome="true" - follows="left|bottom|right" - height="33" - layout="topleft" - left="0" - name="bottom_tray" - focus_root="true" - top="28" - width="1310"> - <string - name="DragIndicationImageName" - value="Accordion_ArrowOpened_Off" /> - <string - name="SpeakBtnToolTip" - value="Turns microphone on/off" /> - <string - name="VoiceControlBtnToolTip" - value="Shows/hides voice control panel" /> - <layout_stack - border_size="0" - clip="false" - follows="all" - height="28" - layout="topleft" - left="0" - mouse_opaque="false" - name="toolbar_stack" - orientation="horizontal" - top="0" - width="1310"> - <layout_panel - auto_resize="false" - user_resize="false" - min_width="2" - width="2" /> - <layout_panel - auto_resize="false" - layout="topleft" - max_width="320" - min_width="214" - height="28" - mouse_opaque="false" - name="chat_bar_layout_panel" - user_resize="true" - width="312" > - <panel - name="chat_bar" - filename="panel_nearby_chat_bar.xml" - left="0" - height="28" - width="306" - top="0" - mouse_opaque="false" - follows="left|right" - /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="35" - mouse_opaque="false" - name="speak_panel" - top_delta="0" - user_resize="false" - width="85"> - <button - follows="left|right" - height="23" - layout="topleft" - label="Speak" - left="0" - name="speak_btn" - tool_tip="Turn your microphone on and off" - pad_right="30" - halign="center" - use_ellipses="true" - tab_stop="true" - is_toggle="true" - image_selected="Speak_Btn_Selected_Press" - image_unselected="Speak_Btn_Off" - image_pressed="Speak_Btn_Selected_Press" - image_pressed_selected="Speak_Btn_Selected_Press" - top="5" - width="85"> - - <commit_callback - function="ToggleSpeak" - parameter="f1_help" /> - </button> - </layout_panel> - - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="20" - mouse_opaque="false" - name="speak_flyout_panel" - top_delta="0" - user_resize="false" - width="26"> - <button - follows="left|right" - width="20" - top="5" - left="0" - height="23" - name="flyout_btn" - label="" - tab_stop="false" - tool_tip="Change your sound preferences" - is_toggle="true" - image_disabled="ComboButton_UpOff" - image_unselected="ComboButton_UpOff" - image_selected="ComboButton_On" - image_pressed="ComboButton_UpSelected" - image_pressed_selected="ComboButton_Selected"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="sound_devices" /> - </button> - - </layout_panel> - - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="65" - mouse_opaque="false" - name="gesture_panel" - top_delta="0" - user_resize="false" - width="88"> - <gesture_combo_list - follows="left|right" - height="23" - label="Gesture" - layout="topleft" - get_more="false" - view_all="false" - left="0" - name="Gesture" - tool_tip="Make your avatar do things" - top="5" - width="82"> - <combo_button - pad_right="10" - can_drag="false" - use_ellipses="true" /> - <combo_list - page_lines="17" /> - </gesture_combo_list> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="cam_panel" - user_resize="false" - width="86"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="View" - layout="topleft" - left="0" - name="camera_btn" - tool_tip="Control your camera angle" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="camera" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_width="8" - name="splitter_panel_1" - user_resize="false" - width="8"> - <icon - follows="left|bottom" - height="18" - width="2" - left="0" - image_name="Button_Separator" - name="separator" - top="7"/> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="83" - mouse_opaque="false" - name="destinations_panel" - user_resize="false" - width="106"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - label="Destinations" - layout="topleft" - left="0" - name="destination_btn" - tool_tip="Travel through Second Life" - top="5" - is_toggle="true" - use_ellipses="true" - width="100"> - <bottomtray_button.commit_callback - function="Destination.show" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="73" - mouse_opaque="false" - name="avatar_panel" - user_resize="false" - width="106"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - label="My Avatar" - layout="topleft" - left="0" - name="avatar_btn" - top="5" - is_toggle="true" - tool_tip="Change your appearance" - use_ellipses="true" - width="100"> - <bottomtray_button.commit_callback - function="Avatar.show" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_width="8" - name="splitter_panel_2" - user_resize="false" - width="8"> - <icon - follows="left|bottom" - height="18" - width="2" - left="0" - image_name="Button_Separator" - name="separator" - top="7"/> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="65" - mouse_opaque="false" - name="people_panel" - top_delta="0" - user_resize="false" - width="106"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - label="People" - layout="topleft" - left="0" - name="show_people_button" - tool_tip="Find people in Second Life" - top="5" - is_toggle="true" - use_ellipses="true" - width="100"> - <bottomtray_button.commit_callback - function="ShowSidetrayPanel" - parameter="panel_people" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="65" - mouse_opaque="false" - name="profile_panel" - top_delta="0" - user_resize="false" - width="106"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - label="Profile" - layout="topleft" - left="0" - name="show_profile_btn" - tool_tip="View and edit your Profile" - is_toggle="true" - top="5" - use_ellipses="true" - width="100"> - <bottomtray_button.commit_callback - function="ToggleAgentProfile" - parameter="agent"/> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="65" - mouse_opaque="false" - name="howto_panel" - top_delta="0" - user_resize="false" - width="106"> - <bottomtray_button - can_drag="false" - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - label="How To" - layout="topleft" - left="0" - name="show_help_btn" - tool_tip="View Second Life help info" - is_toggle="true" - top="5" - use_ellipses="true" - width="100"> - <bottomtray_button.commit_callback - function="ToggleHelp" - parameter="f1_help" /> - </bottomtray_button> - </layout_panel> - <layout_panel - follows="left|right" - height="30" - layout="topleft" - min_width="95" - mouse_opaque="false" - name="chiclet_list_panel" - top="0" - user_resize="false" - width="189"> - <!--*NOTE: min_width of the chiclet_panel (chiclet_list) must be the same -as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly. EXT-991--> - <chiclet_panel - chiclet_padding="4" - follows="left|right" - height="24" - layout="topleft" - left="1" - min_width="95" - mouse_opaque="false" - name="chiclet_list" - top="7" - width="189"> - <button - auto_resize="true" - follows="right" - height="29" - image_hover_selected="SegmentedBtn_Left_Over" - image_hover_unselected="SegmentedBtn_Left_Over" - image_overlay="Arrow_Small_Left" - image_pressed="SegmentedBtn_Left_Press" - image_pressed_selected="SegmentedBtn_Left_Press" - image_selected="SegmentedBtn_Left_Off" - image_unselected="SegmentedBtn_Left_Off" - layout="topleft" - name="chicklet_left_scroll_button" - tab_stop="false" - top="-28" - visible="false" - width="7" /> - <button - auto_resize="true" - follows="right" - height="29" - image_hover_selected="SegmentedBtn_Right_Over" - image_hover_unselected="SegmentedBtn_Right_Over" - image_overlay="Arrow_Small_Right" - image_pressed="SegmentedBtn_Right_Press" - image_pressed_selected="SegmentedBtn_Right_Press" - image_selected="SegmentedBtn_Right_Off" - image_unselected="SegmentedBtn_Right_Off" - layout="topleft" - name="chicklet_right_scroll_button" - tab_stop="false" - top="-28" - visible="false" - width="7" /> - </chiclet_panel> - </layout_panel> - <layout_panel auto_resize="false" - user_resize="false" - width="4" - min_width="4"/> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="37" - name="im_well_panel" - top="0" - user_resize="false" - width="37"> - <chiclet_im_well - follows="right" - height="28" - layout="topleft" - left="0" - max_displayed_count="99" - name="im_well" - top="0" - width="35"> - <!-- -Emulate 4 states of button by background images, see details in EXT-3147. The same should be for notification_well button -xml attribute Description -image_unselected "Unlit" - there are no new messages -image_selected "Unlit" + "Selected" - there are no new messages and the Well is open -image_pressed "Lit" - there are new messages -image_pressed_selected "Lit" + "Selected" - there are new messages and the Well is open - --> - <button - auto_resize="true" - follows="right" - halign="center" - height="23" - image_overlay="Unread_IM" - image_overlay_alignment="center" - image_pressed="WellButton_Lit" - image_pressed_selected="WellButton_Lit_Selected" - image_selected="PushButton_Press" - label_color="Black" - left="0" - name="Unread IM messages" - tool_tip="Conversations" - width="34"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="im_well_window" /> - </button> - </chiclet_im_well> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="37" - name="notification_well_panel" - top="0" - user_resize="false" - width="37"> - <chiclet_notification - follows="right" - height="23" - layout="topleft" - left="0" - max_displayed_count="99" - name="notification_well" - top="5" - width="35"> - <button - auto_resize="true" - bottom_pad="3" - follows="right" - halign="center" - height="23" - image_overlay="Notices_Unread" - image_overlay_alignment="center" - image_pressed="WellButton_Lit" - image_pressed_selected="WellButton_Lit_Selected" - image_selected="PushButton_Press" - label_color="Black" - left="0" - name="Unread" - tool_tip="Notifications" - width="34"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="notification_well_window" /> - </button> - </chiclet_notification> - </layout_panel> - <layout_panel - auto_resize="false" - user_resize="false" - min_width="4" - name="DUMMY2" - width="8" /> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/en/panel_group_control_panel.xml deleted file mode 100644 index abddc592966..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_group_control_panel.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - border="false" - follows="all" - height="238" - name="panel_im_control_panel" - width="150"> - <layout_stack - mouse_opaque="false" - border_size="0" - clip="false" - follows="all" - height="238" - layout="topleft" - left="5" - name="vertical_stack" - orientation="vertical" - top="0" - width="145"> - <layout_panel - auto_resize="true" - follows="top|left" - height="100" - layout="topleft" - min_height="0" - mouse_opaque="false" - width="145" - top="0" - name="speakers_list_panel" - user_resize="false"> - <avatar_list - color="DkGray2" - follows="all" - height="100" - ignore_online_status="true" - layout="topleft" - name="speakers_list" - opaque="false" - show_info_btn="true" - show_profile_btn="false" - show_speaking_indicator="false" - width="145" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="28" - layout="topleft" - min_height="28" - width="130" - name="end_call_btn_panel" - user_resize="false" - visible="false"> - <button - follows="all" - height="23" - label="Leave Call" - name="end_call_btn" - use_ellipses="true" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="28" - layout="topleft" - min_height="28" - width="130" - name="voice_ctrls_btn_panel" - user_resize="false" - visible="false"> - <button - follows="all" - height="23" - label="Open Voice Controls" - name="voice_ctrls_btn" - use_ellipses="true" /> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml deleted file mode 100644 index 2cb77bcdf3e..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_im_control_panel.xml +++ /dev/null @@ -1,194 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - border="false" - height="300" - name="panel_im_control_panel" - width="150"> - <avatar_icon - follows="left|top" - height="105" - left_delta="20" - name="avatar_icon" - top="-5" - width="114"/> - <layout_stack - mouse_opaque="false" - border_size="0" - clip="false" - follows="all" - height="183" - layout="topleft" - left="5" - name="button_stack" - orientation="vertical" - top_pad="5" - width="145"> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="20" - layout="topleft" - left="2" - min_height="20" - width="140" - name="view_profile_btn_panel" - top="0" - user_resize="false"> - <button - follows="left|top|right" - height="23" - label="Profile" - name="view_profile_btn" - top="0" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="add_friend_btn_panel" - user_resize="false"> - <button - follows="left|top|right" - height="23" - label="Add Friend" - name="add_friend_btn" - top="5" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="teleport_btn_panel" - user_resize="false"> - <button - auto_resize="false" - follows="left|top|right" - height="23" - label="Teleport" - name="teleport_btn" - tool_tip = "Offer to teleport this person" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="call_btn_panel" - user_resize="false"> - <button - follows="left|top|right" - height="23" - label="Call" - name="call_btn" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="end_call_btn_panel" - user_resize="false" - visible="false"> - <button - follows="left|top|right" - height="23" - label="End Call" - name="end_call_btn" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="block_btn_panel" - user_resize="false"> - <button - follows="left|top|right" - height="23" - label="Block" - name="block_btn" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="25" - width="140" - name="unblock_btn_panel" - user_resize="false" - visible="false"> - <button - follows="left|top|right" - height="23" - label="Unblock" - name="unblock_btn" - width="140" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="top|left|right" - height="25" - layout="topleft" - min_height="54" - width="140" - name="volume_ctrl_panel" - visible="false" - user_resize="false"> - <slider - follows="top|left" - height="23" - increment="0.01" - left="0" - max_val="0.95" - min_val="0.05" - name="volume_slider" - show_text="false" - tool_tip="Call Volume" - top_pad="32" - value="0.5" - width="125" /> - <button - follows="top|left" - height="16" - image_disabled="Audio_Off" - image_disabled_selected="AudioMute_Off" - image_hover_selected="AudioMute_Over" - image_selected="AudioMute_Off" - image_unselected="Audio_Off" - is_toggle="true" - left_pad="0" - top_delta="4" - name="mute_btn" - width="16" /> - </layout_panel> - <layout_panel - mouse_opaque="false" - auto_resize="true" - follows="top|left" - height="0" - layout="topleft" - min_height="0" - width="140" - name="spacer" - user_resize="false" /> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_login.xml b/indra/newview/skins/minimal/xui/en/panel_login.xml deleted file mode 100644 index 40d2df78e13..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_login.xml +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel -follows="all" -height="600" -layout="topleft" -left="0" -name="panel_login" -focus_root="true" -top="600" - width="996"> -<panel.string - name="create_account_url"> - http://join.secondlife.com/ -</panel.string> -<string name="reg_in_client_url" translate="false"> - http://secondlife.eniac15.lindenlab.com/reg-in-client/ -</string> -<panel.string - name="forgot_password_url"> - http://secondlife.com/account/request.php -</panel.string> -<!-- *NOTE: Custom resize logic for login_html in llpanellogin.cpp --> -<web_browser - tab_stop="false" -trusted_content="true" -bg_opaque_color="Black" -border_visible="false" -bottom="600" -follows="all" -hide_loading="true" -left="0" -name="login_html" -start_url="" -top="0" -height="600" - width="980" /> -<layout_stack -follows="left|bottom|right" -name="login_widgets" -layout="topleft" -orientation="horizontal" -top="519" -width="996" -height="80"> -<layout_panel -auto_resize="false" -follows="left|bottom" -name="login" -layout="topleft" -width="570" -min_width="570" -user_resize="false" -height="80"> -<text -follows="left|bottom" -font="SansSerifSmall" -height="16" -name="username_text" -top="20" -left="20" -width="150"> -Username: -</text> - <combo_box - allow_text_entry="true" - follows="left|bottom" - height="22" - left_delta="0" - max_chars="128" - combo_editor.prevalidate_callback="ascii" - tool_tip="The username you chose when you registered, like bobsmith12 or Steller Sunshine" - top_pad="0" - name="username_combo" - width="178"> - <combo_box.combo_button - visible ="false"/> - <combo_box.drop_down_button - visible ="false"/> - </combo_box> -<text -follows="left|bottom" -font="SansSerifSmall" -height="15" -left_pad="-19" -name="password_text" -top="20" - width="150"> - Password: -</text> -<line_editor -follows="left|bottom" - height="22" -left_delta="0" - max_length_bytes="16" -name="password_edit" -is_password="true" -select_on_focus="true" - top_pad="0" - width="135" /> - <check_box -control_name="RememberPassword" -follows="left|bottom" -font="SansSerifSmall" -height="16" -label="Remember password" - top_pad="3" - name="remember_check" - width="135" /> -<button - follows="left|bottom" - height="23" - image_unselected="PushButton_On" - image_selected="PushButton_On_Selected" - label="Log In" - label_color="White" - layout="topleft" - left_pad="10" - name="connect_btn" - top="35" - width="90" /> - <text - follows="left|bottom" - font="SansSerifSmall" - height="15" - left_pad="10" - name="mode_selection_text" - top="20" - width="130"> - Mode: - </text> - <combo_box - follows="left|bottom" - height="23" - max_chars="128" - tool_tip="Select your mode. Choose Basic for fast, easy exploration and chat. Choose Advanced to access more features." - top_pad="0" - name="mode_combo" - width="110"> - <combo_box.item - label="Basic" - name="Basic" - value="settings_minimal.xml" /> - <combo_box.item - label="Advanced" - name="Advanced" - value="" /> - </combo_box> -</layout_panel> -<layout_panel -tab_stop="false" -follows="right|bottom" -name="links" -width="205" -min_width="205" -user_resize="false" -height="80"> - <text -follows="right|bottom" -font="SansSerifSmall" -text_color="EmphasisColor" -halign="right" -height="16" -top="12" -right="-10" -name="create_new_account_text" - width="200"> - Sign up - </text> -<text -follows="right|bottom" -font="SansSerifSmall" -text_color="EmphasisColor" -halign="right" -height="16" -name="forgot_password_text" -top_pad="12" -right="-10" - width="200"> - Forgot your username or password? -</text> -<text -follows="right|bottom" -font="SansSerifSmall" -text_color="EmphasisColor" -halign="right" -height="16" -name="login_help" -top_pad="2" -right="-10" - width="200"> - Need help logging in? </text> -<!-- <text - follows="right|bottom" - font="SansSerifSmall" - halign="right" - height="28" - top_pad="2" - name="channel_text" - width="180" - word_wrap="true"> - [VERSION] - </text>--> - </layout_panel> -</layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml deleted file mode 100644 index 73a85642741..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_navigation_bar.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_opaque="true" - background_visible="true" - bg_opaque_color="MouseGray" - follows="left|top|right" - height="26" - layout="topleft" - name="navigation_bar" - chrome="true" - width="600"> - <icon - follows="all" - image_name="NavBar_BG_NoFav_Bevel" - mouse_opaque="false" - name="bg_icon_no_fav_bevel" - scale_image="true" - visible="true" - left="0" - top="0" - height="26" - width="600"/> - <panel - background_visible="false" - follows="left|top|right" - top="3" - height="26" - layout="topleft" - name="navigation_panel" - width="600"> - <pull_button -follows="left|top" -direction="down" -height="23" -image_overlay="Arrow_Left_Off" -image_bottom_pad="1" -layout="topleft" -left="10" -name="back_btn" -tool_tip="Go back to previous location" -top="2" -width="31" /> - <pull_button - follows="left|top" - direction="down" - height="23" - image_overlay="Arrow_Right_Off" - image_bottom_pad="1" - layout="topleft" - left_pad="0" - name="forward_btn" - tool_tip="Go forward one location" - top_delta="0" - width="31" /> - <location_input - follows="left|right|top" - halign="right" - height="23" - label="Location" - layout="topleft" - left_pad="7" - max_chars="254" - mouse_opaque="false" - name="location_combo" - top_delta="0" - width="325"> - </location_input> - <icon follows="right" - height="20" - width="2" - left_pad="2" - image_name="Button_Separator" - name="separator" - top="2"/> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_people.xml b/indra/newview/skins/minimal/xui/en/panel_people.xml deleted file mode 100644 index 4739f86e95e..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_people.xml +++ /dev/null @@ -1,571 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- Side tray panel --> -<panel - default_tab_group="1" - follows="all" - height="449" - label="People" - layout="topleft" - left="0" - min_height="350" - name="people_panel" - top="0" - width="333"> - <string - name="no_recent_people" - value="No recent people. Looking for people to hang out with? Try the Destinations button below." /> - <string - name="no_filtered_recent_people" - value="No recent people with that name." /> - <string - name="no_one_near" - value="No one nearby. Looking for people to hang out with? Try the Destinations button below." /> - <string - name="no_one_filtered_near" - value="No one nearby with that name." /> - <string - name="no_friends_online" - value="No friends online" /> - <string - name="no_friends" - value="No friends" /> - <string - name="no_friends_msg"> - Right-click on a Resident to add them as a friend. -Looking for people to hang out with? Try the Destinations button below. - </string> - <string - name="no_filtered_friends_msg"> - Didn't find what you're looking for? Try the Destinations button below.. - </string> - <string - name="people_filter_label" - value="Filter People" /> - <string - name="groups_filter_label" - value="Filter Groups" /> - <!-- - *WORKAROUND: for group_list.no_items_msg & group_list.no_filtered_items_msg attributes. - They are not defined as translatable in VLT. See EXT-5931 - --> - <string - name="no_filtered_groups_msg" - value="Didn't find what you're looking for? Try [secondlife:///app/search/groups/[SEARCH_TERM] Search]." /> - <string - name="no_groups_msg" - value="Looking for Groups to join? Try [secondlife:///app/search/groups Search]." /> - <string - name="MiniMapToolTipMsg" - value="[REGION](Double-click to open Map, shift-drag to pan)"/> - <string - name="AltMiniMapToolTipMsg" - value="[REGION](Double-click to teleport, shift-drag to pan)"/> - <filter_editor - follows="left|top|right" - height="23" - layout="topleft" - left="10" - label="Filter" - max_length="300" - name="filter_input" - text_color="Black" - text_pad_left="10" - top="3" - width="303" /> - <tab_container - follows="all" - height="383" - layout="topleft" - left="5" - name="tabs" - tab_group="1" - tab_min_width="70" - tab_height="30" - tab_position="top" - top_pad="10" - halign="center" - width="317"> - <panel - background_opaque="true" - background_visible="true" - bg_alpha_color="DkGray" - bg_opaque_color="DkGray" - follows="all" - height="383" - label="NEARBY" - layout="topleft" - left="0" - help_topic="people_nearby_tab" - name="nearby_panel" - top="0" - width="313"> - <net_map - bg_color="NetMapBackgroundColor" - follows="top|left|right" - layout="topleft" - left="3" - mouse_opaque="false" - name="Net Map" - width="307" - height="140" - top="0"/> - <avatar_list - allow_select="true" - follows="top|left|bottom|right" - height="216" - ignore_online_status="true" - layout="topleft" - left="3" - multi_select="true" - name="avatar_list" - top="145" - width="307" /> - <panel - background_visible="true" - follows="left|right|bottom" - height="27" - label="bottom_panel" - layout="topleft" - left="3" - name="bottom_panel" - top_pad="0" - width="313"> - <icon - follows="bottom|left|right" - height="25" - image_name="Toolbar_Right_Off" - layout="topleft" - left_pad="1" - name="dummy_icon" - width="241" - /> - </panel> - </panel> - <panel - background_opaque="true" - background_visible="true" - bg_alpha_color="DkGray" - bg_opaque_color="DkGray" - follows="all" - height="383" - label="MY FRIENDS" - layout="topleft" - left="0" - help_topic="people_friends_tab" - name="friends_panel" - top="0" - width="313"> - <accordion - background_visible="true" - bg_alpha_color="DkGray2" - bg_opaque_color="DkGray2" - follows="all" - height="356" - layout="topleft" - left="3" - name="friends_accordion" - top="0" - width="307"> - <accordion_tab - layout="topleft" - height="172" - min_height="150" - name="tab_online" - title="Online"> - <avatar_list - allow_select="true" - follows="all" - height="172" - layout="topleft" - left="0" - multi_select="true" - name="avatars_online" - show_permissions_granted="true" - top="0" - width="307" /> - </accordion_tab> - <accordion_tab - layout="topleft" - height="173" - name="tab_all" - title="All"> - <avatar_list - allow_select="true" - follows="all" - height="173" - layout="topleft" - left="0" - multi_select="true" - name="avatars_all" - show_permissions_granted="true" - top="0" - width="307" /> - </accordion_tab> - </accordion> - <panel - background_visible="true" - follows="left|right|bottom" - height="27" - label="bottom_panel" - layout="topleft" - left="3" - name="bottom_panel" - top_pad="0" - width="313"> - - <layout_stack - animate="false" - border_size="0" - follows="left|right|bottom" - height="25" - layout="topleft" - orientation="horizontal" - top_pad="1" - left="0" - name="bottom_panel" - width="305"> - <layout_panel - auto_resize="true" - height="25" - layout="topleft" - name="dummy_panel" - user_resize="false" - width="212"> - <icon - follows="bottom|left|right" - height="25" - image_name="Toolbar_Middle_Off" - layout="topleft" - left="0" - top="0" - name="dummy_icon" - width="211" /> - </layout_panel> - <layout_panel - auto_resize="false" - height="25" - layout="topleft" - name="trash_btn_panel" - user_resize="false" - width="31"> - <dnd_button - follows="bottom|left" - height="25" - image_hover_unselected="Toolbar_Right_Over" - image_overlay="TrashItem_Off" - image_selected="Toolbar_Right_Selected" - image_unselected="Toolbar_Right_Off" - left="0" - layout="topleft" - name="del_btn" - tool_tip="Remove selected person from your Friends list" - top="0" - width="31"/> - </layout_panel> - </layout_stack><!-- - - <button - follows="bottom|left" - tool_tip="Options" - height="25" - image_hover_unselected="Toolbar_Left_Over" - image_overlay="OptionsMenu_Off" - image_selected="Toolbar_Left_Selected" - image_unselected="Toolbar_Left_Off" - layout="topleft" - left="0" - name="friends_viewsort_btn" - top="1" - width="31" /> - <button - follows="bottom|left" - height="25" - image_hover_unselected="Toolbar_Middle_Over" - image_overlay="AddItem_Off" - image_selected="Toolbar_Middle_Selected" - image_unselected="Toolbar_Middle_Off" - layout="topleft" - left_pad="1" - name="add_btn" - tool_tip="Offer friendship to a Resident" - width="31" /> - <icon - follows="bottom|left|right" - height="25" - image_name="Toolbar_Middle_Off" - layout="topleft" - left_pad="1" - name="dummy_icon" - width="209" - /> - <button - follows="bottom|left" - height="25" - image_hover_unselected="Toolbar_Right_Over" - image_overlay="TrashItem_Off" - image_selected="Toolbar_Right_Selected" - image_unselected="Toolbar_Right_Off" - layout="topleft" - left_pad="1" - name="del_btn" - tool_tip="Remove selected person from your Friends list" - width="31" /> - --></panel> - <text - follows="all" - height="450" - left="13" - name="no_friends_help_text" - top="10" - width="293" - wrap="true" /> - </panel> - <panel - background_opaque="true" - background_visible="true" - bg_alpha_color="DkGray" - bg_opaque_color="DkGray" - follows="all" - height="383" - label="RECENT" - layout="topleft" - left="0" - help_topic="people_recent_tab" - name="recent_panel" - top="0" - width="313"> - <avatar_list - allow_select="true" - follows="all" - height="356" - layout="topleft" - left="3" - multi_select="true" - name="avatar_list" - show_last_interaction_time="true" - top="0" - width="307" /> - <panel - background_visible="true" - follows="left|right|bottom" - height="27" - label="bottom_panel" - layout="topleft" - left="0" - name="bottom_panel" - top_pad="0" - width="313"> - <button - follows="bottom|left" - height="25" - image_hover_unselected="Toolbar_Middle_Over" - image_overlay="AddItem_Off" - image_selected="Toolbar_Middle_Selected" - image_unselected="Toolbar_Middle_Off" - layout="topleft" - left_pad="1" - name="add_friend_btn" - tool_tip="Add selected Resident to your friends List" - width="31"> - <commit_callback - function="People.addFriend" /> - </button> - <icon - follows="bottom|left|right" - height="25" - image_name="Toolbar_Right_Off" - layout="topleft" - left_pad="1" - name="dummy_icon" - width="241" - /> - </panel> - </panel> - </tab_container> - <panel - follows="bottom|left|right" - height="23" - layout="topleft" - left="8" - top_pad="4" - name="button_bar" - width="313"> - -<!--********************************Profile; IM; Call, Share, Teleport********************************--> - <layout_stack - follows="bottom|left|right" - height="23" - layout="topleft" - name="bottom_bar_ls" - left="0" - orientation="horizontal" - top_pad="0" - width="313"> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left="0" - name="view_profile_btn_lp" - user_resize="false" - auto_resize="true" - width="68"> - <button - follows="bottom|left|right" - height="23" - label="Profile" - layout="topleft" - left="1" - name="view_profile_btn" - tool_tip="Show picture, groups, and other Residents information" - top="0" - width="67" /> - </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="41"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="IM" - layout="topleft" - name="im_btn" - tool_tip="Open instant message session" - top="0" - width="40" /> - </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" - left="1" - height="23" - label="Call" - layout="topleft" - name="call_btn" - tool_tip="Call this Resident" - top="0" - width="51" /> - </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="77"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="Teleport" - layout="topleft" - name="teleport_btn" - tool_tip="Offer teleport" - top="0" - width="76" /> - </layout_panel> - </layout_stack> - -<!--********************************Group Profile; Group Chat; Group Call buttons************************--> - <layout_stack - follows="bottom|left|right" - height="23" - layout="topleft" - mouse_opaque="false" - name="bottom_bar_ls1" - left="0" - orientation="horizontal" - top="0" - width="313"> - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left="0" - mouse_opaque="false" - name="group_info_btn_lp" - user_resize="false" - auto_resize="true" - width="108"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="Group Profile" - layout="topleft" - mouse_opaque="false" - name="group_info_btn" - tool_tip="Show group information" - top="0" - width="107" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - mouse_opaque="false" - name="chat_btn_lp" - user_resize="false" - auto_resize="true" - width="101"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="Group Chat" - layout="topleft" - mouse_opaque="false" - name="chat_btn" - tool_tip="Open chat session" - top="0" - width="100" /> - </layout_panel> - - <layout_panel - follows="bottom|left|right" - height="23" - layout="bottomleft" - left_pad="3" - mouse_opaque="false" - name="group_call_btn_lp" - user_resize="false" - auto_resize="true" - width="96"> - <button - follows="bottom|left|right" - left="1" - height="23" - label="Group Call" - layout="topleft" - mouse_opaque="false" - name="group_call_btn" - tool_tip="Call this group" - top="0" - width="95" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml deleted file mode 100644 index 9f2f41ba318..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_visible="true" - bottom="0" - follows="left|top|right" - height="5" - width="333" - layout="topleft" - left="0" - name="sidetray_tab_panel"> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_status_bar.xml b/indra/newview/skins/minimal/xui/en/panel_status_bar.xml deleted file mode 100644 index fdd6b5d6ec5..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_status_bar.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_opaque="true" - background_visible="true" - bg_opaque_color="MouseGray" - chrome="true" - follows="top|right" - height="30" - layout="topleft" - left="0" - mouse_opaque="false" - name="status" - top="19" - tab_stop="false" - width="185"> - <panel.string - name="packet_loss_tooltip"> - Packet Loss - </panel.string> - <panel.string - name="bandwidth_tooltip"> - Bandwidth - </panel.string> - <panel.string - name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string - name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string - name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <combo_box - follows="right|top" - left_pad="5" - drop_down_button.pad_left="10" - left="0" - top="5" - pad_left="5" - width="120" - height="23" - name="mode_combo" - tool_tip="Select your mode. Choose Basic for fast, easy exploration and chat. Choose Advanced to access more features." - > - <combo_box.item - label="Basic Mode" - name="Basic" - value="settings_minimal.xml" /> - <combo_box.item - label="Advanced Mode" - name="Advanced" - value="" /> - </combo_box> - <button - follows="right|top" - height="16" - image_selected="Play_Off" - image_unselected="Pause_Off" - image_pressed="Pause_Press" - image_pressed_selected="Play_Press" - is_toggle="true" - left_pad="5" - top="7" - name="media_toggle_btn" - tool_tip="Start/Stop All Media (Music, Video, Web pages)" - width="16" > - </button> - <button - follows="right|top" - height="16" - image_selected="AudioMute_Off" - image_pressed="Audio_Press" - image_unselected="Audio_Off" - is_toggle="true" - left_pad="5" - top="8" - name="volume_btn" - tool_tip="Global Volume Control" - width="16" /> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/panel_volume_pulldown.xml b/indra/newview/skins/minimal/xui/en/panel_volume_pulldown.xml deleted file mode 100644 index 36ad39abe8a..00000000000 --- a/indra/newview/skins/minimal/xui/en/panel_volume_pulldown.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_opaque="true" - background_visible="true" - bg_opaque_image="Volume_Background" - bg_alpha_image="Volume_Background" - border_visible="false" - border="false" - chrome="true" - follows="bottom" - height="150" - layout="topleft" - name="volumepulldown_floater" - width="32"> - <slider - control_name="AudioLevelMaster" - follows="left|top" - left="0" - top="1" - orientation="vertical" - height="140" - increment="0.05" - initial_value="0.5" - layout="topleft" - name="mastervolume" - show_text="false" - slider_label.halign="right" - top_pad="2" - volume="true"> - <slider.commit_callback - function="Vol.setControlFalse" - parameter="MuteAudio" /> - </slider> -</panel> diff --git a/indra/newview/skins/minimal/xui/en/widgets/location_input.xml b/indra/newview/skins/minimal/xui/en/widgets/location_input.xml deleted file mode 100644 index ba148cf4211..00000000000 --- a/indra/newview/skins/minimal/xui/en/widgets/location_input.xml +++ /dev/null @@ -1,139 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- -*TODO: Replace hardcoded buttons width/height with getting this info from the button images. - Currently that doesn't work because LLUIImage::getWidth/getHeight() return 1 for the images. ---> -<location_input font="SansSerifSmall" - maturity_help_topic="maturity_rating" - add_landmark_hpad="0" - icon_hpad="2" - allow_text_entry="true" - list_position="below" - show_text_as_tentative="false" - max_chars="20" - follows="left|top" - allow_new_values="true" - > - <!-- *NOTE: Tooltips are in strings.xml so they can be localized. - See LocationCtrlAddLandmarkTooltip etc. --> - <info_button - name="Place Information" - width="0" - height="0" - visible="false" - left="6" - top="20" - follows="left|top" - hover_glow_amount="0.15" /> - <add_landmark_button name="Add Landmark" - hover_glow_amount="0.15" - width="0" - height="0" - visible="false" - follows="right|top" - scale_image="false" - top="19" - left="-3" /> - <maturity_button - name="maturity_icon" - width="0" - height="0" - visible="false" - top="20" - follows="left|top" - /> - <for_sale_button - name="for_sale_btn" - width="0" - height="0" - visible="false" - follows="right|top" - scale_image="false" - top="21" - /> - <voice_icon - enabled="true" - name="voice_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <fly_icon - name="fly_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <push_icon - name="push_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <build_icon - name="build_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <scripts_icon - name="scripts_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <damage_icon - name="damage_icon" - width="0" - height="0" - visible="false" - top="19" - left="2" - follows="right|top" - /> - <!-- Default text color is invisible on top of nav bar background --> - <damage_text - name="damage_text" - width="0" - height="0" - max_length="0" - top="17" - follows="right|top" - halign="right" - font="SansSerifSmall" - text_color="TextFgColor" - /> - <see_avatars_icon - name="see_avatars_icon" - width="0" - height="0" - visible="false" - top="21" - follows="right|top" - /> - <combo_button - name="Location History" - label="" - pad_right="0"/> - <combo_list - bg_writeable_color="MenuDefaultBgColor" - page_lines="10" - scroll_bar_bg_visible="true" /> - <combo_editor name="Combo Text Entry" - text_pad_left="4" - select_on_focus="false" - font="SansSerifSmall" - bevel_style="none" - border_style="line" - border.border_thickness="0" /> -</location_input> diff --git a/indra/newview/skins/minimal/xui/es/floater_camera.xml b/indra/newview/skins/minimal/xui/es/floater_camera.xml deleted file mode 100644 index 87177e285c9..00000000000 --- a/indra/newview/skins/minimal/xui/es/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Girar la cámara alrededor de lo enfocado - </floater.string> - <floater.string name="zoom_tooltip"> - Hacer zoom con la cámara en lo enfocado - </floater.string> - <floater.string name="move_tooltip"> - Mover la cámara arriba y abajo, izquierda y derecha - </floater.string> - <floater.string name="camera_modes_title"> - Modos de cámara - </floater.string> - <floater.string name="pan_mode_title"> - Orbital - Zoom - Panorámica - </floater.string> - <floater.string name="presets_mode_title"> - Vistas predefinidas - </floater.string> - <floater.string name="free_mode_title"> - Centrar el objeto - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - De frente - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Vista lateral - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Desde detrás - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Vista de objeto - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Vista subjetiva - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Hacer zoom con la cámara en lo enfocado"> - <joystick_rotate name="cam_rotate_stick" tool_tip="La cámara gira alrededor del punto de vista"/> - <slider_bar name="zoom_slider" tool_tip="Hacer zoom en lo enfocado"/> - <joystick_track name="cam_track_stick" tool_tip="Mueve la cámara arriba y abajo, a izquierda y derecha"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Vistas predefinidas"/> - <button label="" name="pan_btn" tool_tip="Orbital - Zoom - Panorámica"/> - <button label="" name="avatarview_btn" tool_tip="Modos de cámara"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/floater_help_browser.xml b/indra/newview/skins/minimal/xui/es/floater_help_browser.xml deleted file mode 100644 index 67590ebfbb6..00000000000 --- a/indra/newview/skins/minimal/xui/es/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="INDICACIONES"> - <floater.string name="loading_text"> - Cargando... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/floater_media_browser.xml b/indra/newview/skins/minimal/xui/es/floater_media_browser.xml deleted file mode 100644 index a7086c2d6d2..00000000000 --- a/indra/newview/skins/minimal/xui/es/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="EXPLORADOR DE MEDIA"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Atrás" name="back"/> - <button label="Adelante" name="forward"/> - <button label="Recargar" name="reload"/> - <button label="Ir" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="rebobinar" name="rewind"/> - <button label="parar" name="stop"/> - <button label="avanzar" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Enviar a la parcela la página actual" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Abrir en mi propio navegador" name="open_browser"/> - <check_box label="Abrir siempre en mi propio navegador" name="open_always"/> - <button label="Cerrar" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/es/floater_nearby_chat.xml deleted file mode 100644 index 1fee9ab0566..00000000000 --- a/indra/newview/skins/minimal/xui/es/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT"> - <check_box label="Traducir chat (mediante Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/floater_web_content.xml b/indra/newview/skins/minimal/xui/es/floater_web_content.xml deleted file mode 100644 index b0128096794..00000000000 --- a/indra/newview/skins/minimal/xui/es/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Navegar hacia atrás"/> - <button name="forward" tool_tip="Navegar hacia adelante"/> - <button name="stop" tool_tip="Parar navegación"/> - <button name="reload" tool_tip="Recargar página"/> - <combo_box name="address" tool_tip="Escribe la URL aquÃ"/> - <icon name="media_secure_lock_flag" tool_tip="Navegación segura"/> - <button name="popexternal" tool_tip="Abrir la URL actual en tu explorador de escritorio"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/inspect_avatar.xml b/indra/newview/skins/minimal/xui/es/inspect_avatar.xml deleted file mode 100644 index 1d70fa6a90c..00000000000 --- a/indra/newview/skins/minimal/xui/es/inspect_avatar.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_details"> - Ésta es mi descripción de Second Life que, por cierto, me encanta. Pero, por lo que sea, me he enrollado más de la cuenta y la descripción es larguÃsima. - </text> - <slider name="volume_slider" tool_tip="Volumen de la voz" value="0.5"/> - <button label="Añadir como amigo" name="add_friend_btn"/> - <button label="MI" name="im_btn"/> - <button label="Perfil" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="Desactivar la voz" name="disable_voice"/> - <button label="Activar la voz" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/inspect_object.xml b/indra/newview/skins/minimal/xui/es/inspect_object.xml deleted file mode 100644 index d608b4a0f74..00000000000 --- a/indra/newview/skins/minimal/xui/es/inspect_object.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Por [CREATOR] - </string> - <string name="CreatorAndOwner"> - Por [CREATOR] -Propietario [OWNER] - </string> - <string name="Price"> - [AMOUNT] L$ - </string> - <string name="PriceFree"> - ¡Gratis! - </string> - <string name="Touch"> - Tocar - </string> - <string name="Sit"> - Sentarme - </string> - <text name="object_name" value="Test Object Name That Is actually two lines and Really Long"/> - <text name="price_text"> - 30.000 L$ - </text> - <text name="object_description"> - This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really? - </text> - <button label="Comprar" name="buy_btn"/> - <button label="Pagar" name="pay_btn"/> - <button label="Coger una copia" name="take_free_copy_btn"/> - <button label="Tocar" name="touch_btn"/> - <button label="Sentarme" name="sit_btn"/> - <button label="Abrir" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Navegación segura"/> - <button label="Más" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/es/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/es/menu_add_wearable_gear.xml deleted file mode 100644 index f2367c72a3c..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Ordenar por los más recientes" name="sort_by_most_recent"/> - <menu_item_check label="Ordenar alfabéticamente" name="sort_by_name"/> - <menu_item_check label="Ordenar por tipo" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/es/menu_attachment_other.xml deleted file mode 100644 index b8ae93afd23..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Ver el perfil" name="Profile..."/> - <menu_item_call label="Añadir como amigo" name="Add Friend"/> - <menu_item_call label="MI" name="Send IM..."/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Invitar al grupo" name="Invite..."/> - <menu_item_call label="Ignorar" name="Avatar Mute"/> - <menu_item_call label="Denunciar" name="abuse"/> - <menu_item_call label="Congelar" name="Freeze..."/> - <menu_item_call label="Expulsar" name="Eject..."/> - <menu_item_call label="Depurar las texturas" name="Debug..."/> - <menu_item_call label="Acercar el zoom" name="Zoom In"/> - <menu_item_call label="Pagar" name="Pay..."/> - <menu_item_call label="Perfil del objeto" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/es/menu_attachment_self.xml deleted file mode 100644 index ab76c92d656..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Tocar" name="Attachment Object Touch"/> - <menu_item_call label="Editar" name="Edit..."/> - <menu_item_call label="Quitar" name="Detach"/> - <menu_item_call label="Sentarte" name="Sit Down Here"/> - <menu_item_call label="Levantarme" name="Stand Up"/> - <menu_item_call label="Cambiar vestuario" name="Change Outfit"/> - <menu_item_call label="Editar mi vestuario" name="Edit Outfit"/> - <menu_item_call label="Editar mi anatomÃa" name="Edit My Shape"/> - <menu_item_call label="Mis amigos" name="Friends..."/> - <menu_item_call label="Mis grupos" name="Groups..."/> - <menu_item_call label="Mi perfil" name="Profile..."/> - <menu_item_call label="Depurar las texturas" name="Debug..."/> - <menu_item_call label="Soltar" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/es/menu_avatar_icon.xml deleted file mode 100644 index fe7331a1083..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Ver el perfil" name="Show Profile"/> - <menu_item_call label="Enviar un MI..." name="Send IM"/> - <menu_item_call label="Añadir como amigo..." name="Add Friend"/> - <menu_item_call label="Quitar de los amigos..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/es/menu_avatar_other.xml deleted file mode 100644 index 5fb3e51575e..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Ver el perfil" name="Profile..."/> - <menu_item_call label="Añadir como amigo" name="Add Friend"/> - <menu_item_call label="MI" name="Send IM..."/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Invitar al grupo" name="Invite..."/> - <menu_item_call label="Ignorar" name="Avatar Mute"/> - <menu_item_call label="Denunciar" name="abuse"/> - <menu_item_call label="Congelar" name="Freeze..."/> - <menu_item_call label="Expulsar" name="Eject..."/> - <menu_item_call label="Depurar las texturas" name="Debug..."/> - <menu_item_call label="Acercar el zoom" name="Zoom In"/> - <menu_item_call label="Pagar" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/es/menu_avatar_self.xml deleted file mode 100644 index 50f8384b0f2..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="Sentarte" name="Sit Down Here"/> - <menu_item_call label="Levantarme" name="Stand Up"/> - <context_menu label="Quitarme" name="Take Off >"> - <context_menu label="Ropas" name="Clothes >"> - <menu_item_call label="Camisa" name="Shirt"/> - <menu_item_call label="Pantalón" name="Pants"/> - <menu_item_call label="Falda" name="Skirt"/> - <menu_item_call label="Zapatos" name="Shoes"/> - <menu_item_call label="Calcetines" name="Socks"/> - <menu_item_call label="Chaqueta" name="Jacket"/> - <menu_item_call label="Guantes" name="Gloves"/> - <menu_item_call label="Camiseta" name="Self Undershirt"/> - <menu_item_call label="Ropa interior" name="Self Underpants"/> - <menu_item_call label="Tatuaje" name="Self Tattoo"/> - <menu_item_call label="Alfa" name="Self Alpha"/> - <menu_item_call label="Toda la ropa" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Quitar" name="Object Detach"/> - <menu_item_call label="Quitarse todo" name="Detach All"/> - </context_menu> - <menu_item_call label="Cambiar vestuario" name="Chenge Outfit"/> - <menu_item_call label="Editar mi vestuario" name="Edit Outfit"/> - <menu_item_call label="Editar mi anatomÃa" name="Edit My Shape"/> - <menu_item_call label="Mis amigos" name="Friends..."/> - <menu_item_call label="Mis grupos" name="Groups..."/> - <menu_item_call label="Mi perfil" name="Profile..."/> - <menu_item_call label="Depurar las texturas" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/es/menu_bottomtray.xml deleted file mode 100644 index 62683f3076b..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Botón Gestos" name="ShowGestureButton"/> - <menu_item_check label="Botón Moverse" name="ShowMoveButton"/> - <menu_item_check label="Botón Vista" name="ShowCameraButton"/> - <menu_item_check label="Botón Foto" name="ShowSnapshotButton"/> - <menu_item_check label="Botón Barra lateral" name="ShowSidebarButton"/> - <menu_item_check label="Botón Construir" name="ShowBuildButton"/> - <menu_item_check label="Botón Buscar" name="ShowSearchButton"/> - <menu_item_check label="Botón Mapa" name="ShowWorldMapButton"/> - <menu_item_check label="Botón Minimapa" name="ShowMiniMapButton"/> - <menu_item_call label="Cortar" name="NearbyChatBar_Cut"/> - <menu_item_call label="Copiar" name="NearbyChatBar_Copy"/> - <menu_item_call label="Pegar" name="NearbyChatBar_Paste"/> - <menu_item_call label="Borrar" name="NearbyChatBar_Delete"/> - <menu_item_call label="Seleccionar todo" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/es/menu_cof_attachment.xml deleted file mode 100644 index 7541530601d..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Quitar" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/es/menu_cof_body_part.xml deleted file mode 100644 index 56b95bdc3b6..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Reemplazar" name="replace"/> - <menu_item_call label="Editar" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/es/menu_cof_clothing.xml deleted file mode 100644 index 3c0c5882843..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Quitarme" name="take_off"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Reemplazar" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/es/menu_cof_gear.xml deleted file mode 100644 index ff8ad0977ac..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Ropas nuevas" name="COF.Gear.New_Clothes"/> - <menu label="Nuevas partes del cuerpo" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_edit.xml b/indra/newview/skins/minimal/xui/es/menu_edit.xml deleted file mode 100644 index 96fc9d88813..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Editar" name="Edit"> - <menu_item_call label="Deshacer" name="Undo"/> - <menu_item_call label="Rehacer" name="Redo"/> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Pegar" name="Paste"/> - <menu_item_call label="Borrar" name="Delete"/> - <menu_item_call label="Duplicar" name="Duplicate"/> - <menu_item_call label="Seleccionar todo" name="Select All"/> - <menu_item_call label="Deseleccionar" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_favorites.xml b/indra/newview/skins/minimal/xui/es/menu_favorites.xml deleted file mode 100644 index 85210d5c49f..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teleportar" name="Teleport To Landmark"/> - <menu_item_call label="Ver/Editar el hito" name="Landmark Open"/> - <menu_item_call label="Copiar la SLurl" name="Copy slurl"/> - <menu_item_call label="Mostrar en el mapa" name="Show On Map"/> - <menu_item_call label="Copiar" name="Landmark Copy"/> - <menu_item_call label="Pegar" name="Landmark Paste"/> - <menu_item_call label="Borrar" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/es/menu_gesture_gear.xml deleted file mode 100644 index 24706eb2c8c..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Añadir a / Quitar de los favoritos" name="activate"/> - <menu_item_call label="Copiar" name="copy_gesture"/> - <menu_item_call label="Pegar" name="paste"/> - <menu_item_call label="Copiar la UUID" name="copy_uuid"/> - <menu_item_call label="Añadir al vestuario actual" name="save_to_outfit"/> - <menu_item_call label="Editar" name="edit_gesture"/> - <menu_item_call label="Inspeccionar" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_group_plus.xml b/indra/newview/skins/minimal/xui/es/menu_group_plus.xml deleted file mode 100644 index 6b26ba42c42..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Entrar al grupo..." name="item_join"/> - <menu_item_call label="Grupo nuevo..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/es/menu_hide_navbar.xml deleted file mode 100644 index 22a1873234a..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Mostrar la barra de navegación" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Mostrar la barra de favoritos" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Mostrar mini-barra de ubicación" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/es/menu_im_well_button.xml deleted file mode 100644 index c8f6c217cc3..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Cerrar todo" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/es/menu_imchiclet_adhoc.xml deleted file mode 100644 index e11e9bdc583..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Acabar la sesión" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/es/menu_imchiclet_group.xml deleted file mode 100644 index a5e60ea40b7..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Información del grupo" name="Show Profile"/> - <menu_item_call label="Mostrar la sesión" name="Chat"/> - <menu_item_call label="Acabar la sesión" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/es/menu_imchiclet_p2p.xml deleted file mode 100644 index 492801026c9..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Ver el perfil" name="Show Profile"/> - <menu_item_call label="Añadir como amigo" name="Add Friend"/> - <menu_item_call label="Mostrar la sesión" name="Send IM"/> - <menu_item_call label="Acabar la sesión" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/es/menu_inspect_avatar_gear.xml deleted file mode 100644 index 728637de78e..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Ver el perfil" name="view_profile"/> - <menu_item_call label="Añadir como amigo" name="add_friend"/> - <menu_item_call label="MI" name="im"/> - <menu_item_call label="Llamar" name="call"/> - <menu_item_call label="Teleportar" name="teleport"/> - <menu_item_call label="Ignorar" name="block"/> - <menu_item_call label="Designorar" name="unblock"/> - <menu_item_call label="Denunciar" name="report"/> - <menu_item_call label="Congelar" name="freeze"/> - <menu_item_call label="Expulsar" name="eject"/> - <menu_item_call label="Expulsar" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Depurar las texturas" name="debug"/> - <menu_item_call label="Encontrar en el mapa" name="find_on_map"/> - <menu_item_call label="Acercar el zoom" name="zoom_in"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/es/menu_inspect_object_gear.xml deleted file mode 100644 index bcdc25894f4..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Tocar" name="touch"/> - <menu_item_call label="Sentarse" name="sit"/> - <menu_item_call label="Pagar" name="pay"/> - <menu_item_call label="Comprar" name="buy"/> - <menu_item_call label="Tomar" name="take"/> - <menu_item_call label="Coger una copia" name="take_copy"/> - <menu_item_call label="Abrir" name="open"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Ponerse" name="wear"/> - <menu_item_call label="Añadir" name="add"/> - <menu_item_call label="Denunciar" name="report"/> - <menu_item_call label="Ignorar" name="block"/> - <menu_item_call label="Acercar el zoom" name="zoom_in"/> - <menu_item_call label="Quitar" name="remove"/> - <menu_item_call label="Más información" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml deleted file mode 100644 index 1a49efb9d02..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="Sentarme" name="Sit Down Here"/> - <menu_item_call label="Levantarme" name="Stand Up"/> - <menu_item_call label="Mis amigos" name="Friends..."/> - <menu_item_call label="Mi perfil" name="Profile..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/es/menu_inv_offer_chiclet.xml deleted file mode 100644 index 20d99afde11..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Cerrar" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inventory.xml b/indra/newview/skins/minimal/xui/es/menu_inventory.xml deleted file mode 100644 index 94ee162bbce..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inventory.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Compartir" name="Share"/> - <menu_item_call label="Comprar" name="Task Buy"/> - <menu_item_call label="Abrir" name="Task Open"/> - <menu_item_call label="Ejecutar" name="Task Play"/> - <menu_item_call label="Propiedades" name="Task Properties"/> - <menu_item_call label="Renombrar" name="Task Rename"/> - <menu_item_call label="Borrar" name="Task Remove"/> - <menu_item_call label="Vaciar la papelera" name="Empty Trash"/> - <menu_item_call label="Vaciar Objetos Perdidos" name="Empty Lost And Found"/> - <menu_item_call label="Carpeta nueva" name="New Folder"/> - <menu_item_call label="Script nuevo" name="New Script"/> - <menu_item_call label="Nota nueva" name="New Note"/> - <menu_item_call label="Gesto nuevo" name="New Gesture"/> - <menu label="Ropas nuevas" name="New Clothes"> - <menu_item_call label="Camisa nueva" name="New Shirt"/> - <menu_item_call label="Pantalones nuevos" name="New Pants"/> - <menu_item_call label="Zapatos nuevos" name="New Shoes"/> - <menu_item_call label="Calcetines nuevos" name="New Socks"/> - <menu_item_call label="Chaqueta nueva" name="New Jacket"/> - <menu_item_call label="Falda nueva" name="New Skirt"/> - <menu_item_call label="Guantes nuevos" name="New Gloves"/> - <menu_item_call label="Camiseta nueva" name="New Undershirt"/> - <menu_item_call label="Ropa interior nueva" name="New Underpants"/> - <menu_item_call label="Nueva capa Alpha" name="New Alpha Mask"/> - <menu_item_call label="Tatuaje nuevo" name="New Tattoo"/> - </menu> - <menu label="Nuevas partes del cuerpo" name="New Body Parts"> - <menu_item_call label="Forma nueva" name="New Shape"/> - <menu_item_call label="Piel nueva" name="New Skin"/> - <menu_item_call label="Pelo nuevo" name="New Hair"/> - <menu_item_call label="Ojos nuevos" name="New Eyes"/> - </menu> - <menu label="Change Type" name="Change Type"> - <menu_item_call label="Por defecto" name="Default"/> - <menu_item_call label="Guantes" name="Gloves"/> - <menu_item_call label="Chaqueta" name="Jacket"/> - <menu_item_call label="Pantalón" name="Pants"/> - <menu_item_call label="Forma" name="Shape"/> - <menu_item_call label="Zapatos" name="Shoes"/> - <menu_item_call label="Camisa" name="Shirt"/> - <menu_item_call label="Falda" name="Skirt"/> - <menu_item_call label="Ropa interior" name="Underpants"/> - <menu_item_call label="Camiseta" name="Undershirt"/> - </menu> - <menu_item_call label="Teleportar" name="Landmark Open"/> - <menu_item_call label="Abrir" name="Animation Open"/> - <menu_item_call label="Abrir" name="Sound Open"/> - <menu_item_call label="Reemplazar el vestuario" name="Replace Outfit"/> - <menu_item_call label="Añadir al vestuario" name="Add To Outfit"/> - <menu_item_call label="Quitar del vestuario actual" name="Remove From Outfit"/> - <menu_item_call label="Encontrar el original" name="Find Original"/> - <menu_item_call label="Eliminar el Ãtem" name="Purge Item"/> - <menu_item_call label="Restaurar el Ãtem" name="Restore Item"/> - <menu_item_call label="Abrir" name="Open"/> - <menu_item_call label="Abrir original" name="Open Original"/> - <menu_item_call label="Propiedades" name="Properties"/> - <menu_item_call label="Renombrar" name="Rename"/> - <menu_item_call label="Copiar la UUID" name="Copy Asset UUID"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Pegar" name="Paste"/> - <menu_item_call label="Pegar como enlace" name="Paste As Link"/> - <menu_item_call label="Borrar" name="Remove Link"/> - <menu_item_call label="Borrar" name="Delete"/> - <menu_item_call label="Borrar carpeta del sistema" name="Delete System Folder"/> - <menu_item_call label="Empezar multiconferencia" name="Conference Chat Folder"/> - <menu_item_call label="Escuchar" name="Sound Play"/> - <menu_item_call label="Acerca del hito" name="About Landmark"/> - <menu_item_call label="Escuchar en el mundo" name="Animation Play"/> - <menu_item_call label="Ejecutarla para usted" name="Animation Audition"/> - <menu_item_call label="Enviar un mensaje instantáneo" name="Send Instant Message"/> - <menu_item_call label="Ofrecer teleporte..." name="Offer Teleport..."/> - <menu_item_call label="Empezar multiconferencia" name="Conference Chat"/> - <menu_item_call label="Activar" name="Activate"/> - <menu_item_call label="Desactivar" name="Deactivate"/> - <menu_item_call label="Guardar como" name="Save As"/> - <menu_item_call label="Quitarse" name="Detach From Yourself"/> - <menu_item_call label="Ponerme" name="Wearable And Object Wear"/> - <menu label="Anexar a" name="Attach To"/> - <menu label="Anexar como HUD" name="Attach To HUD"/> - <menu_item_call label="Editar" name="Wearable Edit"/> - <menu_item_call label="Añadir" name="Wearable Add"/> - <menu_item_call label="Quitarse" name="Take Off"/> - <menu_item_call label="--sin opciones--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/es/menu_inventory_add.xml deleted file mode 100644 index ba106e8335d..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Subir" name="upload"> - <menu_item_call label="Imagen ([COST] L$)..." name="Upload Image"/> - <menu_item_call label="Sonido ([COST] L$)..." name="Upload Sound"/> - <menu_item_call label="Animación ([COST] L$)..." name="Upload Animation"/> - <menu_item_call label="Masivo ([COST] L$ por archivo)..." name="Bulk Upload"/> - <menu_item_call label="Configurar los permisos por defecto de subida" name="perm prefs"/> - </menu> - <menu_item_call label="Carpeta nueva" name="New Folder"/> - <menu_item_call label="Script nuevo" name="New Script"/> - <menu_item_call label="Nota nueva" name="New Note"/> - <menu_item_call label="Gesto nuevo" name="New Gesture"/> - <menu label="Ropas nuevas" name="New Clothes"> - <menu_item_call label="Camisa nueva" name="New Shirt"/> - <menu_item_call label="Pantalón nuevo" name="New Pants"/> - <menu_item_call label="Zapatos nuevos" name="New Shoes"/> - <menu_item_call label="Calcetines nuevos" name="New Socks"/> - <menu_item_call label="Chaqueta nueva" name="New Jacket"/> - <menu_item_call label="Falda nueva" name="New Skirt"/> - <menu_item_call label="Guantes nuevos" name="New Gloves"/> - <menu_item_call label="Camiseta nueva" name="New Undershirt"/> - <menu_item_call label="Ropa interior nueva" name="New Underpants"/> - <menu_item_call label="Nueva Alfa" name="New Alpha"/> - <menu_item_call label="Tatuaje nuevo" name="New Tattoo"/> - </menu> - <menu label="Nuevas partes del cuerpo" name="New Body Parts"> - <menu_item_call label="Forma nueva" name="New Shape"/> - <menu_item_call label="Piel nueva" name="New Skin"/> - <menu_item_call label="Pelo nuevo" name="New Hair"/> - <menu_item_call label="Ojos nuevos" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/es/menu_inventory_gear_default.xml deleted file mode 100644 index 8e498fefba1..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_inventory_gear_default.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nueva ventana del inventario" name="new_window"/> - <menu_item_check label="Ordenar alfabéticamente" name="sort_by_name"/> - <menu_item_check label="Ordenar por los más recientes" name="sort_by_recent"/> - <menu_item_check label="Las carpetas del sistema, arriba" name="sort_system_folders_to_top"/> - <menu_item_call label="Ver los filtros" name="show_filters"/> - <menu_item_call label="Restablecer los filtros" name="reset_filters"/> - <menu_item_call label="Cerrar todas las carpetas" name="close_folders"/> - <menu_item_call label="Vaciar Objetos Perdidos" name="empty_lostnfound"/> - <menu_item_call label="Guardar la textura como" name="Save Texture As"/> - <menu_item_call label="Compartir" name="Share"/> - <menu_item_call label="Encontrar el original" name="Find Original"/> - <menu_item_call label="Encontrar todos los enlazados" name="Find All Links"/> - <menu_item_call label="Vaciar la Papelera" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_land.xml b/indra/newview/skins/minimal/xui/es/menu_land.xml deleted file mode 100644 index b0f15be1b63..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="Acerca del terreno" name="Place Information..."/> - <menu_item_call label="Sentarme aquÃ" name="Sit Here"/> - <menu_item_call label="Comprar este terreno" name="Land Buy"/> - <menu_item_call label="Comprar un pase" name="Land Buy Pass"/> - <menu_item_call label="Construir" name="Create"/> - <menu_item_call label="Modificar el terreno" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_landmark.xml b/indra/newview/skins/minimal/xui/es/menu_landmark.xml deleted file mode 100644 index f69b1539b82..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Copiar la SLurl" name="copy"/> - <menu_item_call label="Borrar" name="delete"/> - <menu_item_call label="Crear un Destacado" name="pick"/> - <menu_item_call label="Añadir a la barra de favoritos" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_login.xml b/indra/newview/skins/minimal/xui/es/menu_login.xml deleted file mode 100644 index c27d6247324..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_login.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Yo" name="File"> - <menu_item_call label="Preferencias" name="Preferences..."/> - <menu_item_call label="Salir de [APP_NAME]" name="Quit"/> - </menu> - <menu label="Ayuda" name="Help"> - <menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="Acerca de [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Mostrar el menú 'Debug'" name="Show Debug Menu"/> - <menu label="Depurar" name="Debug"> - <menu_item_call label="Mostrar las configuraciones del depurador" name="Debug Settings"/> - <menu_item_call label="Configuraciones del Visor/Color" name="UI/Color Settings"/> - <menu label="Pruebas de la interfaz" name="UI Tests"/> - <menu_item_call label="Definir el tamaño de la ventana..." name="Set Window Size..."/> - <menu_item_call label="Mostrar los 'TOS'" name="TOS"/> - <menu_item_call label="Mostrar mensaje crÃtico" name="Critical"/> - <menu_item_call label="Prueba de navegadores de medios" name="Web Browser Test"/> - <menu_item_call label="Prueba de ventanas de contenidos web" name="Web Content Floater Test"/> - <menu_item_check label="Mostrar el selector de Grid" name="Show Grid Picker"/> - <menu_item_call label="Mostrar la consola de notificaciones" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/es/menu_mini_map.xml b/indra/newview/skins/minimal/xui/es/menu_mini_map.xml deleted file mode 100644 index 07d1b085729..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom cerca" name="Zoom Close"/> - <menu_item_call label="Zoom medio" name="Zoom Medium"/> - <menu_item_call label="Zoom lejos" name="Zoom Far"/> - <menu_item_call label="Zoom por defecto" name="Zoom Default"/> - <menu_item_check label="Girar el mapa" name="Rotate Map"/> - <menu_item_check label="Centrar automáticamente" name="Auto Center"/> - <menu_item_call label="Parar la búsqueda" name="Stop Tracking"/> - <menu_item_call label="Mapa del mundo" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_navbar.xml b/indra/newview/skins/minimal/xui/es/menu_navbar.xml deleted file mode 100644 index 63e54680206..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Mostrar las coordenadas" name="Show Coordinates"/> - <menu_item_check label="Mostrar las propiedades de la parcela" name="Show Parcel Properties"/> - <menu_item_call label="Hito" name="Landmark"/> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Pegar" name="Paste"/> - <menu_item_call label="Borrar" name="Delete"/> - <menu_item_call label="Seleccionar todo" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/es/menu_nearby_chat.xml deleted file mode 100644 index 94b281b6c76..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Mostrar la gente que está cerca..." name="nearby_people"/> - <menu_item_check label="Ver el texto ignorado" name="muted_text"/> - <menu_item_check label="Mostrar los iconos del amigo" name="show_buddy_icons"/> - <menu_item_check label="Mostrar los nombres" name="show_names"/> - <menu_item_check label="Mostrar los iconos y los nombres" name="show_icons_and_names"/> - <menu_item_call label="Tamaño de la fuente" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/es/menu_notification_well_button.xml deleted file mode 100644 index 0562d35be72..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Cerrar todo" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_object.xml b/indra/newview/skins/minimal/xui/es/menu_object.xml deleted file mode 100644 index 06121e0c09a..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Tocar" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Tocar"/> - </menu_item_call> - <menu_item_call label="Editar" name="Edit..."/> - <menu_item_call label="Construir" name="Build"/> - <menu_item_call label="Abrir" name="Open"/> - <menu_item_call label="Sentarme aquÃ" name="Object Sit"/> - <menu_item_call label="Levantarme" name="Object Stand Up"/> - <menu_item_call label="Perfil del objeto" name="Object Inspect"/> - <menu_item_call label="Acercar el zoom" name="Zoom In"/> - <context_menu label="Ponerme" name="Put On"> - <menu_item_call label="Ponerme" name="Wear"/> - <menu_item_call label="Añadir" name="Add"/> - <context_menu label="Anexar" name="Object Attach"/> - <context_menu label="Anexar el HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Quitar" name="Remove"> - <menu_item_call label="Denunciar una infracción" name="Report Abuse..."/> - <menu_item_call label="Ignorar" name="Object Mute"/> - <menu_item_call label="Devolver" name="Return..."/> - <menu_item_call label="Eliminar" name="Delete"/> - </context_menu> - <menu_item_call label="Tomar" name="Pie Object Take"/> - <menu_item_call label="Coger una copia" name="Take Copy"/> - <menu_item_call label="Pagar" name="Pay..."/> - <menu_item_call label="Comprar" name="Buy..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_object_icon.xml b/indra/newview/skins/minimal/xui/es/menu_object_icon.xml deleted file mode 100644 index 7e4578b9504..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Perfil del objeto..." name="Object Profile"/> - <menu_item_call label="Ignorar..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/es/menu_outfit_gear.xml deleted file mode 100644 index 3b11bceecf6..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Ponerme - Reemplazar el vestuario actual" name="wear"/> - <menu_item_call label="Ponerme - Añadir al vestuario actual" name="wear_add"/> - <menu_item_call label="Quitarme - Quitar del vestuario actual" name="take_off"/> - <menu label="Ropas nuevas" name="New Clothes"> - <menu_item_call label="Camisa nueva" name="New Shirt"/> - <menu_item_call label="Pantalón nuevo" name="New Pants"/> - <menu_item_call label="Zapatos nuevos" name="New Shoes"/> - <menu_item_call label="Calcetines nuevos" name="New Socks"/> - <menu_item_call label="Chaqueta nueva" name="New Jacket"/> - <menu_item_call label="Falda nueva" name="New Skirt"/> - <menu_item_call label="Guantes nuevos" name="New Gloves"/> - <menu_item_call label="Camiseta nueva" name="New Undershirt"/> - <menu_item_call label="Ropa interior nueva" name="New Underpants"/> - <menu_item_call label="Nueva Alfa" name="New Alpha"/> - <menu_item_call label="Tatuaje nuevo" name="New Tattoo"/> - </menu> - <menu label="Nuevas partes del cuerpo" name="New Body Parts"> - <menu_item_call label="AnatomÃa nueva" name="New Shape"/> - <menu_item_call label="Piel nueva" name="New Skin"/> - <menu_item_call label="Pelo nuevo" name="New Hair"/> - <menu_item_call label="Ojos nuevos" name="New Eyes"/> - </menu> - <menu_item_call label="Renombrar el vestuario" name="rename"/> - <menu_item_call label="Borrar el vestuario" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/es/menu_outfit_tab.xml deleted file mode 100644 index 4136082a62f..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Ponerme - Reemplazar el vestuario actual" name="wear_replace"/> - <menu_item_call label="Ponerme - Añadir al vestuario actual" name="wear_add"/> - <menu_item_call label="Quitarme - Quitar del vestuario actual" name="take_off"/> - <menu_item_call label="Editar el vestuario" name="edit"/> - <menu_item_call label="Renombrar el vestuario" name="rename"/> - <menu_item_call label="Borrar el vestuario" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_participant_list.xml b/indra/newview/skins/minimal/xui/es/menu_participant_list.xml deleted file mode 100644 index f6eedd11705..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Ordenar alfabéticamente" name="SortByName"/> - <menu_item_check label="Ordenar según las intervenciones recientes" name="SortByRecentSpeakers"/> - <menu_item_call label="Ver el perfil" name="View Profile"/> - <menu_item_call label="Añadir como amigo" name="Add Friend"/> - <menu_item_call label="MI" name="IM"/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Compartir" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_check label="Ver los iconos de la gente" name="View Icons"/> - <menu_item_check label="Ignorar la voz" name="Block/Unblock"/> - <menu_item_check label="Ignorar el texto" name="MuteText"/> - <context_menu label="Opciones del moderador" name="Moderator Options"> - <menu_item_check label="Permitir el chat de texto" name="AllowTextChat"/> - <menu_item_call label="Ignorar a este participante" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Quitar el silencio a este participante" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Silenciar a todos" name="ModerateVoiceMute"/> - <menu_item_call label="Quitar el silencio a todos" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/es/menu_people_friends_view_sort.xml deleted file mode 100644 index 3899ad9e961..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar alfabéticamente" name="sort_name"/> - <menu_item_check label="Ordenar por estatus" name="sort_status"/> - <menu_item_check label="Ver los iconos de la gente" name="view_icons"/> - <menu_item_check label="Ver permisos concedidos" name="view_permissions"/> - <menu_item_call label="Ver la lista de Residentes y Objetos ignorados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_groups.xml b/indra/newview/skins/minimal/xui/es/menu_people_groups.xml deleted file mode 100644 index 51bd2c72085..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Ver la información" name="View Info"/> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Activar" name="Activate"/> - <menu_item_call label="Dejar" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/es/menu_people_groups_view_sort.xml deleted file mode 100644 index 1bd3efb6118..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Mostrar los iconos de grupo" name="Display Group Icons"/> - <menu_item_call label="Dejar el grupo seleccionado" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/es/menu_people_nearby.xml deleted file mode 100644 index dc1486d8796..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Ver el perfil" name="View Profile"/> - <menu_item_call label="Añadir como amigo" name="Add Friend"/> - <menu_item_call label="Quitarle como amigo" name="Remove Friend"/> - <menu_item_call label="MI" name="IM"/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Mapa" name="Map"/> - <menu_item_call label="Compartir" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_check label="Ignorar / No ignorar" name="Block/Unblock"/> - <menu_item_call label="Ofrecer teleporte" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/es/menu_people_nearby_multiselect.xml deleted file mode 100644 index 227c5ebe58f..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Añadir como amigos" name="Add Friends"/> - <menu_item_call label="Quitar amigos" name="Remove Friend"/> - <menu_item_call label="MI" name="IM"/> - <menu_item_call label="Llamar" name="Call"/> - <menu_item_call label="Compartir" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_call label="Ofrecer teleporte" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/es/menu_people_nearby_view_sort.xml deleted file mode 100644 index f0fe383c0c3..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar según las intervenciones recientes" name="sort_by_recent_speakers"/> - <menu_item_check label="Ordenar alfabéticamente" name="sort_name"/> - <menu_item_check label="Ordenar según distancia" name="sort_distance"/> - <menu_item_check label="Ver los iconos de la gente" name="view_icons"/> - <menu_item_call label="Ver la lista de Residentes y Objetos ignorados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/es/menu_people_recent_view_sort.xml deleted file mode 100644 index e4aaa891109..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por los más recientes" name="sort_most"/> - <menu_item_check label="Ordenar alfabéticamente" name="sort_name"/> - <menu_item_check label="Ver los iconos de la gente" name="view_icons"/> - <menu_item_call label="Ver la lista de Residentes y Objetos ignorados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_picks.xml b/indra/newview/skins/minimal/xui/es/menu_picks.xml deleted file mode 100644 index 9da68d7c9bf..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Información" name="pick_info"/> - <menu_item_call label="Editar" name="pick_edit"/> - <menu_item_call label="Teleportar" name="pick_teleport"/> - <menu_item_call label="Mapa" name="pick_map"/> - <menu_item_call label="Eliminar" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/es/menu_picks_plus.xml deleted file mode 100644 index cc59bf1d292..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Destacado nuevo" name="create_pick"/> - <menu_item_call label="Clasificado nuevo" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_place.xml b/indra/newview/skins/minimal/xui/es/menu_place.xml deleted file mode 100644 index 675f0699e99..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Crear un hito" name="landmark"/> - <menu_item_call label="Crear un destacado" name="pick"/> - <menu_item_call label="Comprar un pase" name="pass"/> - <menu_item_call label="Editar" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/es/menu_place_add_button.xml deleted file mode 100644 index 4b2f908a063..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Añadir una carpeta" name="add_folder"/> - <menu_item_call label="Añadir este hito" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/es/menu_places_gear_folder.xml deleted file mode 100644 index bf46eb58e3c..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_places_gear_folder.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Añadir este hito" name="add_landmark"/> - <menu_item_call label="Añadir una carpeta" name="add_folder"/> - <menu_item_call label="Cortar" name="cut"/> - <menu_item_call label="Copiar" name="copy_folder"/> - <menu_item_call label="Pegar" name="paste"/> - <menu_item_call label="Renombrar" name="rename"/> - <menu_item_call label="Borrar" name="delete"/> - <menu_item_call label="Abrir" name="expand"/> - <menu_item_call label="Cerrar" name="collapse"/> - <menu_item_call label="Abrir todas las carpetas" name="expand_all"/> - <menu_item_call label="Cerrar todas las carpetas" name="collapse_all"/> - <menu_item_check label="Ordenar por fecha" name="sort_by_date"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/es/menu_places_gear_landmark.xml deleted file mode 100644 index eac85de846c..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_places_gear_landmark.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_ladmark_gear"> - <menu_item_call label="Teleportar" name="teleport"/> - <menu_item_call label="Más información" name="more_info"/> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Añadir un hito" name="add_landmark"/> - <menu_item_call label="Añadir una carpeta" name="add_folder"/> - <menu_item_call label="Cortar" name="cut"/> - <menu_item_call label="Copiar el hito" name="copy_landmark"/> - <menu_item_call label="Copiar la SLurl" name="copy_slurl"/> - <menu_item_call label="Pegar" name="paste"/> - <menu_item_call label="Renombrar" name="rename"/> - <menu_item_call label="Eliminar" name="delete"/> - <menu_item_call label="Abrir todas las carpetas" name="expand_all"/> - <menu_item_call label="Cerrar todas las carpetas" name="collapse_all"/> - <menu_item_check label="Ordenar por fecha" name="sort_by_date"/> - <menu_item_call label="Crear un Destacado" name="create_pick"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/es/menu_profile_overflow.xml deleted file mode 100644 index 5ee8c50949e..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Mapa" name="show_on_map"/> - <menu_item_call label="Pagar" name="pay"/> - <menu_item_call label="Compartir" name="share"/> - <menu_item_call label="Ignorar" name="block"/> - <menu_item_call label="Designorar" name="unblock"/> - <menu_item_call label="Expulsar" name="kick"/> - <menu_item_call label="Congelar" name="freeze"/> - <menu_item_call label="Descongelar" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/es/menu_save_outfit.xml deleted file mode 100644 index a04ec75b60a..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Guardar" name="save_outfit"/> - <menu_item_call label="Guardar como" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/es/menu_script_chiclet.xml deleted file mode 100644 index f517baf5662..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Cerrar" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_slurl.xml b/indra/newview/skins/minimal/xui/es/menu_slurl.xml deleted file mode 100644 index ca19acec6e4..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Acerca de la URL" name="about_url"/> - <menu_item_call label="Teleportar a la URL" name="teleport_to_url"/> - <menu_item_call label="Mapa" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/es/menu_teleport_history_gear.xml deleted file mode 100644 index b708f3bc201..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Abrir todas las carpetas" name="Expand all folders"/> - <menu_item_call label="Cerrar todas las carpetas" name="Collapse all folders"/> - <menu_item_call label="Limpiar el historial de teleportes" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/es/menu_teleport_history_item.xml deleted file mode 100644 index c482907812c..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teleportar" name="Teleport"/> - <menu_item_call label="Más información" name="More Information"/> - <menu_item_call label="Copiar al portapapeles" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/es/menu_teleport_history_tab.xml deleted file mode 100644 index 17e90422a55..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Abrir" name="TabOpen"/> - <menu_item_call label="Cerrar" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_text_editor.xml b/indra/newview/skins/minimal/xui/es/menu_text_editor.xml deleted file mode 100644 index 095e461734e..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Pegar" name="Paste"/> - <menu_item_call label="Borrar" name="Delete"/> - <menu_item_call label="Seleccionar todo" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/es/menu_topinfobar.xml deleted file mode 100644 index 2125fd51b22..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Mostrar las coordenadas" name="Show Coordinates"/> - <menu_item_check label="Mostrar las propiedades de la parcela" name="Show Parcel Properties"/> - <menu_item_call label="Hito" name="Landmark"/> - <menu_item_call label="Copiar" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_agent.xml b/indra/newview/skins/minimal/xui/es/menu_url_agent.xml deleted file mode 100644 index a089c8f68e3..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar el perfil del Residente" name="show_agent"/> - <menu_item_call label="Copiar el nombre al portapapeles" name="url_copy_label"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_group.xml b/indra/newview/skins/minimal/xui/es/menu_url_group.xml deleted file mode 100644 index 79374b97395..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar la información del grupo" name="show_group"/> - <menu_item_call label="Copiar el grupo al portapapeles" name="url_copy_label"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_http.xml b/indra/newview/skins/minimal/xui/es/menu_url_http.xml deleted file mode 100644 index 585c059ff31..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Abrir la página web" name="url_open"/> - <menu_item_call label="Abrir en el navegador incorporado" name="url_open_internal"/> - <menu_item_call label="Abrir en mi navegador" name="url_open_external"/> - <menu_item_call label="Copiar la URL al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/es/menu_url_inventory.xml deleted file mode 100644 index 13a8711c761..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar Ãtem del inventario" name="show_item"/> - <menu_item_call label="Copiar el nombre al portapapeles" name="url_copy_label"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_map.xml b/indra/newview/skins/minimal/xui/es/menu_url_map.xml deleted file mode 100644 index f96a0c71706..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Teleportarse a la localización" name="teleport_to_location"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/es/menu_url_objectim.xml deleted file mode 100644 index 8791a290af6..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar la información del objeto" name="show_object"/> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Teleportarse a la posición del objeto" name="teleport_to_object"/> - <menu_item_call label="Copiar el nombre del objeto al portapapeles" name="url_copy_label"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/es/menu_url_parcel.xml deleted file mode 100644 index 9e789ef8ee8..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar la información de la parcela" name="show_parcel"/> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/es/menu_url_slapp.xml deleted file mode 100644 index 7147dcd3cff..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Ejecutar este comando" name="run_slapp"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/es/menu_url_slurl.xml deleted file mode 100644 index 4ab47c2f61e..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar la información del lugar" name="show_place"/> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Teleportarse a este lugar" name="teleport_to_location"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/es/menu_url_teleport.xml deleted file mode 100644 index 8f86a91be30..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Teleportarse a este lugar" name="teleport"/> - <menu_item_call label="Mostrar en el mapa" name="show_on_map"/> - <menu_item_call label="Copiar la SLurl al portapapeles" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_viewer.xml b/indra/newview/skins/minimal/xui/es/menu_viewer.xml deleted file mode 100644 index 776ccfe21bc..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Ayuda" name="Help"> - <menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/> - </menu> - <menu label="Avanzado" name="Advanced"> - <menu label="Atajos de teclado" name="Shortcuts"> - <menu_item_check label="Volar" name="Fly"/> - <menu_item_call label="Cerrar la ventana" name="Close Window"/> - <menu_item_call label="Cerrar todas las ventanas" name="Close All Windows"/> - <menu_item_call label="Volver a la vista por defecto" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/es/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/es/menu_wearable_list_item.xml deleted file mode 100644 index 4bffa689e74..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Reemplazar" name="wear_replace"/> - <menu_item_call label="Ponerme" name="wear_wear"/> - <menu_item_call label="Añadir" name="wear_add"/> - <menu_item_call label="Quitarme / Quitar" name="take_off_or_detach"/> - <menu_item_call label="Quitar" name="detach"/> - <context_menu label="Anexar a" name="wearable_attach_to"/> - <context_menu label="Anexar al HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Quitarme" name="take_off"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Perfil del elemento" name="object_profile"/> - <menu_item_call label="Mostrar original" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/es/menu_wearing_gear.xml deleted file mode 100644 index 9d9ce75e539..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Editar el vestuario" name="edit"/> - <menu_item_call label="Quitarme" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/es/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/es/menu_wearing_tab.xml deleted file mode 100644 index 64fd7ce4cf7..00000000000 --- a/indra/newview/skins/minimal/xui/es/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Quitarme" name="take_off"/> - <menu_item_call label="Quitar" name="detach"/> - <menu_item_call label="Editar el vestuario" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/es/notifications.xml b/indra/newview/skins/minimal/xui/es/notifications.xml deleted file mode 100644 index 78b617c4299..00000000000 --- a/indra/newview/skins/minimal/xui/es/notifications.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <notification name="UserGiveItem"> - [NAME_SLURL] te ofrece un/a [ITEM_SLURL]. Para utilizar este Ãtem, cambia al modo Avanzado y búscalo en el inventario. Para cambiar al modo Avanzado, sal de la aplicación, reinÃciala y cambia el ajuste de modo en la pantalla de inicio de sesión. - <form name="form"> - <button name="Show" text="Conservar Ãtem"/> - <button name="Discard" text="Rechazar Ãtem"/> - <button name="Mute" text="Bloquear usuario"/> - </form> - </notification> - <notification name="ObjectGiveItem"> - Un objeto de nombre <nolink>[OBJECTFROMNAME]</nolink>, propiedad de [NAME_SLURL], te ofrece un/a <nolink>[ITEM_SLURL]</nolink>. Para utilizar este Ãtem, cambia al modo Avanzado y búscalo en el inventario. Para cambiar al modo Avanzado, sal de la aplicación, reinÃciala y cambia el ajuste de modo en la pantalla de inicio de sesión. - <form name="form"> - <button name="Keep" text="Conservar Ãtem"/> - <button name="Discard" text="Rechazar Ãtem"/> - <button name="Mute" text="Bloquear objeto"/> - </form> - </notification> -</notifications> diff --git a/indra/newview/skins/minimal/xui/es/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/es/panel_adhoc_control_panel.xml deleted file mode 100644 index 254cf58437a..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Llamar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Colgar" name="end_call_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/es/panel_bottomtray.xml deleted file mode 100644 index 0989a3d0a1d..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="Activa/Desactiva el micrófono"/> - <string name="VoiceControlBtnToolTip" value="Muestra/Oculta el panel del control de voz"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Hablar" name="speak_btn" tool_tip="Activar y desactivar tu micrófono"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Cambiar tus preferencias de sonido"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gestos" name="Gesture" tool_tip="Hacer que tu avatar realice distintas acciones"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Visión" name="camera_btn" tool_tip="Controlar el ángulo de tu cámara"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Destinos" name="destination_btn" tool_tip="Viajar por Second Life"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Mi avatar" name="avatar_btn" tool_tip="Cambiar tu aspecto"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Gente" name="show_people_button" tool_tip="Encontrar a gente en Second Life"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Perfil" name="show_profile_btn" tool_tip="Consultar y editar tu perfil"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Indicaciones" name="show_help_btn" tool_tip="Ver la información de ayuda de Second Life"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Conversaciones"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notificaciones"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml deleted file mode 100644 index e77156b0d41..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="end_call_btn_panel"> - <button label="Colgar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Abrir los controles de la voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/es/panel_im_control_panel.xml deleted file mode 100644 index 93b6526f77a..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Perfil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Añadir como amigo" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleportarte" name="teleport_btn" tool_tip="Ofrecer teleporte a esta persona"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Llamar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Colgar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="Ignorar" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="No ignorar" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="Volumen de la llamada" value="0.5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_login.xml b/indra/newview/skins/minimal/xui/es/panel_login.xml deleted file mode 100644 index 689a71e2778..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_login.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://join.secondlife.com/index.php?lang=es-ES - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=es - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Nombre de usuario: - </text> - <combo_box name="username_combo" tool_tip="El nombre de usuario que elegiste al registrarte, como bobsmith12 o Steller Sunshine"/> - <text name="password_text"> - Contraseña: - </text> - <check_box label="Recordar la contraseña" name="remember_check"/> - <button label="Iniciar sesión" name="connect_btn"/> - <text name="mode_selection_text"> - Modo: - </text> - <combo_box name="mode_combo" tool_tip="Selecciona el modo. Elige Básico para una exploración rápida y fácil y para chatear. Elige Avanzado para tener acceso a más funciones."> - <combo_box.item label="Básico" name="Basic"/> - <combo_box.item label="Avanzado" name="Advanced"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Registrarme - </text> - <text name="forgot_password_text"> - ¿Olvidaste el nombre de usuario o la contraseña? - </text> - <text name="login_help"> - ¿Necesitas ayuda para conectarte? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/es/panel_navigation_bar.xml deleted file mode 100644 index e8e95c3bac3..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Volver a lo localización anterior"/> - <pull_button name="forward_btn" tool_tip="Ir una localización adelante"/> - <button name="home_btn" tool_tip="Teleportar a mi Base"/> - <location_input label="Localización" name="location_combo"/> - <search_combo_box label="Buscar" name="search_combo_box" tool_tip="Buscar"> - <combo_editor label="Buscar en [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="¡Accede rápidamente a tus lugares favoritos de Second Life arrastrando hitos hasta aquÃ!"> - <label name="favorites_bar_label" tool_tip="¡Accede rápidamente a tus lugares favoritos de Second Life arrastrando hitos hasta aquÃ!"> - Barra de Favoritos - </label> - <chevron_button name=">>" tool_tip="Ver más de Mis favoritos"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_people.xml b/indra/newview/skins/minimal/xui/es/panel_people.xml deleted file mode 100644 index a06f3010d79..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_people.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Gente" name="people_panel"> - <string name="no_recent_people" value="No hay gente reciente. ¿Estás buscando gente con la que juntarte? Prueba con el botón Destinos que aparece a continuación."/> - <string name="no_filtered_recent_people" value="No hay gente reciente con ese nombre."/> - <string name="no_one_near" value="No hay nadie cerca. ¿Estás buscando gente con la que juntarte? Prueba con el botón Destinos que aparece a continuación."/> - <string name="no_one_filtered_near" value="No hay nadie cerca con ese nombre."/> - <string name="no_friends_online" value="No hay amigos conectados"/> - <string name="no_friends" value="No hay amigos"/> - <string name="no_friends_msg"> - Haz clic con el botón derecho del ratón en un residente para agregarlo como amigo. -¿Estás buscando gente con la que juntarte? Prueba con el botón Destinos que aparece a continuación. - </string> - <string name="no_filtered_friends_msg"> - ¿No encuentras lo que buscas? Prueba con el botón Destinos que aparece a continuación. - </string> - <string name="people_filter_label" value="Filtrar a la gente"/> - <string name="groups_filter_label" value="Filtrar a los grupos"/> - <string name="no_filtered_groups_msg" value="¿No encuentras lo que buscas? Prueba con [secondlife:///app/search/groups/[SEARCH_TERM] Buscar]."/> - <string name="no_groups_msg" value="¿Buscas grupos en que participar? Prueba la [secondlife:///app/search/groups Búsqueda]."/> - <string name="MiniMapToolTipMsg" value="[REGIÓN](Haz doble clic para abrir el mapa y pulsa la tecla Mayús y arrastra para obtener una vista panorámica)"/> - <string name="AltMiniMapToolTipMsg" value="[REGIÓN](Haz doble clic para teleportarte y pulsa la tecla Mayús y arrastra para obtener una vista panorámica)"/> - <filter_editor label="Filtrar" name="filter_input"/> - <tab_container name="tabs"> - <panel label="CERCANA" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"/> - </panel> - <panel label="MIS AMIGOS" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="Conectado"/> - <accordion_tab name="tab_all" title="Todos"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Quitar a la persona seleccionada de tu lista de amigos"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="RECIENTE" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <button name="add_friend_btn" tool_tip="Añadir al Residente seleccionado a la lista de tus amigos"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Perfil" name="view_profile_btn" tool_tip="Mostrar imágenes, grupos y otra información del Residente"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="MI" name="im_btn" tool_tip="Abrir una sesión de mensajes instantáneos"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Llamar" name="call_btn" tool_tip="Llamar a este Residente"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportarte" name="teleport_btn" tool_tip="Ofrecer teleporte"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Perfil del grupo" name="group_info_btn" tool_tip="Ver la información del grupo"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Chat de grupo" name="chat_btn" tool_tip="Abrir el chat"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Llamar al grupo" name="group_call_btn" tool_tip="Llama a este grupo"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/es/panel_side_tray_tab_caption.xml deleted file mode 100644 index 775e343dc99..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Panel lateral"/> - <button name="undock" tool_tip="Soltar"/> - <button name="dock" tool_tip="Fijar"/> - <button name="show_help" tool_tip="Ver ayuda"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_status_bar.xml b/indra/newview/skins/minimal/xui/es/panel_status_bar.xml deleted file mode 100644 index ab76d3f994a..00000000000 --- a/indra/newview/skins/minimal/xui/es/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Domingo:Lunes:Martes:Miércoles:Jueves:Viernes:Sábado - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - Enero:Febrero:Marzo:Abril:Mayo:Junio:Julio:Agosto:Septiembre:Octubre:Noviembre:Diciembre - </panel.string> - <panel.string name="packet_loss_tooltip"> - Pérdida de paquetes - </panel.string> - <panel.string name="bandwidth_tooltip"> - Ancho de banda - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - [AMT] L$ - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Haz clic para actualizar tu saldo en L$" value="20 L$"/> - <button label="COMPRAR L$" name="buyL" tool_tip="Pulsa para comprar más L$"/> - </panel> - <text name="TimeText" tool_tip="Hora actual (PacÃfico)"> - 24:00 AM PST - </text> - <button name="media_toggle_btn" tool_tip="Iniciar/Parar todos los media (música, vÃdeo, páginas web)"/> - <button name="volume_btn" tool_tip="Control general del volumen"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/floater_camera.xml b/indra/newview/skins/minimal/xui/fr/floater_camera.xml deleted file mode 100644 index 1d62a89ff2d..00000000000 --- a/indra/newview/skins/minimal/xui/fr/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater"> - <floater.string name="rotate_tooltip"> - Faire tourner la caméra autour du point central - </floater.string> - <floater.string name="zoom_tooltip"> - Zoomer en direction du point central - </floater.string> - <floater.string name="move_tooltip"> - Déplacer la caméra vers le haut et le bas, la gauche et la droite - </floater.string> - <floater.string name="camera_modes_title"> - Modes - </floater.string> - <floater.string name="pan_mode_title"> - Rotation - Zoom - Panoramique - </floater.string> - <floater.string name="presets_mode_title"> - Préréglages - </floater.string> - <floater.string name="free_mode_title"> - Voir l'objet - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Vue frontale - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Vue latérale - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Vue arrière - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Vue de l'objet - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Vue subjective - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Zoomer en direction du point central"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Faire tourner la caméra autour du point central"/> - <slider_bar name="zoom_slider" tool_tip="Zoomer en direction du point central"/> - <joystick_track name="cam_track_stick" tool_tip="Déplacer la caméra vers le haut et le bas, la gauche et la droite"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Préréglages"/> - <button label="" name="pan_btn" tool_tip="Rotation - Zoom - Panoramique"/> - <button label="" name="avatarview_btn" tool_tip="Modes"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/floater_help_browser.xml b/indra/newview/skins/minimal/xui/fr/floater_help_browser.xml deleted file mode 100644 index 09d763b809d..00000000000 --- a/indra/newview/skins/minimal/xui/fr/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="AIDE RAPIDE"> - <floater.string name="loading_text"> - Chargement… - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/floater_media_browser.xml b/indra/newview/skins/minimal/xui/fr/floater_media_browser.xml deleted file mode 100644 index ba171c6363f..00000000000 --- a/indra/newview/skins/minimal/xui/fr/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="NAVIGATEUR DE MÉDIAS"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Préc." name="back"/> - <button label="Suiv." name="forward"/> - <button label="Recharger" name="reload"/> - <button label="OK" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="retour" name="rewind"/> - <button label="stop" name="stop"/> - <button label="avance" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Envoyer la page actuelle à la parcelle" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Ouvrir dans mon navigateur Web" name="open_browser"/> - <check_box label="Toujours ouvrir dans mon navigateur Web" name="open_always"/> - <button label="Fermer" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/fr/floater_nearby_chat.xml deleted file mode 100644 index 9b1b21c434b..00000000000 --- a/indra/newview/skins/minimal/xui/fr/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT PRÈS DE MOI"> - <check_box label="Traduction du chat (fournie par Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/floater_web_content.xml b/indra/newview/skins/minimal/xui/fr/floater_web_content.xml deleted file mode 100644 index 71f44b6ec36..00000000000 --- a/indra/newview/skins/minimal/xui/fr/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Précédente"/> - <button name="forward" tool_tip="Suivante"/> - <button name="stop" tool_tip="Arrêter"/> - <button name="reload" tool_tip="Recharger la page"/> - <combo_box name="address" tool_tip="Saisir une URL ici"/> - <icon name="media_secure_lock_flag" tool_tip="Navigation sécurisée"/> - <button name="popexternal" tool_tip="Ouvrir l'URL actuelle dans votre navigateur de bureau"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/inspect_avatar.xml b/indra/newview/skins/minimal/xui/fr/inspect_avatar.xml deleted file mode 100644 index 553646f8e97..00000000000 --- a/indra/newview/skins/minimal/xui/fr/inspect_avatar.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_subtitle" value="11 mois, 3 jours"/> - <text name="user_details"> - This is my second life description and I really think it is great. But for some reason my description is super extra long because I like to talk a whole lot - </text> - <slider name="volume_slider" tool_tip="Volume de la voix" value="0.5"/> - <button label="Devenir amis" name="add_friend_btn"/> - <button label="IM" name="im_btn"/> - <button label="Profil" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="Désactiver le chat vocal" name="disable_voice"/> - <button label="Activer le chat vocal" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/inspect_object.xml b/indra/newview/skins/minimal/xui/fr/inspect_object.xml deleted file mode 100644 index b66af7a2bf2..00000000000 --- a/indra/newview/skins/minimal/xui/fr/inspect_object.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Par [CREATOR] - </string> - <string name="CreatorAndOwner"> - De [CREATOR] -Propriétaire [OWNER] - </string> - <string name="Price"> - [AMOUNT] L$ - </string> - <string name="PriceFree"> - Gratuit ! - </string> - <string name="Touch"> - Toucher - </string> - <string name="Sit"> - M'asseoir - </string> - <text name="object_name" value="Test Object Name That Is actually two lines and Really Long"/> - <text name="object_creator"> - par secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about -owner secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about - </text> - <text name="price_text"> - 30 000 L$ - </text> - <text name="object_description"> - This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really? - </text> - <text name="object_media_url"> - http://www.superdupertest.com - </text> - <button label="Acheter" name="buy_btn"/> - <button label="Payer" name="pay_btn"/> - <button label="Prendre une copie" name="take_free_copy_btn"/> - <button label="Toucher" name="touch_btn"/> - <button label="M'asseoir" name="sit_btn"/> - <button label="Ouvert" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Navigation sécurisée"/> - <button label="Plus" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/fr/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_add_wearable_gear.xml deleted file mode 100644 index 7e7993175e7..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Trier en commençant par le plus récent" name="sort_by_most_recent"/> - <menu_item_check label="Trier par nom" name="sort_by_name"/> - <menu_item_check label="Trier par type" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/fr/menu_attachment_other.xml deleted file mode 100644 index f48513eb2b4..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Voir le profil" name="Profile..."/> - <menu_item_call label="Devenir amis" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Inviter dans le groupe" name="Invite..."/> - <menu_item_call label="Ignorer" name="Avatar Mute"/> - <menu_item_call label="Signaler" name="abuse"/> - <menu_item_call label="Figer" name="Freeze..."/> - <menu_item_call label="Expulser" name="Eject..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> - <menu_item_call label="Zoomer en avant" name="Zoom In"/> - <menu_item_call label="Payer" name="Pay..."/> - <menu_item_call label="Profil de l'objet" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/fr/menu_attachment_self.xml deleted file mode 100644 index 78198fb5a8f..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Toucher" name="Attachment Object Touch"/> - <menu_item_call label="Modifier" name="Edit..."/> - <menu_item_call label="Détacher" name="Detach"/> - <menu_item_call label="M'asseoir" name="Sit Down Here"/> - <menu_item_call label="Me lever" name="Stand Up"/> - <menu_item_call label="Changer de tenue" name="Change Outfit"/> - <menu_item_call label="Modifier ma tenue" name="Edit Outfit"/> - <menu_item_call label="Modifier ma silhouette" name="Edit My Shape"/> - <menu_item_call label="Mes amis" name="Friends..."/> - <menu_item_call label="Mes groupes" name="Groups..."/> - <menu_item_call label="Mon profil" name="Profile..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> - <menu_item_call label="Lâcher" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/fr/menu_avatar_icon.xml deleted file mode 100644 index 3bac25c79b8..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Voir le profil" name="Show Profile"/> - <menu_item_call label="Envoyer IM..." name="Send IM"/> - <menu_item_call label="Devenir amis..." name="Add Friend"/> - <menu_item_call label="Supprimer cet ami..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/fr/menu_avatar_other.xml deleted file mode 100644 index 08d1a203615..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Voir le profil" name="Profile..."/> - <menu_item_call label="Devenir amis" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Inviter dans le groupe" name="Invite..."/> - <menu_item_call label="Ignorer" name="Avatar Mute"/> - <menu_item_call label="Signaler" name="abuse"/> - <menu_item_call label="Figer" name="Freeze..."/> - <menu_item_call label="Expulser" name="Eject..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> - <menu_item_call label="Zoomer en avant" name="Zoom In"/> - <menu_item_call label="Payer" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/fr/menu_avatar_self.xml deleted file mode 100644 index c7ee2e9f883..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="M'asseoir" name="Sit Down Here"/> - <menu_item_call label="Me lever" name="Stand Up"/> - <context_menu label="Enlever" name="Take Off >"> - <context_menu label="Habits" name="Clothes >"> - <menu_item_call label="Chemise" name="Shirt"/> - <menu_item_call label="Pantalon" name="Pants"/> - <menu_item_call label="Jupe" name="Skirt"/> - <menu_item_call label="Chaussures" name="Shoes"/> - <menu_item_call label="Chaussettes" name="Socks"/> - <menu_item_call label="Veste" name="Jacket"/> - <menu_item_call label="Gants" name="Gloves"/> - <menu_item_call label="Débardeur" name="Self Undershirt"/> - <menu_item_call label="Caleçon" name="Self Underpants"/> - <menu_item_call label="Tatouage" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Tous les habits" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Détacher" name="Object Detach"/> - <menu_item_call label="Tout détacher" name="Detach All"/> - </context_menu> - <menu_item_call label="Changer de tenue" name="Chenge Outfit"/> - <menu_item_call label="Modifier ma tenue" name="Edit Outfit"/> - <menu_item_call label="Modifier ma silhouette" name="Edit My Shape"/> - <menu_item_call label="Mes amis" name="Friends..."/> - <menu_item_call label="Mes groupes" name="Groups..."/> - <menu_item_call label="Mon profil" name="Profile..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/fr/menu_bottomtray.xml deleted file mode 100644 index bfdc89c5bbc..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Bouton Geste" name="ShowGestureButton"/> - <menu_item_check label="Bouton Bouger" name="ShowMoveButton"/> - <menu_item_check label="Bouton Affichage" name="ShowCameraButton"/> - <menu_item_check label="Bouton Photo" name="ShowSnapshotButton"/> - <menu_item_check label="Bouton Panneau latéral" name="ShowSidebarButton"/> - <menu_item_check label="Bouton Construire" name="ShowBuildButton"/> - <menu_item_check label="Bouton Rechercher" name="ShowSearchButton"/> - <menu_item_check label="Bouton Carte" name="ShowWorldMapButton"/> - <menu_item_check label="Bouton Mini-carte" name="ShowMiniMapButton"/> - <menu_item_call label="Couper" name="NearbyChatBar_Cut"/> - <menu_item_call label="Copier" name="NearbyChatBar_Copy"/> - <menu_item_call label="Coller" name="NearbyChatBar_Paste"/> - <menu_item_call label="Supprimer" name="NearbyChatBar_Delete"/> - <menu_item_call label="Tout sélectionner" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/fr/menu_cof_attachment.xml deleted file mode 100644 index a4ead48b6b3..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Détacher" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/fr/menu_cof_body_part.xml deleted file mode 100644 index 4b6907fcc61..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Remplacer" name="replace"/> - <menu_item_call label="Modifier" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/fr/menu_cof_clothing.xml deleted file mode 100644 index 03cc569704b..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Enlever" name="take_off"/> - <menu_item_call label="Modifier" name="edit"/> - <menu_item_call label="Remplacer" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_cof_gear.xml deleted file mode 100644 index 8276d570259..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Nouveaux habits" name="COF.Gear.New_Clothes"/> - <menu label="Nouvelles parties du corps" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_edit.xml b/indra/newview/skins/minimal/xui/fr/menu_edit.xml deleted file mode 100644 index 56669f31e18..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Modifier" name="Edit"> - <menu_item_call label="Annuler" name="Undo"/> - <menu_item_call label="Refaire" name="Redo"/> - <menu_item_call label="Couper" name="Cut"/> - <menu_item_call label="Copier" name="Copy"/> - <menu_item_call label="Coller" name="Paste"/> - <menu_item_call label="Supprimer" name="Delete"/> - <menu_item_call label="Dupliquer" name="Duplicate"/> - <menu_item_call label="Tout sélectionner" name="Select All"/> - <menu_item_call label="Désélectionner" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_favorites.xml b/indra/newview/skins/minimal/xui/fr/menu_favorites.xml deleted file mode 100644 index 5f1545fde7f..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Téléporter" name="Teleport To Landmark"/> - <menu_item_call label="Voir/Modifier le repère" name="Landmark Open"/> - <menu_item_call label="Copier la SLurl" name="Copy slurl"/> - <menu_item_call label="Voir sur la carte" name="Show On Map"/> - <menu_item_call label="Copier" name="Landmark Copy"/> - <menu_item_call label="Coller" name="Landmark Paste"/> - <menu_item_call label="Supprimer" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_gesture_gear.xml deleted file mode 100644 index 062dd0f0053..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Ajouter/Supprimer des favoris" name="activate"/> - <menu_item_call label="Copier" name="copy_gesture"/> - <menu_item_call label="Coller" name="paste"/> - <menu_item_call label="Copier l'UUID" name="copy_uuid"/> - <menu_item_call label="Enregistrer dans la tenue actuelle" name="save_to_outfit"/> - <menu_item_call label="Modifier" name="edit_gesture"/> - <menu_item_call label="Inspecter" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_group_plus.xml b/indra/newview/skins/minimal/xui/fr/menu_group_plus.xml deleted file mode 100644 index 0db5afedc79..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Rejoindre des groupes..." name="item_join"/> - <menu_item_call label="Nouveau groupe..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/fr/menu_hide_navbar.xml deleted file mode 100644 index 20af901ddc6..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Afficher la barre de navigation" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Afficher la barre des favoris" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Afficher la mini-barre d'emplacement" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/fr/menu_im_well_button.xml deleted file mode 100644 index 8ef1529e6b4..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Tout fermer" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/fr/menu_imchiclet_adhoc.xml deleted file mode 100644 index 4d9a1030581..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Mettre fin à la session" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/fr/menu_imchiclet_group.xml deleted file mode 100644 index 59f97d8b484..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Profil du groupe" name="Show Profile"/> - <menu_item_call label="Afficher la session" name="Chat"/> - <menu_item_call label="Mettre fin à la session" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/fr/menu_imchiclet_p2p.xml deleted file mode 100644 index ecc8cee4139..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Voir le profil" name="Show Profile"/> - <menu_item_call label="Devenir amis" name="Add Friend"/> - <menu_item_call label="Afficher la session" name="Send IM"/> - <menu_item_call label="Mettre fin à la session" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_inspect_avatar_gear.xml deleted file mode 100644 index c3240fa541d..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Voir le profil" name="view_profile"/> - <menu_item_call label="Devenir amis" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="Appeler" name="call"/> - <menu_item_call label="Téléporter" name="teleport"/> - <menu_item_call label="Ignorer" name="block"/> - <menu_item_call label="Ne plus ignorer" name="unblock"/> - <menu_item_call label="Signaler" name="report"/> - <menu_item_call label="Figer" name="freeze"/> - <menu_item_call label="Expulser" name="eject"/> - <menu_item_call label="Éjecter" name="kick"/> - <menu_item_call label="Représentant de l'Assistance client" name="csr"/> - <menu_item_call label="Déboguer les textures" name="debug"/> - <menu_item_call label="Situer sur la carte" name="find_on_map"/> - <menu_item_call label="Zoomer en avant" name="zoom_in"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_inspect_object_gear.xml deleted file mode 100644 index 074bb54cdc5..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Toucher" name="touch"/> - <menu_item_call label="M'asseoir" name="sit"/> - <menu_item_call label="Payer" name="pay"/> - <menu_item_call label="Acheter" name="buy"/> - <menu_item_call label="Prendre" name="take"/> - <menu_item_call label="Prendre une copie" name="take_copy"/> - <menu_item_call label="Ouvrir" name="open"/> - <menu_item_call label="Modifier" name="edit"/> - <menu_item_call label="Porter" name="wear"/> - <menu_item_call label="Ajouter" name="add"/> - <menu_item_call label="Signaler" name="report"/> - <menu_item_call label="Ignorer" name="block"/> - <menu_item_call label="Zoomer en avant" name="zoom_in"/> - <menu_item_call label="Supprimer" name="remove"/> - <menu_item_call label="En savoir plus" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_inspect_self_gear.xml deleted file mode 100644 index fd48aa4f7d7..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inspect_self_gear.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="M'asseoir" name="Sit Down Here"/> - <menu_item_call label="Me lever" name="Stand Up"/> - <menu_item_call label="Mes amis" name="Friends..."/> - <menu_item_call label="Mon profil" name="Profile..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/fr/menu_inv_offer_chiclet.xml deleted file mode 100644 index a9b2883cca8..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Fermer" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inventory.xml b/indra/newview/skins/minimal/xui/fr/menu_inventory.xml deleted file mode 100644 index a2279cf0ac4..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inventory.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Partager" name="Share"/> - <menu_item_call label="Acheter" name="Task Buy"/> - <menu_item_call label="Ouvrir" name="Task Open"/> - <menu_item_call label="Jouer" name="Task Play"/> - <menu_item_call label="Propriétés" name="Task Properties"/> - <menu_item_call label="Renommer" name="Task Rename"/> - <menu_item_call label="Supprimer" name="Task Remove"/> - <menu_item_call label="Vider la corbeille" name="Empty Trash"/> - <menu_item_call label="Vider les objets trouvés" name="Empty Lost And Found"/> - <menu_item_call label="Nouveau dossier" name="New Folder"/> - <menu_item_call label="Nouveau script" name="New Script"/> - <menu_item_call label="Nouvelle note" name="New Note"/> - <menu_item_call label="Nouveau geste" name="New Gesture"/> - <menu label="Nouveaux habits" name="New Clothes"> - <menu_item_call label="Nouvelle chemise" name="New Shirt"/> - <menu_item_call label="Nouveau pantalon" name="New Pants"/> - <menu_item_call label="Nouvelles chaussures" name="New Shoes"/> - <menu_item_call label="Nouvelles chaussettes" name="New Socks"/> - <menu_item_call label="Nouvelle veste" name="New Jacket"/> - <menu_item_call label="Nouvelle jupe" name="New Skirt"/> - <menu_item_call label="Nouveaux gants" name="New Gloves"/> - <menu_item_call label="Nouveau débardeur" name="New Undershirt"/> - <menu_item_call label="Nouveau caleçon" name="New Underpants"/> - <menu_item_call label="Nouveau masque alpha" name="New Alpha Mask"/> - <menu_item_call label="Nouveau tatouage" name="New Tattoo"/> - </menu> - <menu label="Nouvelles parties du corps" name="New Body Parts"> - <menu_item_call label="Nouvelle silhouette" name="New Shape"/> - <menu_item_call label="Nouvelle peau" name="New Skin"/> - <menu_item_call label="Nouveaux cheveux" name="New Hair"/> - <menu_item_call label="Nouveaux yeux" name="New Eyes"/> - </menu> - <menu label="Changer de type" name="Change Type"> - <menu_item_call label="Défaut" name="Default"/> - <menu_item_call label="Gants" name="Gloves"/> - <menu_item_call label="Veste" name="Jacket"/> - <menu_item_call label="Pantalon" name="Pants"/> - <menu_item_call label="Silhouette" name="Shape"/> - <menu_item_call label="Chaussures" name="Shoes"/> - <menu_item_call label="Chemise" name="Shirt"/> - <menu_item_call label="Jupe" name="Skirt"/> - <menu_item_call label="Caleçon" name="Underpants"/> - <menu_item_call label="Débardeur" name="Undershirt"/> - </menu> - <menu_item_call label="Téléporter" name="Landmark Open"/> - <menu_item_call label="Ouvrir" name="Animation Open"/> - <menu_item_call label="Ouvrir" name="Sound Open"/> - <menu_item_call label="Remplacer la tenue actuelle" name="Replace Outfit"/> - <menu_item_call label="Ajouter à la tenue actuelle" name="Add To Outfit"/> - <menu_item_call label="Enlever de la tenue actuelle" name="Remove From Outfit"/> - <menu_item_call label="Trouver l'original" name="Find Original"/> - <menu_item_call label="Purger l'objet" name="Purge Item"/> - <menu_item_call label="Restaurer l'objet" name="Restore Item"/> - <menu_item_call label="Ouvrir" name="Open"/> - <menu_item_call label="Ouvrir l'original" name="Open Original"/> - <menu_item_call label="Propriétés" name="Properties"/> - <menu_item_call label="Renommer" name="Rename"/> - <menu_item_call label="Copier l'UUID (identifiant universel unique)" name="Copy Asset UUID"/> - <menu_item_call label="Copier" name="Copy"/> - <menu_item_call label="Coller" name="Paste"/> - <menu_item_call label="Coller comme lien" name="Paste As Link"/> - <menu_item_call label="Supprimer" name="Remove Link"/> - <menu_item_call label="Supprimer" name="Delete"/> - <menu_item_call label="Supprimer le dossier système" name="Delete System Folder"/> - <menu_item_call label="Démarrer le chat conférence" name="Conference Chat Folder"/> - <menu_item_call label="Jouer" name="Sound Play"/> - <menu_item_call label="À propos du repère" name="About Landmark"/> - <menu_item_call label="Jouer dans Second Life" name="Animation Play"/> - <menu_item_call label="Jouer localement" name="Animation Audition"/> - <menu_item_call label="Envoyer un message instantané" name="Send Instant Message"/> - <menu_item_call label="Offrir de téléporter..." name="Offer Teleport..."/> - <menu_item_call label="Démarrer le chat conférence" name="Conference Chat"/> - <menu_item_call label="Activer" name="Activate"/> - <menu_item_call label="Désactiver" name="Deactivate"/> - <menu_item_call label="Enregistrer sous" name="Save As"/> - <menu_item_call label="Détacher de vous" name="Detach From Yourself"/> - <menu_item_call label="Porter" name="Wearable And Object Wear"/> - <menu label="Attacher à " name="Attach To"/> - <menu label="Attacher au HUD " name="Attach To HUD"/> - <menu_item_call label="Modifier" name="Wearable Edit"/> - <menu_item_call label="Ajouter" name="Wearable Add"/> - <menu_item_call label="Enlever" name="Take Off"/> - <menu_item_call label="--aucune option--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/fr/menu_inventory_add.xml deleted file mode 100644 index fe096b4a7e1..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Importer" name="upload"> - <menu_item_call label="Image ([COST] L$)..." name="Upload Image"/> - <menu_item_call label="Son ([COST] L$)..." name="Upload Sound"/> - <menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/> - <menu_item_call label="Lot ([COST] L$ par fichier)..." name="Bulk Upload"/> - <menu_item_call label="Définir les droits de chargement par défaut" name="perm prefs"/> - </menu> - <menu_item_call label="Nouveau dossier" name="New Folder"/> - <menu_item_call label="Nouveau script" name="New Script"/> - <menu_item_call label="Nouvelle note" name="New Note"/> - <menu_item_call label="Nouveau geste" name="New Gesture"/> - <menu label="Nouveaux habits" name="New Clothes"> - <menu_item_call label="Nouvelle chemise" name="New Shirt"/> - <menu_item_call label="Nouveau pantalon" name="New Pants"/> - <menu_item_call label="Nouvelles chaussures" name="New Shoes"/> - <menu_item_call label="Nouvelles chaussettes" name="New Socks"/> - <menu_item_call label="Nouvelle veste" name="New Jacket"/> - <menu_item_call label="Nouvelle jupe" name="New Skirt"/> - <menu_item_call label="Nouveaux gants" name="New Gloves"/> - <menu_item_call label="Nouveau débardeur" name="New Undershirt"/> - <menu_item_call label="Nouveau caleçon" name="New Underpants"/> - <menu_item_call label="Nouvel alpha" name="New Alpha"/> - <menu_item_call label="Nouveau tatouage" name="New Tattoo"/> - </menu> - <menu label="Nouvelles parties du corps" name="New Body Parts"> - <menu_item_call label="Nouvelle silhouette" name="New Shape"/> - <menu_item_call label="Nouvelle peau" name="New Skin"/> - <menu_item_call label="Nouveaux cheveux" name="New Hair"/> - <menu_item_call label="Nouveaux yeux" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/fr/menu_inventory_gear_default.xml deleted file mode 100644 index f28918ae142..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_inventory_gear_default.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nouvelle fenêtre d'inventaire" name="new_window"/> - <menu_item_check label="Trier par nom" name="sort_by_name"/> - <menu_item_check label="Trier en commençant par le plus récent" name="sort_by_recent"/> - <menu_item_check label="Dossiers système en premier" name="sort_system_folders_to_top"/> - <menu_item_call label="Afficher les filtres" name="show_filters"/> - <menu_item_call label="Réinitialiser les filtres" name="reset_filters"/> - <menu_item_call label="Fermer tous les dossiers" name="close_folders"/> - <menu_item_call label="Vider les objets trouvés" name="empty_lostnfound"/> - <menu_item_call label="Enregistrer la texture sous" name="Save Texture As"/> - <menu_item_call label="Partager" name="Share"/> - <menu_item_call label="Trouver l'original" name="Find Original"/> - <menu_item_call label="Trouver tous les liens" name="Find All Links"/> - <menu_item_call label="Vider la corbeille" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_land.xml b/indra/newview/skins/minimal/xui/fr/menu_land.xml deleted file mode 100644 index b84daee3ae9..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="À propos du terrain" name="Place Information..."/> - <menu_item_call label="M'asseoir ici" name="Sit Here"/> - <menu_item_call label="Acheter ce terrain" name="Land Buy"/> - <menu_item_call label="Acheter un pass" name="Land Buy Pass"/> - <menu_item_call label="Construire" name="Create"/> - <menu_item_call label="Modifier le terrain" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_landmark.xml b/indra/newview/skins/minimal/xui/fr/menu_landmark.xml deleted file mode 100644 index 73eaa4af7e3..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Copier la SLurl" name="copy"/> - <menu_item_call label="Supprimer" name="delete"/> - <menu_item_call label="Créer un favori" name="pick"/> - <menu_item_call label="Ajouter à la barre des favoris" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_login.xml b/indra/newview/skins/minimal/xui/fr/menu_login.xml deleted file mode 100644 index 400c77e51a5..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_login.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Moi" name="File"> - <menu_item_call label="Préférences" name="Preferences..."/> - <menu_item_call label="Quitter [APP_NAME]" name="Quit"/> - </menu> - <menu label="Aide" name="Help"> - <menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="À propos de [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Afficher le menu de débogage" name="Show Debug Menu"/> - <menu label="Débogage" name="Debug"> - <menu_item_call label="Afficher les paramètres de débogage" name="Debug Settings"/> - <menu_item_call label="Paramètres de couleurs/interface" name="UI/Color Settings"/> - <menu_item_call label="Outil d'aperçu XUI" name="UI Preview Tool"/> - <menu label="Tests de l'interface" name="UI Tests"/> - <menu_item_call label="Définir la taille de la fenêtre..." name="Set Window Size..."/> - <menu_item_call label="Afficher les conditions d'utilisation" name="TOS"/> - <menu_item_call label="Afficher le message critique" name="Critical"/> - <menu_item_call label="Test du navigateur de médias" name="Web Browser Test"/> - <menu_item_call label="Test de la fenêtre flottante du contenu Web" name="Web Content Floater Test"/> - <menu_item_check label="Afficher le sélecteur de grille" name="Show Grid Picker"/> - <menu_item_call label="Afficher la console des notifications" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/fr/menu_mini_map.xml b/indra/newview/skins/minimal/xui/fr/menu_mini_map.xml deleted file mode 100644 index b9d0a70383e..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom rapproché" name="Zoom Close"/> - <menu_item_call label="Zoom moyen" name="Zoom Medium"/> - <menu_item_call label="Zoom éloigné" name="Zoom Far"/> - <menu_item_call label="Zoom par défaut" name="Zoom Default"/> - <menu_item_check label="Faire pivoter la carte" name="Rotate Map"/> - <menu_item_check label="Centrage auto" name="Auto Center"/> - <menu_item_call label="Arrêter de suivre" name="Stop Tracking"/> - <menu_item_call label="Carte du monde" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_navbar.xml b/indra/newview/skins/minimal/xui/fr/menu_navbar.xml deleted file mode 100644 index 08d810b653c..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Voir les coordonnées" name="Show Coordinates"/> - <menu_item_check label="Afficher les propriétés de la parcelle" name="Show Parcel Properties"/> - <menu_item_call label="Repère" name="Landmark"/> - <menu_item_call label="Couper" name="Cut"/> - <menu_item_call label="Copier" name="Copy"/> - <menu_item_call label="Coller" name="Paste"/> - <menu_item_call label="Supprimer" name="Delete"/> - <menu_item_call label="Tout sélectionner" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/fr/menu_nearby_chat.xml deleted file mode 100644 index 99e22aeff74..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Afficher les personnes près de vous..." name="nearby_people"/> - <menu_item_check label="Afficher le texte ignoré" name="muted_text"/> - <menu_item_check label="Afficher les icônes des Buddy" name="show_buddy_icons"/> - <menu_item_check label="Afficher les noms" name="show_names"/> - <menu_item_check label="Afficher les icônes et les noms" name="show_icons_and_names"/> - <menu_item_call label="Taille de la police" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/fr/menu_notification_well_button.xml deleted file mode 100644 index 323bfdbf165..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Tout fermer" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_object.xml b/indra/newview/skins/minimal/xui/fr/menu_object.xml deleted file mode 100644 index a50a9df4b10..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Toucher" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Toucher"/> - </menu_item_call> - <menu_item_call label="Modifier" name="Edit..."/> - <menu_item_call label="Construire" name="Build"/> - <menu_item_call label="Ouvrir" name="Open"/> - <menu_item_call label="M'asseoir ici" name="Object Sit"/> - <menu_item_call label="Me lever" name="Object Stand Up"/> - <menu_item_call label="Profil de l'objet" name="Object Inspect"/> - <menu_item_call label="Zoomer en avant" name="Zoom In"/> - <context_menu label="Porter" name="Put On"> - <menu_item_call label="Porter" name="Wear"/> - <menu_item_call label="Ajouter" name="Add"/> - <context_menu label="Attacher" name="Object Attach"/> - <context_menu label="Attacher HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Supprimer" name="Remove"> - <menu_item_call label="Signaler une infraction" name="Report Abuse..."/> - <menu_item_call label="Ignorer" name="Object Mute"/> - <menu_item_call label="Retour" name="Return..."/> - <menu_item_call label="Supprimer" name="Delete"/> - </context_menu> - <menu_item_call label="Prendre" name="Pie Object Take"/> - <menu_item_call label="Prendre une copie" name="Take Copy"/> - <menu_item_call label="Payer" name="Pay..."/> - <menu_item_call label="Acheter" name="Buy..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_object_icon.xml b/indra/newview/skins/minimal/xui/fr/menu_object_icon.xml deleted file mode 100644 index 69f8e88a0de..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Profil de l'objet..." name="Object Profile"/> - <menu_item_call label="Ignorer..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_outfit_gear.xml deleted file mode 100644 index 5db7f176b54..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Porter - Remplacer la tenue actuelle" name="wear"/> - <menu_item_call label="Porter - Ajouter à la tenue actuelle" name="wear_add"/> - <menu_item_call label="Enlever - Supprimer de la tenue actuelle" name="take_off"/> - <menu label="Nouveaux habits" name="New Clothes"> - <menu_item_call label="Nouvelle chemise" name="New Shirt"/> - <menu_item_call label="Nouveau pantalon" name="New Pants"/> - <menu_item_call label="Nouvelles chaussures" name="New Shoes"/> - <menu_item_call label="Nouvelles chaussettes" name="New Socks"/> - <menu_item_call label="Nouvelle veste" name="New Jacket"/> - <menu_item_call label="Nouvelle jupe" name="New Skirt"/> - <menu_item_call label="Nouveaux gants" name="New Gloves"/> - <menu_item_call label="Nouveau débardeur" name="New Undershirt"/> - <menu_item_call label="Nouveau caleçon" name="New Underpants"/> - <menu_item_call label="Nouvel alpha" name="New Alpha"/> - <menu_item_call label="Nouveau tatouage" name="New Tattoo"/> - </menu> - <menu label="Nouvelles parties du corps" name="New Body Parts"> - <menu_item_call label="Nouvelle silhouette" name="New Shape"/> - <menu_item_call label="Nouvelle peau" name="New Skin"/> - <menu_item_call label="Nouveaux cheveux" name="New Hair"/> - <menu_item_call label="Nouveaux yeux" name="New Eyes"/> - </menu> - <menu_item_call label="Renommer la tenue" name="rename"/> - <menu_item_call label="Supprimer la tenue" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/fr/menu_outfit_tab.xml deleted file mode 100644 index 2a7f618e077..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Porter - Remplacer la tenue actuelle" name="wear_replace"/> - <menu_item_call label="Porter - Ajouter à la tenue actuelle" name="wear_add"/> - <menu_item_call label="Enlever - Supprimer de la tenue actuelle" name="take_off"/> - <menu_item_call label="Modifier la tenue" name="edit"/> - <menu_item_call label="Renommer la tenue" name="rename"/> - <menu_item_call label="Supprimer la tenue" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_participant_list.xml b/indra/newview/skins/minimal/xui/fr/menu_participant_list.xml deleted file mode 100644 index f91a30f6bb1..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Trier par nom" name="SortByName"/> - <menu_item_check label="Trier par intervenants récents" name="SortByRecentSpeakers"/> - <menu_item_call label="Voir le profil" name="View Profile"/> - <menu_item_call label="Devenir amis" name="Add Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Partager" name="Share"/> - <menu_item_call label="Payer" name="Pay"/> - <menu_item_check label="Afficher les icônes des résidents" name="View Icons"/> - <menu_item_check label="Bloquer le chat vocal" name="Block/Unblock"/> - <menu_item_check label="Ignorer le texte" name="MuteText"/> - <context_menu label="Options du modérateur" name="Moderator Options"> - <menu_item_check label="Autoriser les chats écrits" name="AllowTextChat"/> - <menu_item_call label="Ignorer ce participant" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Ne plus ignorer ce participant" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Ignorer les autres" name="ModerateVoiceMute"/> - <menu_item_call label="Ne plus ignorer les autres" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/fr/menu_people_friends_view_sort.xml deleted file mode 100644 index a6170a6c162..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Trier par nom" name="sort_name"/> - <menu_item_check label="Trier par statut" name="sort_status"/> - <menu_item_check label="Afficher les icônes des résidents" name="view_icons"/> - <menu_item_check label="Afficher les droits octroyés" name="view_permissions"/> - <menu_item_call label="Afficher les résidents et les objets ignorés" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_groups.xml b/indra/newview/skins/minimal/xui/fr/menu_people_groups.xml deleted file mode 100644 index eb51b4cf7e8..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Afficher les infos" name="View Info"/> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Activer" name="Activate"/> - <menu_item_call label="Quitter" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/fr/menu_people_groups_view_sort.xml deleted file mode 100644 index 34f949cf2ce..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Afficher les icônes des groupes" name="Display Group Icons"/> - <menu_item_call label="Quitter le groupe sélectionné" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/fr/menu_people_nearby.xml deleted file mode 100644 index f153ed15ae7..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Voir le profil" name="View Profile"/> - <menu_item_call label="Devenir amis" name="Add Friend"/> - <menu_item_call label="Supprimer cet ami" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Carte" name="Map"/> - <menu_item_call label="Partager" name="Share"/> - <menu_item_call label="Payer" name="Pay"/> - <menu_item_check label="Ignorer/Ne plus ignorer" name="Block/Unblock"/> - <menu_item_call label="Téléporter" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/fr/menu_people_nearby_multiselect.xml deleted file mode 100644 index 8400ec0a14d..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Devenir amis" name="Add Friends"/> - <menu_item_call label="Supprimer des amis" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Appeler" name="Call"/> - <menu_item_call label="Partager" name="Share"/> - <menu_item_call label="Payer" name="Pay"/> - <menu_item_call label="Proposer une téléportation" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/fr/menu_people_nearby_view_sort.xml deleted file mode 100644 index 45f97e062e4..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Trier par intervenants récents" name="sort_by_recent_speakers"/> - <menu_item_check label="Trier par nom" name="sort_name"/> - <menu_item_check label="Trier par distance" name="sort_distance"/> - <menu_item_check label="Afficher les icônes des résidents" name="view_icons"/> - <menu_item_call label="Afficher les résidents et les objets interdits" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/fr/menu_people_recent_view_sort.xml deleted file mode 100644 index 93b90ae61cf..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Trier en commençant par le plus récent" name="sort_most"/> - <menu_item_check label="Trier par nom" name="sort_name"/> - <menu_item_check label="Afficher les icônes des résidents" name="view_icons"/> - <menu_item_call label="Afficher les résidents et les objets ignorés" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_picks.xml b/indra/newview/skins/minimal/xui/fr/menu_picks.xml deleted file mode 100644 index 7d7174d43cc..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Infos" name="pick_info"/> - <menu_item_call label="Modifier" name="pick_edit"/> - <menu_item_call label="Téléporter" name="pick_teleport"/> - <menu_item_call label="Carte" name="pick_map"/> - <menu_item_call label="Supprimer" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/fr/menu_picks_plus.xml deleted file mode 100644 index b6cde6d6e22..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Nouveau favori" name="create_pick"/> - <menu_item_call label="Nouvelle petite annonce" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_place.xml b/indra/newview/skins/minimal/xui/fr/menu_place.xml deleted file mode 100644 index 6b0f4db7526..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Enregistrer comme repère" name="landmark"/> - <menu_item_call label="Créer un favori" name="pick"/> - <menu_item_call label="Acheter un pass" name="pass"/> - <menu_item_call label="Modifier" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/fr/menu_place_add_button.xml deleted file mode 100644 index 92f9e7719d1..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Ajouter un dossier" name="add_folder"/> - <menu_item_call label="Ajouter un repère" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/fr/menu_places_gear_folder.xml deleted file mode 100644 index 3570bdec7f4..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_places_gear_folder.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Ajouter un repère" name="add_landmark"/> - <menu_item_call label="Ajouter un dossier" name="add_folder"/> - <menu_item_call label="Couper" name="cut"/> - <menu_item_call label="Copier" name="copy_folder"/> - <menu_item_call label="Coller" name="paste"/> - <menu_item_call label="Renommer" name="rename"/> - <menu_item_call label="Supprimer" name="delete"/> - <menu_item_call label="Agrandir" name="expand"/> - <menu_item_call label="Réduire" name="collapse"/> - <menu_item_call label="Développer tous les dossiers" name="expand_all"/> - <menu_item_call label="Réduire tous les dossiers" name="collapse_all"/> - <menu_item_check label="Trier par date" name="sort_by_date"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/fr/menu_places_gear_landmark.xml deleted file mode 100644 index 5491c1b3fcf..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_places_gear_landmark.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_ladmark_gear"> - <menu_item_call label="Téléporter" name="teleport"/> - <menu_item_call label="Plus d'informations" name="more_info"/> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Ajouter un repère" name="add_landmark"/> - <menu_item_call label="Ajouter un dossier" name="add_folder"/> - <menu_item_call label="Couper" name="cut"/> - <menu_item_call label="Copier le repère" name="copy_landmark"/> - <menu_item_call label="Copier la SLurl" name="copy_slurl"/> - <menu_item_call label="Coller" name="paste"/> - <menu_item_call label="Renommer" name="rename"/> - <menu_item_call label="Supprimer" name="delete"/> - <menu_item_call label="Développer tous les dossiers" name="expand_all"/> - <menu_item_call label="Réduire tous les dossiers" name="collapse_all"/> - <menu_item_check label="Trier par date" name="sort_by_date"/> - <menu_item_call label="Créer un favori" name="create_pick"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/fr/menu_profile_overflow.xml deleted file mode 100644 index ddf898b7916..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Carte" name="show_on_map"/> - <menu_item_call label="Payer" name="pay"/> - <menu_item_call label="Partager" name="share"/> - <menu_item_call label="Ignorer" name="block"/> - <menu_item_call label="Ne plus ignorer" name="unblock"/> - <menu_item_call label="Éjecter" name="kick"/> - <menu_item_call label="Figer" name="freeze"/> - <menu_item_call label="Libérer" name="unfreeze"/> - <menu_item_call label="Représentant du service consommateur" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/fr/menu_save_outfit.xml deleted file mode 100644 index f78db411b39..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Enregistrer" name="save_outfit"/> - <menu_item_call label="Enregistrer sous" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/fr/menu_script_chiclet.xml deleted file mode 100644 index 46efa30bd66..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Fermer" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_slurl.xml b/indra/newview/skins/minimal/xui/fr/menu_slurl.xml deleted file mode 100644 index ddfa5c0849c..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="À propos de l'URL" name="about_url"/> - <menu_item_call label="Téléporter vers l'URL" name="teleport_to_url"/> - <menu_item_call label="Carte" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_teleport_history_gear.xml deleted file mode 100644 index 3dea662cc24..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Développer tous les dossiers" name="Expand all folders"/> - <menu_item_call label="Réduire tous les dossiers" name="Collapse all folders"/> - <menu_item_call label="Effacer l'historique des téléportations" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/fr/menu_teleport_history_item.xml deleted file mode 100644 index fb4582dbce3..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Téléporter" name="Teleport"/> - <menu_item_call label="Plus d'informations" name="More Information"/> - <menu_item_call label="Copier dans le presse-papiers" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/fr/menu_teleport_history_tab.xml deleted file mode 100644 index 369680985de..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Ouvrir" name="TabOpen"/> - <menu_item_call label="Fermer" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_text_editor.xml b/indra/newview/skins/minimal/xui/fr/menu_text_editor.xml deleted file mode 100644 index b6f429aec99..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Couper" name="Cut"/> - <menu_item_call label="Copier" name="Copy"/> - <menu_item_call label="Coller" name="Paste"/> - <menu_item_call label="Supprimer" name="Delete"/> - <menu_item_call label="Tout sélectionner" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/fr/menu_topinfobar.xml deleted file mode 100644 index dc68f40fe73..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Afficher les coordonnées" name="Show Coordinates"/> - <menu_item_check label="Afficher les propriétés de la parcelle" name="Show Parcel Properties"/> - <menu_item_call label="Repère" name="Landmark"/> - <menu_item_call label="Copier" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_agent.xml b/indra/newview/skins/minimal/xui/fr/menu_url_agent.xml deleted file mode 100644 index 5ed627fbc33..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Voir le profil du résident" name="show_agent"/> - <menu_item_call label="Copier le nom dans le presse-papiers" name="url_copy_label"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_group.xml b/indra/newview/skins/minimal/xui/fr/menu_url_group.xml deleted file mode 100644 index de90c3ff7e5..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Voir le profil du groupe" name="show_group"/> - <menu_item_call label="Copier le groupe dans le presse-papiers" name="url_copy_label"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_http.xml b/indra/newview/skins/minimal/xui/fr/menu_url_http.xml deleted file mode 100644 index 5e963529998..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Ouvrir la page Web" name="url_open"/> - <menu_item_call label="Ouvrir dans un navigateur interne" name="url_open_internal"/> - <menu_item_call label="Ouvrir dans un navigateur externe" name="url_open_external"/> - <menu_item_call label="Copier l'URL dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/fr/menu_url_inventory.xml deleted file mode 100644 index 8ab88b4be7b..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Afficher l'article d'inventaire" name="show_item"/> - <menu_item_call label="Copier le nom dans le presse-papiers" name="url_copy_label"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_map.xml b/indra/newview/skins/minimal/xui/fr/menu_url_map.xml deleted file mode 100644 index 67e6986f5d9..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Me téléporter à cet endroit" name="teleport_to_location"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/fr/menu_url_objectim.xml deleted file mode 100644 index f581c3ef9d8..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Afficher les informations sur l'objet" name="show_object"/> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Me téléporter à l'emplacement de l'objet" name="teleport_to_object"/> - <menu_item_call label="Copier le nom de l'objet dans le presse-papiers" name="url_copy_label"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/fr/menu_url_parcel.xml deleted file mode 100644 index 07b0eeca499..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Afficher les informations sur la parcelle" name="show_parcel"/> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/fr/menu_url_slapp.xml deleted file mode 100644 index f4b7e212caf..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Exécuter cette commande" name="run_slapp"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/fr/menu_url_slurl.xml deleted file mode 100644 index e44943cf156..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Afficher les informations sur ce lieu" name="show_place"/> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Me téléporter à cet endroit" name="teleport_to_location"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/fr/menu_url_teleport.xml deleted file mode 100644 index a5075a2740d..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Me téléporter à cet endroit." name="teleport"/> - <menu_item_call label="Voir sur la carte" name="show_on_map"/> - <menu_item_call label="Copier la SLurl dans le presse-papiers" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_viewer.xml b/indra/newview/skins/minimal/xui/fr/menu_viewer.xml deleted file mode 100644 index bd1c077f529..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Aide" name="Help"> - <menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/> - </menu> - <menu label="Avancé" name="Advanced"> - <menu label="Raccourcis" name="Shortcuts"> - <menu_item_check label="Voler" name="Fly"/> - <menu_item_call label="Fermer la fenêtre" name="Close Window"/> - <menu_item_call label="Fermer toutes les fenêtres" name="Close All Windows"/> - <menu_item_call label="Réinitialiser la vue" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/fr/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/fr/menu_wearable_list_item.xml deleted file mode 100644 index 187cb4bcd2c..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Remplacer" name="wear_replace"/> - <menu_item_call label="Porter" name="wear_wear"/> - <menu_item_call label="Ajouter" name="wear_add"/> - <menu_item_call label="Enlever / Détacher" name="take_off_or_detach"/> - <menu_item_call label="Détacher" name="detach"/> - <context_menu label="Attacher à " name="wearable_attach_to"/> - <context_menu label="Attacher au HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Enlever" name="take_off"/> - <menu_item_call label="Modifier" name="edit"/> - <menu_item_call label="Profil de l'article" name="object_profile"/> - <menu_item_call label="Afficher l'original" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/fr/menu_wearing_gear.xml deleted file mode 100644 index 0ca9fe18791..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Modifier la tenue" name="edit"/> - <menu_item_call label="Enlever" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/fr/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/fr/menu_wearing_tab.xml deleted file mode 100644 index 4d884455069..00000000000 --- a/indra/newview/skins/minimal/xui/fr/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Enlever" name="take_off"/> - <menu_item_call label="Détacher" name="detach"/> - <menu_item_call label="Modifier la tenue" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/fr/notifications.xml b/indra/newview/skins/minimal/xui/fr/notifications.xml deleted file mode 100644 index 05fa03cdc19..00000000000 --- a/indra/newview/skins/minimal/xui/fr/notifications.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <notification name="UserGiveItem"> - [NAME_SLURL] vous offre [ITEM_SLURL]. Pour utiliser cet article, vous devez passer en mode Avancé. L'article se trouve dans votre inventaire. Pour changer de mode, quittez l'application, redémarrez-la, puis sélectionnez un autre mode sur l'écran de connexion. - <form name="form"> - <button name="Show" text="Garder l'article"/> - <button name="Discard" text="Refuser l'article"/> - <button name="Mute" text="Ignorer l'utilisateur"/> - </form> - </notification> - <notification name="ObjectGiveItem"> - Un objet nommé <nolink>[OBJECTFROMNAME]</nolink> appartenant à [NAME_SLURL] vous offre <nolink>[ITEM_SLURL]</nolink>. Pour utiliser cet article, vous devez passer en mode Avancé. L'article se trouve dans votre inventaire. Pour changer de mode, quittez l'application, redémarrez-la, puis sélectionnez un autre mode sur l'écran de connexion. - <form name="form"> - <button name="Keep" text="Garder l'article"/> - <button name="Discard" text="Refuser l'article"/> - <button name="Mute" text="Ignorer l'objet"/> - </form> - </notification> -</notifications> diff --git a/indra/newview/skins/minimal/xui/fr/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/fr/panel_adhoc_control_panel.xml deleted file mode 100644 index 376a7d2b725..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Appeler" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Quitter l'appel" name="end_call_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/fr/panel_bottomtray.xml deleted file mode 100644 index 094d3e66de7..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="Active/Désactive le micro"/> - <string name="VoiceControlBtnToolTip" value="Affiche/Masque le panneau de contrôle de la voix"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Parler" name="speak_btn" tool_tip="Activer/désactiver le micro."/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Modifier les préférences audio."/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Geste" name="Gesture" tool_tip="Faire faire des gestes à votre avatar."/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Affichage" name="camera_btn" tool_tip="Contrôler l'angle de la caméra."/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Destinations" name="destination_btn" tool_tip="Voyager à travers Second Life."/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Mon avatar" name="avatar_btn" tool_tip="Modifier votre apparence."/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Personnes" name="show_people_button" tool_tip="Trouver des personnes dans Second Life."/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Afficher et modifier votre profil."/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Aide rapide" name="show_help_btn" tool_tip="Afficher des infos d'aide sur Second Life."/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Conversations"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notifications"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/fr/panel_group_control_panel.xml deleted file mode 100644 index 676fa1d2229..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_group_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="end_call_btn_panel"> - <button label="Quitter l'appel" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Ouvrir contrôles vocaux" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/fr/panel_im_control_panel.xml deleted file mode 100644 index 1643cf3229f..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Devenir amis" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Téléporter" name="teleport_btn" tool_tip="Proposer de téléporter cette personne."/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Appeler" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Quitter l'appel" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="Ignorer" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="Ne plus ignorer" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="Volume de l'appel." value="0,5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_login.xml b/indra/newview/skins/minimal/xui/fr/panel_login.xml deleted file mode 100644 index 0869778a547..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_login.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://fr.secondlife.com/registration/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=fr - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Nom d'utilisateur : - </text> - <combo_box name="username_combo" tool_tip="Nom d'utilisateur que vous avez choisi lors de votre inscription (par exemple, bobsmith12 ou Steller Sunshine)."/> - <text name="password_text"> - Mot de passe : - </text> - <check_box label="Enregistrer" name="remember_check"/> - <button label="Connexion" name="connect_btn"/> - <text name="mode_selection_text"> - Mode : - </text> - <combo_box name="mode_combo" tool_tip="Sélectionnez un mode. Pour une exploration facile et rapide avec chat, choisissez Basique. Pour accéder à plus de fonctionnalités, choisissez Avancé."> - <combo_box.item label="Basique" name="Basic"/> - <combo_box.item label="Avancé" name="Advanced"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - S'inscrire - </text> - <text name="forgot_password_text"> - Nom d'utilisateur ou mot de passe oublié ? - </text> - <text name="login_help"> - Besoin d'aide ? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/fr/panel_navigation_bar.xml deleted file mode 100644 index 45caf2323d2..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Revenir à l'emplacement précédent"/> - <pull_button name="forward_btn" tool_tip="Avancer d'un emplacement"/> - <button name="home_btn" tool_tip="Me téléporter jusqu'à mon domicile"/> - <location_input label="Emplacement" name="location_combo"/> - <search_combo_box label="Rechercher" name="search_combo_box" tool_tip="Rechercher"> - <combo_editor label="Rechercher dans [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="Faites glisser des repères ici pour un accès rapide à vos lieux favoris dans Second Life."> - <label name="favorites_bar_label" tool_tip="Faites glisser des repères ici pour un accès rapide à vos lieux favoris dans Second Life."> - Favoris - </label> - <chevron_button name=">>" tool_tip="Afficher d'avantage de Favoris"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_people.xml b/indra/newview/skins/minimal/xui/fr/panel_people.xml deleted file mode 100644 index 427a420b916..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_people.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Résidents" name="people_panel"> - <string name="no_recent_people" value="Personne de récent. Vous recherchez des résidents avec qui passer du temps ? Essayez avec le bouton Destinations ci-dessous."/> - <string name="no_filtered_recent_people" value="Personne de récent portant ce nom."/> - <string name="no_one_near" value="Personne près de vous. Vous recherchez des résidents avec qui passer du temps ? Essayez avec le bouton Destinations ci-dessous."/> - <string name="no_one_filtered_near" value="Personne près de vous portant ce nom."/> - <string name="no_friends_online" value="Pas d'amis connectés"/> - <string name="no_friends" value="Pas d'amis"/> - <string name="no_friends_msg"> - Pour ajouter un résident à votre liste d'amis, cliquez-droit dessus. -Vous recherchez des résidents avec qui passer du temps ? Essayez avec le bouton Destinations ci-dessous. - </string> - <string name="no_filtered_friends_msg"> - Vous n'avez pas trouvé ce que vous cherchiez ? Essayez avec le bouton Destinations ci-dessous. - </string> - <string name="people_filter_label" value="Filtrer les personnes"/> - <string name="groups_filter_label" value="Filtrer les groupes"/> - <string name="no_filtered_groups_msg" value="Vous n'avez pas trouvé ce que vous cherchiez ? Essayez [secondlife:///app/search/groups/[SEARCH_TERM] Rechercher]."/> - <string name="no_groups_msg" value="Vous souhaitez trouver des groupes à rejoindre ? Utilisez [secondlife:///app/search/groups Rechercher]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Carte : double-clic ; Panoramique : Maj + faire glisser)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Téléportation : double-clic ; Panoramique : Maj + faire glisser)"/> - <filter_editor label="Filtre" name="filter_input"/> - <tab_container name="tabs"> - <panel label="PRÈS DE VOUS" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"/> - </panel> - <panel label="MES AMIS" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="En ligne"/> - <accordion_tab name="tab_all" title="Tout"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Supprimer le résident sélectionné de votre liste d'amis."/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="RÉCENT" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <button name="add_friend_btn" tool_tip="Ajouter le résident sélectionné à votre liste d'amis"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Profil" name="view_profile_btn" tool_tip="Afficher la photo, les groupes et autres infos des résidents"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="Ouvrir une session IM."/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Appeler" name="call_btn" tool_tip="Appeler ce résident."/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Téléporter" name="teleport_btn" tool_tip="Proposer une téléportation."/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Profil du groupe" name="group_info_btn" tool_tip="Afficher les informations sur le groupe"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Chat de groupe" name="chat_btn" tool_tip="Ouvrir une session de chat"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Appel de groupe" name="group_call_btn" tool_tip="Appeler ce groupe"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/fr/panel_side_tray_tab_caption.xml deleted file mode 100644 index 45efbdc980c..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Panneau latéral"/> - <button name="undock" tool_tip="Détacher"/> - <button name="dock" tool_tip="Attacher"/> - <button name="show_help" tool_tip="Afficher l'aide"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/fr/panel_status_bar.xml b/indra/newview/skins/minimal/xui/fr/panel_status_bar.xml deleted file mode 100644 index 69aec99e1d8..00000000000 --- a/indra/newview/skins/minimal/xui/fr/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Sunday:Monday:Tuesday:Wednesday:Thursday:Friday:Saturday - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - January:February:March:April:May:June:July:August:September:October:November:December - </panel.string> - <panel.string name="packet_loss_tooltip"> - Perte de paquets - </panel.string> - <panel.string name="bandwidth_tooltip"> - Bande passante - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt] [sday, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - [AMT] L$ - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Cliquer sur ce bouton pour actualiser votre solde en L$." value="20 L$"/> - <button label="ACHETER L$" name="buyL" tool_tip="Cliquer pour acheter plus de L$"/> - </panel> - <text name="TimeText" tool_tip="Heure actuelle (Pacifique)"> - 00h00 PST - </text> - <button name="media_toggle_btn" tool_tip="Arrêter tous les médias (musique, vidéo, pages web)"/> - <button name="volume_btn" tool_tip="Contrôle du volume global"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/floater_camera.xml b/indra/newview/skins/minimal/xui/it/floater_camera.xml deleted file mode 100644 index 3fdf4f48a22..00000000000 --- a/indra/newview/skins/minimal/xui/it/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Ruota la telecamera Intorno all'Inquadratura - </floater.string> - <floater.string name="zoom_tooltip"> - Avvicina la telecamera nell'inquadratura - </floater.string> - <floater.string name="move_tooltip"> - Muovi la telecamera su e giù e a sinistra e destra - </floater.string> - <floater.string name="camera_modes_title"> - Modalità della fotocamera - </floater.string> - <floater.string name="pan_mode_title"> - Ruota visuale - Ingrandisci - Panoramica - </floater.string> - <floater.string name="presets_mode_title"> - Visuali predefinite - </floater.string> - <floater.string name="free_mode_title"> - Vedi oggetto - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Visuale frontale - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Visuale laterale - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Visuale posteriore - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Visuale oggetto - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Visuale soggettiva - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Avvicina la telecamera nell'inquadratura"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Ruota la visuale intorno al punto focale"/> - <slider_bar name="zoom_slider" tool_tip="Zoom verso il centro focale"/> - <joystick_track name="cam_track_stick" tool_tip="Sposta la visuale in su e in giù, a sinistra e a destra"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Visuali predefinite"/> - <button label="" name="pan_btn" tool_tip="Ruota visuale - Ingrandisci - Panoramica"/> - <button label="" name="avatarview_btn" tool_tip="Modalità della fotocamera"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/floater_help_browser.xml b/indra/newview/skins/minimal/xui/it/floater_help_browser.xml deleted file mode 100644 index 18264cdd17c..00000000000 --- a/indra/newview/skins/minimal/xui/it/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="ISTRUZIONI"> - <floater.string name="loading_text"> - Caricamento in corso... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/floater_media_browser.xml b/indra/newview/skins/minimal/xui/it/floater_media_browser.xml deleted file mode 100644 index b1e87290d2f..00000000000 --- a/indra/newview/skins/minimal/xui/it/floater_media_browser.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="BROWSER MULTIMEDIA"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Indietro" name="back" width="75"/> - <button label="Avanti" left_delta="75" name="forward" width="70"/> - <button label="Ricarica" left_delta="75" name="reload"/> - <combo_box left_delta="75" name="address" width="510"/> - <button label="Vai" left_delta="515" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="indietro rapido" name="rewind"/> - <button label="stop" name="stop"/> - <button label="avanti" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Invia la pagina attuale al lotto" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Apri nel mio browser Web" name="open_browser"/> - <check_box label="Apri sempre nel mio browser Web" name="open_always"/> - <button label="Chiudi" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/it/floater_nearby_chat.xml deleted file mode 100644 index 4c41df8a62c..00000000000 --- a/indra/newview/skins/minimal/xui/it/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT NEI DINTORNI"> - <check_box label="Traduci chat (tecnologia Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/floater_web_content.xml b/indra/newview/skins/minimal/xui/it/floater_web_content.xml deleted file mode 100644 index 5603e85417a..00000000000 --- a/indra/newview/skins/minimal/xui/it/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Naviga indietro"/> - <button name="forward" tool_tip="Naviga avanti"/> - <button name="stop" tool_tip="Interrompi navigazione"/> - <button name="reload" tool_tip="Ricarica pagina"/> - <combo_box name="address" tool_tip="Inserisci URL qui"/> - <icon name="media_secure_lock_flag" tool_tip="Navigazione sicura"/> - <button name="popexternal" tool_tip="Apri URL corrente nel browser del computer"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/inspect_avatar.xml b/indra/newview/skins/minimal/xui/it/inspect_avatar.xml deleted file mode 100644 index 6f52aaef741..00000000000 --- a/indra/newview/skins/minimal/xui/it/inspect_avatar.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_name_small" value="Grumpity ProductEngine con un nome lungo"/> - <text name="user_slid" value="james.linden"/> - <text name="user_details"> - Questa è la mia descrizione in second life e penso che sia perfetta. Ma per qualche motivo la mia descrizione è davvero molto lunga, perché mi piace parlare a lungo - </text> - <slider name="volume_slider" tool_tip="Volume voce" value="0.5"/> - <button label="Aggiungi amico" name="add_friend_btn"/> - <button label="IM" name="im_btn"/> - <button label="Profilo" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="Disattiva voce" name="disable_voice"/> - <button label="Attiva voce" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/inspect_object.xml b/indra/newview/skins/minimal/xui/it/inspect_object.xml deleted file mode 100644 index d8ab10cfda6..00000000000 --- a/indra/newview/skins/minimal/xui/it/inspect_object.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Di [CREATOR] - </string> - <string name="CreatorAndOwner"> - Di [CREATOR] -Proprietario [OWNER] - </string> - <string name="Price"> - L$ [AMOUNT] - </string> - <string name="PriceFree"> - Gratis! - </string> - <string name="Touch"> - Tocca - </string> - <string name="Sit"> - Siediti - </string> - <text name="object_name" value="Nome oggetto di prova che si trova su due righe ed è molto lungo"/> - <text name="price_text"> - L$ 30.000 - </text> - <text name="object_description"> - Questa è una descrizione di un oggetto che è molto lunga ed è di almeno 80 caratteri, ma potrebbe essere di 120 caratteri a questo punto. Chi lo sa veramente? - </text> - <button label="Acquista" name="buy_btn"/> - <button label="Paga" name="pay_btn"/> - <button label="Prendi copia" name="take_free_copy_btn"/> - <button label="Tocca" name="touch_btn"/> - <button label="Siediti" name="sit_btn"/> - <button label="Apri" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Browsing sicuro"/> - <button label="Altro" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/it/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/it/menu_add_wearable_gear.xml deleted file mode 100644 index 46abd7deedd..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Mostra prima i più recenti" name="sort_by_most_recent"/> - <menu_item_check label="Ordina in base al nome" name="sort_by_name"/> - <menu_item_check label="Ordina in base al tipo" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/it/menu_attachment_other.xml deleted file mode 100644 index d4d6fd68d0b..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Vedi profilo" name="Profile..."/> - <menu_item_call label="Aggiungi amico" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Invita al gruppo" name="Invite..."/> - <menu_item_call label="Blocca" name="Avatar Mute"/> - <menu_item_call label="Segnala" name="abuse"/> - <menu_item_call label="Congela" name="Freeze..."/> - <menu_item_call label="Espelli" name="Eject..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> - <menu_item_call label="Zoom avanti" name="Zoom In"/> - <menu_item_call label="Paga" name="Pay..."/> - <menu_item_call label="Profilo dell'oggetto" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/it/menu_attachment_self.xml deleted file mode 100644 index 0b841d591f2..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Tocca" name="Attachment Object Touch"/> - <menu_item_call label="Modifica" name="Edit..."/> - <menu_item_call label="Stacca" name="Detach"/> - <menu_item_call label="Siedi" name="Sit Down Here"/> - <menu_item_call label="Alzati" name="Stand Up"/> - <menu_item_call label="Il mio aspetto" name="Change Outfit"/> - <menu_item_call label="Modifica il mio vestiario" name="Edit Outfit"/> - <menu_item_call label="Modifica la figura corporea" name="Edit My Shape"/> - <menu_item_call label="I miei amici..." name="Friends..."/> - <menu_item_call label="I miei gruppi" name="Groups..."/> - <menu_item_call label="Il mio profilo" name="Profile..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> - <menu_item_call label="Lascia" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/it/menu_avatar_icon.xml deleted file mode 100644 index b93b6953008..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Vedi profilo" name="Show Profile"/> - <menu_item_call label="Manda IM..." name="Send IM"/> - <menu_item_call label="Aggiungi come amico..." name="Add Friend"/> - <menu_item_call label="Togli amicizia..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/it/menu_avatar_other.xml deleted file mode 100644 index c2edc32a49a..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Vedi profilo" name="Profile..."/> - <menu_item_call label="Aggiungi amico" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Invita al gruppo" name="Invite..."/> - <menu_item_call label="Blocca" name="Avatar Mute"/> - <menu_item_call label="Segnala" name="abuse"/> - <menu_item_call label="Congela" name="Freeze..."/> - <menu_item_call label="Espelli" name="Eject..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> - <menu_item_call label="Zoom avanti" name="Zoom In"/> - <menu_item_call label="Paga" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/it/menu_avatar_self.xml deleted file mode 100644 index a4dafd7b5f4..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_avatar_self.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="Siedi" name="Sit Down Here"/> - <menu_item_call label="Alzati" name="Stand Up"/> - <context_menu label="Togli" name="Take Off >"> - <context_menu label="Abiti" name="Clothes >"> - <menu_item_call label="Camicia" name="Shirt"/> - <menu_item_call label="Pantaloni" name="Pants"/> - <menu_item_call label="Gonna" name="Skirt"/> - <menu_item_call label="Scarpe" name="Shoes"/> - <menu_item_call label="Calzini" name="Socks"/> - <menu_item_call label="Giacca" name="Jacket"/> - <menu_item_call label="Guanti" name="Gloves"/> - <menu_item_call label="Maglietta intima" name="Self Undershirt"/> - <menu_item_call label="Slip" name="Self Underpants"/> - <menu_item_call label="Tatuaggio" name="Self Tattoo"/> - <menu_item_call label="Fisica" name="Self Physics"/> - <menu_item_call label="Alpha (Trasparenza)" name="Self Alpha"/> - <menu_item_call label="Tutti gli abiti" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Stacca" name="Object Detach"/> - <menu_item_call label="Stacca tutto" name="Detach All"/> - </context_menu> - <menu_item_call label="Il mio aspetto" name="Chenge Outfit"/> - <menu_item_call label="Modifica il mio vestiario" name="Edit Outfit"/> - <menu_item_call label="Modifica la figura corporea" name="Edit My Shape"/> - <menu_item_call label="I miei amici..." name="Friends..."/> - <menu_item_call label="I miei gruppi" name="Groups..."/> - <menu_item_call label="Il mio profilo" name="Profile..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/it/menu_bottomtray.xml deleted file mode 100644 index ddd6909136e..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Pulsante Parla" name="EnableVoiceChat"/> - <menu_item_check label="Tasto Gesture" name="ShowGestureButton"/> - <menu_item_check label="Tasto Movimento" name="ShowMoveButton"/> - <menu_item_check label="Tasto Visuale" name="ShowCameraButton"/> - <menu_item_check label="Tasto Foto" name="ShowSnapshotButton"/> - <menu_item_check label="Pulsante Costruisci" name="ShowBuildButton"/> - <menu_item_check label="Pulsante Cerca" name="ShowSearchButton"/> - <menu_item_check label="Pulsante Mappa" name="ShowWorldMapButton"/> - <menu_item_check label="Pulsante Mini mappa" name="ShowMiniMapButton"/> - <menu_item_call label="Taglia" name="NearbyChatBar_Cut"/> - <menu_item_call label="Copia" name="NearbyChatBar_Copy"/> - <menu_item_call label="Incolla" name="NearbyChatBar_Paste"/> - <menu_item_call label="Elimina" name="NearbyChatBar_Delete"/> - <menu_item_call label="Seleziona tutto" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/it/menu_cof_attachment.xml deleted file mode 100644 index 699490c8f1d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Stacca" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/it/menu_cof_body_part.xml deleted file mode 100644 index 1e3658ef45d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Sostituisci" name="replace"/> - <menu_item_call label="Modifica" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/it/menu_cof_clothing.xml deleted file mode 100644 index 1e16ce8ed14..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Togli" name="take_off"/> - <menu_item_call label="Modifica" name="edit"/> - <menu_item_call label="Sostituisci" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/it/menu_cof_gear.xml deleted file mode 100644 index 10524ba92d0..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Nuovi abiti" name="COF.Gear.New_Clothes"/> - <menu label="Nuove parti del corpo" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_edit.xml b/indra/newview/skins/minimal/xui/it/menu_edit.xml deleted file mode 100644 index ffb20a02e9a..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Modifica" name="Edit"> - <menu_item_call label="Annulla" name="Undo"/> - <menu_item_call label="Ripeti" name="Redo"/> - <menu_item_call label="Taglia" name="Cut"/> - <menu_item_call label="Copia" name="Copy"/> - <menu_item_call label="Incolla" name="Paste"/> - <menu_item_call label="Elimina" name="Delete"/> - <menu_item_call label="Duplica" name="Duplicate"/> - <menu_item_call label="Seleziona tutto" name="Select All"/> - <menu_item_call label="Deseleziona" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_favorites.xml b/indra/newview/skins/minimal/xui/it/menu_favorites.xml deleted file mode 100644 index 7813ef44b52..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teleport" name="Teleport To Landmark"/> - <menu_item_call label="Vedi/Modifica punto di riferimento" name="Landmark Open"/> - <menu_item_call label="Copia SLurl" name="Copy slurl"/> - <menu_item_call label="Mostra sulla mappa" name="Show On Map"/> - <menu_item_call label="Copia" name="Landmark Copy"/> - <menu_item_call label="Incolla" name="Landmark Paste"/> - <menu_item_call label="Elimina" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/it/menu_gesture_gear.xml deleted file mode 100644 index 7cfcc6287e0..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Aggiungi/Rimuovi dai preferiti" name="activate"/> - <menu_item_call label="Copia" name="copy_gesture"/> - <menu_item_call label="Incolla" name="paste"/> - <menu_item_call label="Copia UUID" name="copy_uuid"/> - <menu_item_call label="Salva vestiario" name="save_to_outfit"/> - <menu_item_call label="Modifica" name="edit_gesture"/> - <menu_item_call label="Ispeziona" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_group_plus.xml b/indra/newview/skins/minimal/xui/it/menu_group_plus.xml deleted file mode 100644 index 3b76fb94a92..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Aderisci al gruppo..." name="item_join"/> - <menu_item_call label="Nuovo gruppo..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/it/menu_hide_navbar.xml deleted file mode 100644 index 2c2c6c4bc57..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Mostra la barra di navigazione" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Mostra la barra dei Preferiti" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Mostra mini barra del luogo" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/it/menu_im_well_button.xml deleted file mode 100644 index 9e471b771c7..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Chiudi tutto" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/it/menu_imchiclet_adhoc.xml deleted file mode 100644 index f78ed8489fe..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Fine sessione" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/it/menu_imchiclet_group.xml deleted file mode 100644 index baa4e671b07..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Informazioni sul gruppo" name="Show Profile"/> - <menu_item_call label="Mostra sessione" name="Chat"/> - <menu_item_call label="Fine sessione" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/it/menu_imchiclet_p2p.xml deleted file mode 100644 index 2eacbb09ad7..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Vedi profilo" name="Show Profile"/> - <menu_item_call label="Aggiungi amico" name="Add Friend"/> - <menu_item_call label="Mostra sessione" name="Send IM"/> - <menu_item_call label="Fine sessione" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/it/menu_inspect_avatar_gear.xml deleted file mode 100644 index 1f10734c4ac..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Vedi profilo" name="view_profile"/> - <menu_item_call label="Aggiungi amico" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="Chiama" name="call"/> - <menu_item_call label="Teleport" name="teleport"/> - <menu_item_call label="Invita al gruppo" name="invite_to_group"/> - <menu_item_call label="Blocca" name="block"/> - <menu_item_call label="Sblocca" name="unblock"/> - <menu_item_call label="Segnala" name="report"/> - <menu_item_call label="Congela" name="freeze"/> - <menu_item_call label="Espelli" name="eject"/> - <menu_item_call label="Espelli" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Debug delle texture" name="debug"/> - <menu_item_call label="Trova sulla mappa" name="find_on_map"/> - <menu_item_call label="Zoom avanti" name="zoom_in"/> - <menu_item_call label="Paga" name="pay"/> - <menu_item_call label="Condividi" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/it/menu_inspect_object_gear.xml deleted file mode 100644 index ede4a507c02..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Tocca" name="touch"/> - <menu_item_call label="Siediti" name="sit"/> - <menu_item_call label="Paga" name="pay"/> - <menu_item_call label="Acquista" name="buy"/> - <menu_item_call label="Prendi" name="take"/> - <menu_item_call label="Prendi copia" name="take_copy"/> - <menu_item_call label="Apri" name="open"/> - <menu_item_call label="Modifica" name="edit"/> - <menu_item_call label="Indossa" name="wear"/> - <menu_item_call label="Aggiungi" name="add"/> - <menu_item_call label="Segnala" name="report"/> - <menu_item_call label="Blocca" name="block"/> - <menu_item_call label="Zoom avanti" name="zoom_in"/> - <menu_item_call label="Rimuovi" name="remove"/> - <menu_item_call label="Maggiori informazioni" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/it/menu_inspect_self_gear.xml deleted file mode 100644 index 4f62ccaa9c5..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Siedi" name="Sit Down Here"/> - <menu_item_call label="Alzati" name="Stand Up"/> - <context_menu label="Togli" name="Take Off >"> - <context_menu label="Abiti" name="Clothes >"> - <menu_item_call label="Camicia" name="Shirt"/> - <menu_item_call label="Pantaloni" name="Pants"/> - <menu_item_call label="Gonna" name="Skirt"/> - <menu_item_call label="Scarpe" name="Shoes"/> - <menu_item_call label="Calzini" name="Socks"/> - <menu_item_call label="Giacca" name="Jacket"/> - <menu_item_call label="Guanti" name="Gloves"/> - <menu_item_call label="Maglietta intima" name="Self Undershirt"/> - <menu_item_call label="Slip" name="Self Underpants"/> - <menu_item_call label="Tatuaggio" name="Self Tattoo"/> - <menu_item_call label="Alpha (Trasparenza)" name="Self Alpha"/> - <menu_item_call label="Tutti gli abiti" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Stacca" name="Object Detach"/> - <menu_item_call label="Stacca tutto" name="Detach All"/> - </context_menu> - <menu_item_call label="Cambia vestiario" name="Chenge Outfit"/> - <menu_item_call label="Modifica il mio vestiario" name="Edit Outfit"/> - <menu_item_call label="Modifica la figura corporea" name="Edit My Shape"/> - <menu_item_call label="I miei amici" name="Friends..."/> - <menu_item_call label="I miei gruppi" name="Groups..."/> - <menu_item_call label="Il mio profilo" name="Profile..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/it/menu_inv_offer_chiclet.xml deleted file mode 100644 index 471640eff50..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Chiudi" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inventory.xml b/indra/newview/skins/minimal/xui/it/menu_inventory.xml deleted file mode 100644 index f18ddb595ca..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inventory.xml +++ /dev/null @@ -1,87 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Condividi" name="Share"/> - <menu_item_call label="Compra" name="Task Buy"/> - <menu_item_call label="Apri" name="Task Open"/> - <menu_item_call label="Esegui" name="Task Play"/> - <menu_item_call label="Proprietà " name="Task Properties"/> - <menu_item_call label="Rinomina" name="Task Rename"/> - <menu_item_call label="Elimina" name="Task Remove"/> - <menu_item_call label="Svuota il Cestino" name="Empty Trash"/> - <menu_item_call label="Svuota gli oggetti persi e ritrovati" name="Empty Lost And Found"/> - <menu_item_call label="Nuova cartella" name="New Folder"/> - <menu_item_call label="Nuovo script" name="New Script"/> - <menu_item_call label="Nuovo biglietto" name="New Note"/> - <menu_item_call label="Nuova gesture" name="New Gesture"/> - <menu label="Maglietta intima" name="New Clothes"> - <menu_item_call label="Nuova maglietta" name="New Shirt"/> - <menu_item_call label="Nuovi pantaloni" name="New Pants"/> - <menu_item_call label="Nuove scarpe" name="New Shoes"/> - <menu_item_call label="Nuove calze" name="New Socks"/> - <menu_item_call label="Nuova giacca" name="New Jacket"/> - <menu_item_call label="Nuova gonna" name="New Skirt"/> - <menu_item_call label="Nuovi guanti" name="New Gloves"/> - <menu_item_call label="Nuova canottiera" name="New Undershirt"/> - <menu_item_call label="Nuove mutande" name="New Underpants"/> - <menu_item_call label="Nuovo Alfa Mask" name="New Alpha Mask"/> - <menu_item_call label="Nuovo tatuaggio" name="New Tattoo"/> - <menu_item_call label="Nuova fisica" name="New Physics"/> - </menu> - <menu label="Nuove parti del corpo" name="New Body Parts"> - <menu_item_call label="Nuova forma del corpo" name="New Shape"/> - <menu_item_call label="Nuova pelle" name="New Skin"/> - <menu_item_call label="Nuovi capelli" name="New Hair"/> - <menu_item_call label="Nuovi occhi" name="New Eyes"/> - </menu> - <menu label="Cambia tipo" name="Change Type"> - <menu_item_call label="Predefinito" name="Default"/> - <menu_item_call label="Guanti" name="Gloves"/> - <menu_item_call label="Giacca" name="Jacket"/> - <menu_item_call label="Pantaloni" name="Pants"/> - <menu_item_call label="Figura corporea" name="Shape"/> - <menu_item_call label="Scarpe" name="Shoes"/> - <menu_item_call label="Camicia" name="Shirt"/> - <menu_item_call label="Gonna" name="Skirt"/> - <menu_item_call label="Slip" name="Underpants"/> - <menu_item_call label="Maglietta intima" name="Undershirt"/> - </menu> - <menu_item_call label="Teletrasportati" name="Landmark Open"/> - <menu_item_call label="Apri" name="Animation Open"/> - <menu_item_call label="Apri" name="Sound Open"/> - <menu_item_call label="Sostituisci vestiti" name="Replace Outfit"/> - <menu_item_call label="Aggiungi al vestiario" name="Add To Outfit"/> - <menu_item_call label="Rimuovi dal vestiario attuale" name="Remove From Outfit"/> - <menu_item_call label="Trova originale" name="Find Original"/> - <menu_item_call label="Elimina oggetto" name="Purge Item"/> - <menu_item_call label="Ripristina oggetto" name="Restore Item"/> - <menu_item_call label="Apri" name="Open"/> - <menu_item_call label="Apri originale" name="Open Original"/> - <menu_item_call label="Proprietà " name="Properties"/> - <menu_item_call label="Rinomina" name="Rename"/> - <menu_item_call label="Copia UUID dell'oggetto" name="Copy Asset UUID"/> - <menu_item_call label="Copia" name="Copy"/> - <menu_item_call label="Incolla" name="Paste"/> - <menu_item_call label="Incolla come link" name="Paste As Link"/> - <menu_item_call label="Elimina" name="Remove Link"/> - <menu_item_call label="Cancella" name="Delete"/> - <menu_item_call label="Elimina la cartella di sistema" name="Delete System Folder"/> - <menu_item_call label="Inizia la conferenza chat" name="Conference Chat Folder"/> - <menu_item_call label="Esegui" name="Sound Play"/> - <menu_item_call label="Informazioni sul punto di riferimento" name="About Landmark"/> - <menu_item_call label="Riproduci in Second Life" name="Animation Play"/> - <menu_item_call label="Esegui localmente" name="Animation Audition"/> - <menu_item_call label="Invia un Instant Message" name="Send Instant Message"/> - <menu_item_call label="Offri teletrasporto..." name="Offer Teleport..."/> - <menu_item_call label="Inizia una conferenza chat" name="Conference Chat"/> - <menu_item_call label="Attiva" name="Activate"/> - <menu_item_call label="Disattiva" name="Deactivate"/> - <menu_item_call label="Salva con nome" name="Save As"/> - <menu_item_call label="Stacca da te" name="Detach From Yourself"/> - <menu_item_call label="Indossa" name="Wearable And Object Wear"/> - <menu label="Attacca a" name="Attach To"/> - <menu label="Attacca all'HUD" name="Attach To HUD"/> - <menu_item_call label="Modifica" name="Wearable Edit"/> - <menu_item_call label="Aggiungi" name="Wearable Add"/> - <menu_item_call label="Togli" name="Take Off"/> - <menu_item_call label="--nessuna opzione--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/it/menu_inventory_add.xml deleted file mode 100644 index a2535ce48de..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inventory_add.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Carica nel server" name="upload"> - <menu_item_call label="Immagine ([COST]L$)..." name="Upload Image"/> - <menu_item_call label="Suono ([COST]L$)..." name="Upload Sound"/> - <menu_item_call label="Animazione ([COST]L$)..." name="Upload Animation"/> - <menu_item_call label="In blocco ([COST]L$ per file)..." name="Bulk Upload"/> - <menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/> - </menu> - <menu_item_call label="Nuova cartella" name="New Folder"/> - <menu_item_call label="Nuovo script" name="New Script"/> - <menu_item_call label="Nuovo biglietto" name="New Note"/> - <menu_item_call label="Nuova gesture" name="New Gesture"/> - <menu label="Maglietta intima" name="New Clothes"> - <menu_item_call label="Nuova camicia" name="New Shirt"/> - <menu_item_call label="Nuovi pantaloni" name="New Pants"/> - <menu_item_call label="Nuove scarpe" name="New Shoes"/> - <menu_item_call label="Nuove calze" name="New Socks"/> - <menu_item_call label="Nuova giacca" name="New Jacket"/> - <menu_item_call label="Nuova gonna" name="New Skirt"/> - <menu_item_call label="Nuovi guanti" name="New Gloves"/> - <menu_item_call label="Nuova maglietta intima" name="New Undershirt"/> - <menu_item_call label="Nuovi slip" name="New Underpants"/> - <menu_item_call label="Nuovo Alfa (trasparenza)" name="New Alpha"/> - <menu_item_call label="Nuovo tatuaggio" name="New Tattoo"/> - <menu_item_call label="Nuova fisica" name="New Physics"/> - </menu> - <menu label="Nuove parti del corpo" name="New Body Parts"> - <menu_item_call label="Nuova figura corporea" name="New Shape"/> - <menu_item_call label="Nuova pelle" name="New Skin"/> - <menu_item_call label="Nuovi capelli" name="New Hair"/> - <menu_item_call label="Nuovi occhi" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/it/menu_inventory_gear_default.xml deleted file mode 100644 index 3d64e4da4ec..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_inventory_gear_default.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nuova finestra inventario" name="new_window"/> - <menu_item_check label="Ordina in base al nome" name="sort_by_name"/> - <menu_item_check label="Mostra prima i più recenti" name="sort_by_recent"/> - <menu_item_check label="Ordina le cartelle sempre in base al nome" name="sort_folders_by_name"/> - <menu_item_check label="Ordina cartelle di sistema all'inizio" name="sort_system_folders_to_top"/> - <menu_item_call label="Mostra filtri" name="show_filters"/> - <menu_item_call label="Ripristina filtri" name="reset_filters"/> - <menu_item_call label="Chiudi tutte le cartelle" name="close_folders"/> - <menu_item_call label="Svuota oggetti smarriti" name="empty_lostnfound"/> - <menu_item_call label="Salva texture come" name="Save Texture As"/> - <menu_item_call label="Condividi" name="Share"/> - <menu_item_call label="Trova originale" name="Find Original"/> - <menu_item_call label="Trova tutti i link" name="Find All Links"/> - <menu_item_call label="Svuota cestino" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_land.xml b/indra/newview/skins/minimal/xui/it/menu_land.xml deleted file mode 100644 index f510078e147..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="Informazioni sui terreni" name="Place Information..."/> - <menu_item_call label="Siediti qui" name="Sit Here"/> - <menu_item_call label="Acquista questo terreno" name="Land Buy"/> - <menu_item_call label="Acquista Permesso" name="Land Buy Pass"/> - <menu_item_call label="Costruisci" name="Create"/> - <menu_item_call label="Modifica terreno" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_landmark.xml b/indra/newview/skins/minimal/xui/it/menu_landmark.xml deleted file mode 100644 index b3cddab783e..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Copia SLurl" name="copy"/> - <menu_item_call label="Elimina" name="delete"/> - <menu_item_call label="Crea Luogo consigliato" name="pick"/> - <menu_item_call label="Aggiungi alla barra dei Preferiti" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_login.xml b/indra/newview/skins/minimal/xui/it/menu_login.xml deleted file mode 100644 index bdf7d2094ff..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_login.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Io" name="File"> - <menu_item_call label="Preferenze" name="Preferences..."/> - <menu_item_call label="Esci da [APP_NAME]" name="Quit"/> - </menu> - <menu label="Aiuto" name="Help"> - <menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="Informazioni su [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Mostra menu Debug" name="Show Debug Menu"/> - <menu label="Debug" name="Debug"> - <menu_item_call label="Mostra impostazioni di debug" name="Debug Settings"/> - <menu_item_call label="Impostazioni colori interfaccia" name="UI/Color Settings"/> - <menu label="Test interfaccia utente" name="UI Tests"/> - <menu_item_call label="Imposta dimensioni della finestra..." name="Set Window Size..."/> - <menu_item_call label="Mostra i Termini del servizio (TOS)" name="TOS"/> - <menu_item_call label="Mostra messaggio critico" name="Critical"/> - <menu_item_call label="Test browser multimedia" name="Web Browser Test"/> - <menu_item_call label="Test finestra contenuti Web" name="Web Content Floater Test"/> - <menu_item_check label="Mostra selettore griglia" name="Show Grid Picker"/> - <menu_item_call label="Mostra Console notifiche" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/it/menu_mini_map.xml b/indra/newview/skins/minimal/xui/it/menu_mini_map.xml deleted file mode 100644 index 561b80e046b..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom ravvicinato" name="Zoom Close"/> - <menu_item_call label="Zoom Medio" name="Zoom Medium"/> - <menu_item_call label="Zoom Distante" name="Zoom Far"/> - <menu_item_call label="Zoom predefinito" name="Zoom Default"/> - <menu_item_check label="Ruota la mappa" name="Rotate Map"/> - <menu_item_check label="Centra automaticamente" name="Auto Center"/> - <menu_item_call label="Ferma il puntamento" name="Stop Tracking"/> - <menu_item_call label="Mappa del mondo" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_navbar.xml b/indra/newview/skins/minimal/xui/it/menu_navbar.xml deleted file mode 100644 index e42d913a6f1..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Mostra le coordinate" name="Show Coordinates"/> - <menu_item_check label="Mostra proprietà lotto" name="Show Parcel Properties"/> - <menu_item_call label="Punto di riferimento" name="Landmark"/> - <menu_item_call label="Taglia" name="Cut"/> - <menu_item_call label="Copia" name="Copy"/> - <menu_item_call label="Incolla" name="Paste"/> - <menu_item_call label="Elimina" name="Delete"/> - <menu_item_call label="Seleziona tutto" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/it/menu_nearby_chat.xml deleted file mode 100644 index 719a6d32618..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Mostra le persone vicine..." name="nearby_people"/> - <menu_item_check label="Mostra il testo bloccato" name="muted_text"/> - <menu_item_check label="Mostra icone amici" name="show_buddy_icons"/> - <menu_item_check label="Mostra nomi" name="show_names"/> - <menu_item_check label="Mostra icone e nomi" name="show_icons_and_names"/> - <menu_item_call label="Dimensioni caratteri" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/it/menu_notification_well_button.xml deleted file mode 100644 index 8c82e30f0ed..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Chiudi tutto" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_object.xml b/indra/newview/skins/minimal/xui/it/menu_object.xml deleted file mode 100644 index a172cf3b265..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Tocca" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Tocca"/> - </menu_item_call> - <menu_item_call label="Modifica" name="Edit..."/> - <menu_item_call label="Costruisci" name="Build"/> - <menu_item_call label="Apri" name="Open"/> - <menu_item_call label="Siediti qui" name="Object Sit"/> - <menu_item_call label="Alzati" name="Object Stand Up"/> - <menu_item_call label="Profilo dell'oggetto" name="Object Inspect"/> - <menu_item_call label="Zoom avanti" name="Zoom In"/> - <context_menu label="Metti" name="Put On"> - <menu_item_call label="Indossa" name="Wear"/> - <menu_item_call label="Aggiungi" name="Add"/> - <context_menu label="Attacca" name="Object Attach"/> - <context_menu label="Attacca HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Gestisci" name="Remove"> - <menu_item_call label="Segnala abuso" name="Report Abuse..."/> - <menu_item_call label="Blocca" name="Object Mute"/> - <menu_item_call label="Restituisci" name="Return..."/> - </context_menu> - <menu_item_call label="Prendi" name="Pie Object Take"/> - <menu_item_call label="Prendi copia" name="Take Copy"/> - <menu_item_call label="Paga" name="Pay..."/> - <menu_item_call label="Acquista" name="Buy..."/> - <menu_item_call label="Elimina" name="Delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_object_icon.xml b/indra/newview/skins/minimal/xui/it/menu_object_icon.xml deleted file mode 100644 index 0f347b1a909..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Profilo oggetto..." name="Object Profile"/> - <menu_item_call label="Blocca..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/it/menu_outfit_gear.xml deleted file mode 100644 index 09fc867d7c4..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_outfit_gear.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Outfit"> - <menu_item_call label="Indossa - Sostituisci vestiario attuale" name="wear"/> - <menu_item_call label="Indossa - Aggiungi al vestiario attuale" name="wear_add"/> - <menu_item_call label="Togli - Rimuovi dal vestiario attuale" name="take_off"/> - <menu label="Nuovi abiti" name="New Clothes"> - <menu_item_call label="Nuova camicia" name="New Shirt"/> - <menu_item_call label="Nuovi pantaloni" name="New Pants"/> - <menu_item_call label="Nuove scarpe" name="New Shoes"/> - <menu_item_call label="Nuove calze" name="New Socks"/> - <menu_item_call label="Nuova giacca" name="New Jacket"/> - <menu_item_call label="Nuova gonna" name="New Skirt"/> - <menu_item_call label="Nuovi guanti" name="New Gloves"/> - <menu_item_call label="Nuova maglietta intima" name="New Undershirt"/> - <menu_item_call label="Nuovi slip" name="New Underpants"/> - <menu_item_call label="Nuovo Alpha (trasparenza)" name="New Alpha"/> - <menu_item_call label="Nuova fisica" name="New Physics"/> - <menu_item_call label="Nuovo tatuaggio" name="New Tattoo"/> - </menu> - <menu label="Nuove parti del corpo" name="New Body Parts"> - <menu_item_call label="Nuova figura corporea" name="New Shape"/> - <menu_item_call label="Nuova pelle" name="New Skin"/> - <menu_item_call label="Nuovi capelli" name="New Hair"/> - <menu_item_call label="Nuovi occhi" name="New Eyes"/> - </menu> - <menu_item_call label="Cambia nome del vestiario" name="rename"/> - <menu_item_call label="Elimina vestito" name="delete_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/it/menu_outfit_tab.xml deleted file mode 100644 index 8166cf20edc..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Indossa - Sostituisci vestiario attuale" name="wear_replace"/> - <menu_item_call label="Indossa - Aggiungi al vestiario attuale" name="wear_add"/> - <menu_item_call label="Togli - Rimuovi dal vestiario attuale" name="take_off"/> - <menu_item_call label="Modifica vestiario" name="edit"/> - <menu_item_call label="Cambia nome del vestiario" name="rename"/> - <menu_item_call label="Elimina vestito" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_participant_list.xml b/indra/newview/skins/minimal/xui/it/menu_participant_list.xml deleted file mode 100644 index 1b057c4077a..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Ordina in base al nome" name="SortByName"/> - <menu_item_check label="Ordina in base a intervenuti recenti" name="SortByRecentSpeakers"/> - <menu_item_call label="Vedi profilo" name="View Profile"/> - <menu_item_call label="Aggiungi amico" name="Add Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Condividi" name="Share"/> - <menu_item_call label="Paga" name="Pay"/> - <menu_item_check label="Icone persone" name="View Icons"/> - <menu_item_check label="Blocca voce" name="Block/Unblock"/> - <menu_item_check label="Blocca testo" name="MuteText"/> - <context_menu label="Opzioni moderatore" name="Moderator Options"> - <menu_item_check label="Consenti chat di testo" name="AllowTextChat"/> - <menu_item_call label="Disattiva audio di questo participante" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Riattiva audio di questo participante" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Disattiva audio di tutti" name="ModerateVoiceMute"/> - <menu_item_call label="Riattiva audio di tutti" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/it/menu_people_friends_view_sort.xml deleted file mode 100644 index 3a799f44ebb..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordina in base al nome" name="sort_name"/> - <menu_item_check label="Ordina in base allo stato" name="sort_status"/> - <menu_item_check label="Icone persone" name="view_icons"/> - <menu_item_check label="Visualizza autorizzazioni concesse" name="view_permissions"/> - <menu_item_call label="Mostra oggetti e residenti bloccati" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_groups.xml b/indra/newview/skins/minimal/xui/it/menu_people_groups.xml deleted file mode 100644 index 30a97a1c724..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Mostra informazioni" name="View Info"/> - <menu_item_call label="Chat" name="Chat"/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Attiva" name="Activate"/> - <menu_item_call label="Chiudi" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/it/menu_people_groups_view_sort.xml deleted file mode 100644 index d31ddaf1aa6..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Visualizza le icone di gruppo" name="Display Group Icons"/> - <menu_item_call label="Lascia i gruppi selezionati" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/it/menu_people_nearby.xml deleted file mode 100644 index ab06d28c36f..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Vedi profilo" name="View Profile"/> - <menu_item_call label="Aggiungi come amico" name="Add Friend"/> - <menu_item_call label="Rimuovi amico" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Mappa" name="Map"/> - <menu_item_call label="Condividi" name="Share"/> - <menu_item_call label="Paga" name="Pay"/> - <menu_item_check label="Blocca/Sblocca" name="Block/Unblock"/> - <menu_item_call label="Offri Teleport" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/it/menu_people_nearby_multiselect.xml deleted file mode 100644 index e0b9ceb63d8..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Aggiungi amici" name="Add Friends"/> - <menu_item_call label="Rimuovi amici" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Chiama" name="Call"/> - <menu_item_call label="Condividi" name="Share"/> - <menu_item_call label="Paga" name="Pay"/> - <menu_item_call label="Offri Teleport" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/it/menu_people_nearby_view_sort.xml deleted file mode 100644 index aae23137028..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordina in base a intervenuti recenti" name="sort_by_recent_speakers"/> - <menu_item_check label="Ordina in base al nome" name="sort_name"/> - <menu_item_check label="Ordina in base alla distanza" name="sort_distance"/> - <menu_item_check label="Icone persone" name="view_icons"/> - <menu_item_call label="Mostra oggetti e residenti bloccati" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/it/menu_people_recent_view_sort.xml deleted file mode 100644 index 7fccd1621ad..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Mostra prima i più recenti" name="sort_most"/> - <menu_item_check label="Ordina in base al nome" name="sort_name"/> - <menu_item_check label="Icone persone" name="view_icons"/> - <menu_item_call label="Mostra oggetti e residenti bloccati" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_picks.xml b/indra/newview/skins/minimal/xui/it/menu_picks.xml deleted file mode 100644 index 000d219ed0c..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Informazioni" name="pick_info"/> - <menu_item_call label="Modifica" name="pick_edit"/> - <menu_item_call label="Teleport" name="pick_teleport"/> - <menu_item_call label="Mappa" name="pick_map"/> - <menu_item_call label="Elimina" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/it/menu_picks_plus.xml deleted file mode 100644 index 7fbd5abd57d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Nuovo luogo preferito" name="create_pick"/> - <menu_item_call label="Nuovo annuncio" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_place.xml b/indra/newview/skins/minimal/xui/it/menu_place.xml deleted file mode 100644 index 5381a4effa1..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Salva come punto di riferimento" name="landmark"/> - <menu_item_call label="Crea Luogo consigliato" name="pick"/> - <menu_item_call label="Acquista Permesso" name="pass"/> - <menu_item_call label="Modifica" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/it/menu_place_add_button.xml deleted file mode 100644 index 0e783c0000d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Aggiungi cartella" name="add_folder"/> - <menu_item_call label="Aggiungi punto di riferimento" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/it/menu_places_gear_folder.xml deleted file mode 100644 index 23757d47e06..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_places_gear_folder.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_folder_gear"> - <menu_item_call label="Aggiungi punto di riferimento" name="add_landmark"/> - <menu_item_call label="Aggiungi cartella" name="add_folder"/> - <menu_item_call label="Ripristina oggetto" name="restore_item"/> - <menu_item_call label="Taglia" name="cut"/> - <menu_item_call label="Copia" name="copy_folder"/> - <menu_item_call label="Incolla" name="paste"/> - <menu_item_call label="Modifica nome" name="rename"/> - <menu_item_call label="Elimina" name="delete"/> - <menu_item_call label="Espandi" name="expand"/> - <menu_item_call label="Comprimi" name="collapse"/> - <menu_item_call label="Apri tutte le cartelle" name="expand_all"/> - <menu_item_call label="Chiudi tutte le cartelle" name="collapse_all"/> - <menu_item_check label="Ordina in base alla data" name="sort_by_date"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/it/menu_places_gear_landmark.xml deleted file mode 100644 index a458b1a7681..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_places_gear_landmark.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_ladmark_gear"> - <menu_item_call label="Teleport" name="teleport"/> - <menu_item_call label="Maggiori informazioni" name="more_info"/> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Aggiungi Punto di riferimento" name="add_landmark"/> - <menu_item_call label="Aggiungi cartella" name="add_folder"/> - <menu_item_call label="Ripristina oggetto" name="restore_item"/> - <menu_item_call label="Taglia" name="cut"/> - <menu_item_call label="Copia punto di riferimento" name="copy_landmark"/> - <menu_item_call label="Copia SLurl" name="copy_slurl"/> - <menu_item_call label="Incolla" name="paste"/> - <menu_item_call label="Modifica nome" name="rename"/> - <menu_item_call label="Elimina" name="delete"/> - <menu_item_call label="Apri tutte le cartelle" name="expand_all"/> - <menu_item_call label="Chiudi tutte le cartelle" name="collapse_all"/> - <menu_item_check label="Ordina in base alla data" name="sort_by_date"/> - <menu_item_call label="Crea Luogo consigliato" name="create_pick"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/it/menu_profile_overflow.xml deleted file mode 100644 index 56b695c597e..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Mappa" name="show_on_map"/> - <menu_item_call label="Paga" name="pay"/> - <menu_item_call label="Condividi" name="share"/> - <menu_item_call label="Blocca" name="block"/> - <menu_item_call label="Sblocca" name="unblock"/> - <menu_item_call label="Espelli" name="kick"/> - <menu_item_call label="Congela" name="freeze"/> - <menu_item_call label="Scongela" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/it/menu_save_outfit.xml deleted file mode 100644 index 4882a8ac646..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Salva" name="save_outfit"/> - <menu_item_call label="Salva con nome" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/it/menu_script_chiclet.xml deleted file mode 100644 index 604f754ba8e..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Chiudi" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_slurl.xml b/indra/newview/skins/minimal/xui/it/menu_slurl.xml deleted file mode 100644 index be83133efc1..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Informazioni sull'indirizzo URL" name="about_url"/> - <menu_item_call label="Teleportati all'indirizzo URL" name="teleport_to_url"/> - <menu_item_call label="Mappa" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/it/menu_teleport_history_gear.xml deleted file mode 100644 index 409a62c31b2..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Apri tutte le cartelle" name="Expand all folders"/> - <menu_item_call label="Chiudi tutte le cartelle" name="Collapse all folders"/> - <menu_item_call label="Cancella la cronologia Teleport" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/it/menu_teleport_history_item.xml deleted file mode 100644 index 81053fbd659..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teleport" name="Teleport"/> - <menu_item_call label="Maggiori informazioni" name="More Information"/> - <menu_item_call label="Copia negli appunti" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/it/menu_teleport_history_tab.xml deleted file mode 100644 index c221f141a68..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Apri" name="TabOpen"/> - <menu_item_call label="Chiudi" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_text_editor.xml b/indra/newview/skins/minimal/xui/it/menu_text_editor.xml deleted file mode 100644 index 4636ce99293..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Taglia" name="Cut"/> - <menu_item_call label="Copia" name="Copy"/> - <menu_item_call label="Incolla" name="Paste"/> - <menu_item_call label="Elimina" name="Delete"/> - <menu_item_call label="Seleziona tutto" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/it/menu_topinfobar.xml deleted file mode 100644 index 0beb9314de6..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Mostra le coordinate" name="Show Coordinates"/> - <menu_item_check label="Mostra proprietà del lotto" name="Show Parcel Properties"/> - <menu_item_call label="Punto di riferimento" name="Landmark"/> - <menu_item_call label="Copia" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_agent.xml b/indra/newview/skins/minimal/xui/it/menu_url_agent.xml deleted file mode 100644 index 37755d5749c..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra profilo residente" name="show_agent"/> - <menu_item_call label="Copia nome negli Appunti" name="url_copy_label"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_group.xml b/indra/newview/skins/minimal/xui/it/menu_url_group.xml deleted file mode 100644 index d9a792ebdfd..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra informazioni gruppo" name="show_group"/> - <menu_item_call label="Copia gruppo negli Appunti" name="url_copy_label"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_http.xml b/indra/newview/skins/minimal/xui/it/menu_url_http.xml deleted file mode 100644 index e0153d9169a..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Apri pagina Web" name="url_open"/> - <menu_item_call label="Apri nel browser interno" name="url_open_internal"/> - <menu_item_call label="Apri nel browser esterno" name="url_open_external"/> - <menu_item_call label="Copia URL negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/it/menu_url_inventory.xml deleted file mode 100644 index a45a6bbc107..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra oggetto dell'inventario" name="show_item"/> - <menu_item_call label="Copia nome negli Appunti" name="url_copy_label"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_map.xml b/indra/newview/skins/minimal/xui/it/menu_url_map.xml deleted file mode 100644 index cb7935b3ed3..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Teleport al luogo" name="teleport_to_location"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/it/menu_url_objectim.xml deleted file mode 100644 index 763e65f17c0..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra informazioni oggetto" name="show_object"/> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Teleport sul luogo dell'oggetto" name="teleport_to_object"/> - <menu_item_call label="Copia nome oggetto negli Appunti" name="url_copy_label"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/it/menu_url_parcel.xml deleted file mode 100644 index a032c33585b..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra informazioni lotto" name="show_parcel"/> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/it/menu_url_slapp.xml deleted file mode 100644 index b368aa91410..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Esegui questo comando" name="run_slapp"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/it/menu_url_slurl.xml deleted file mode 100644 index 355c7dbed9d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostra informazioni del luogo" name="show_place"/> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Teleport al luogo" name="teleport_to_location"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/it/menu_url_teleport.xml deleted file mode 100644 index c129e61f25b..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Teleport a questa destinazione" name="teleport"/> - <menu_item_call label="Mostra sulla mappa" name="show_on_map"/> - <menu_item_call label="Copia SLurl negli Appunti" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_viewer.xml b/indra/newview/skins/minimal/xui/it/menu_viewer.xml deleted file mode 100644 index 8353044f37b..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Aiuto" name="Help"> - <menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/> - </menu> - <menu label="Avanzate" name="Advanced"> - <menu label="Scorciatoie" name="Shortcuts"> - <menu_item_check label="Vola" name="Fly"/> - <menu_item_call label="Chiudi finestra" name="Close Window"/> - <menu_item_call label="Chiudi tutte le finestre" name="Close All Windows"/> - <menu_item_call label="Reimposta vista" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/it/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/it/menu_wearable_list_item.xml deleted file mode 100644 index c9a02d8a86f..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Sostituisci" name="wear_replace"/> - <menu_item_call label="Indossa" name="wear_wear"/> - <menu_item_call label="Aggiungi" name="wear_add"/> - <menu_item_call label="Togli / Stacca" name="take_off_or_detach"/> - <menu_item_call label="Stacca" name="detach"/> - <context_menu label="Attacca a" name="wearable_attach_to"/> - <context_menu label="Attacca a HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Togli" name="take_off"/> - <menu_item_call label="Modifica" name="edit"/> - <menu_item_call label="Profilo articolo" name="object_profile"/> - <menu_item_call label="Mostra originale" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/it/menu_wearing_gear.xml deleted file mode 100644 index 7c8eef64e5d..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Modifica vestiario" name="edit"/> - <menu_item_call label="Togli" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/it/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/it/menu_wearing_tab.xml deleted file mode 100644 index 4a5366091f1..00000000000 --- a/indra/newview/skins/minimal/xui/it/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Togli" name="take_off"/> - <menu_item_call label="Stacca" name="detach"/> - <menu_item_call label="Modifica vestiario" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/it/notifications.xml b/indra/newview/skins/minimal/xui/it/notifications.xml deleted file mode 100644 index 998e38ff5ac..00000000000 --- a/indra/newview/skins/minimal/xui/it/notifications.xml +++ /dev/null @@ -1,2951 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <global name="skipnexttime"> - Non mostrare più la prossima volta - </global> - <global name="alwayschoose"> - Scegli sempre questa opzione - </global> - <global name="implicitclosebutton"> - Chiudi - </global> - <template name="okbutton"> - <form> - <button name="OK_okbutton" text="$yestext"/> - </form> - </template> - <template name="okignore"> - <form> - <button name="OK_okignore" text="$yestext"/> - </form> - </template> - <template name="okcancelbuttons"> - <form> - <button name="OK_okcancelbuttons" text="$yestext"/> - <button name="Cancel_okcancelbuttons" text="$notext"/> - </form> - </template> - <template name="okcancelignore"> - <form> - <button name="OK_okcancelignore" text="$yestext"/> - <button name="Cancel_okcancelignore" text="$notext"/> - </form> - </template> - <template name="okhelpbuttons"> - <form> - <button name="OK_okhelpbuttons" text="$yestext"/> - <button name="Help" text="$helptext"/> - </form> - </template> - <template name="yesnocancelbuttons"> - <form> - <button name="Yes" text="$yestext"/> - <button name="No" text="$notext"/> - <button name="Cancel_yesnocancelbuttons" text="$canceltext"/> - </form> - </template> - <notification functor="GenericAcknowledge" label="Messaggio di notifica sconosciuto" name="MissingAlert"> - La versione di [APP_NAME] non riesce a visualizzare la notifica appena ricevuta. Verifica di avere l'ultima versione del Viewer installata. - -Dettagli errore: La notifica denominata '[_NAME]' non è stata trovata in notifications.xml. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FloaterNotFound"> - Errore visualizzazione finestra: Non trovati i seguenti controlli: - -[CONTROLS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TutorialNotFound"> - Nessun tutorial disponibile al momento. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GenericAlert"> - [MESSAGE] - </notification> - <notification name="GenericAlertYesCancel"> - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Si"/> - </notification> - <notification name="BadInstallation"> - Il programma [APP_NAME] ha riscontrato un'errore durante il tentativo di aggiornamento. [http://get.secondlife.com Scarica l'ultima versione] del Viewer. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LoginFailedNoNetwork"> - Non è possibile collegarsi alla [SECOND_LIFE_GRID]. - '[DIAGNOSTIC]' -Accertati che la tua connessione Internet stia funzionando correttamente. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MessageTemplateNotFound"> - Il modello di messaggio [PATH] non è stato trovato. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="WearableSave"> - Salva i cambiamenti all'attuale parte del corpo/abito? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Non salvare" yestext="Salva"/> - </notification> - <notification name="CompileQueueSaveText"> - C'è stato un problema importando il testo di uno script per la seguente ragione: [REASON]. Riprova più tardi. - </notification> - <notification name="CompileQueueSaveBytecode"> - C'è stato un problema importando lo script compilato per la seguente ragione: [REASON]. Riprova più tardi. - </notification> - <notification name="WriteAnimationFail"> - C'è stato un problema di scrittura dati dell'animazione. Riprova più tardi. - </notification> - <notification name="UploadAuctionSnapshotFail"> - C'è stato un problema importando la fotografia dell'asta per la seguente ragione: [REASON] - </notification> - <notification name="UnableToViewContentsMoreThanOne"> - Non è possibile vedere il contenuto di più di un elemento per volta. -Scegli solo un oggetto e riprova. - </notification> - <notification name="SaveClothingBodyChanges"> - Salva tutte le modifiche alle parti del corpo/abiti? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Non Salvare" yestext="Salva Tutto"/> - </notification> - <notification name="FriendsAndGroupsOnly"> - Chi non è tuo amico non saprà che hai scelto di ignorare le loro chiamate e IM. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FavoritesOnLogin"> - Nota: Se attivi questa opzione, chiunque usa questo computer può vedere l'elenco di luoghi preferiti. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GrantModifyRights"> - Quando concedi i diritti di modifica ad un altro residente, gli permetti di modificare, eliminare o prendere QUALSIASI oggetto che possiedi in Second Life. Pertanto ti consigliamo di essere ben sicuro quando concedi questo diritto. -Vuoi concedere i diritti di modifica a [NAME]? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="GrantModifyRightsMultiple"> - Quando concedi i diritti di modifica ad un altro residente, gli permetti di modificare QUALSIASI oggetto che possiedi in Second Life. Pertanto ti consigliamo di essere ben sicuro quando concedi questo diritto. -Vuoi concedere i diritti di modifica ai residenti selezionati? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="RevokeModifyRights"> - Vuoi revocare i diritti di modifica di [NAME]? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="RevokeModifyRightsMultiple"> - Vuoi revocare i permessi di modifica dati ai residenti selezionati? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="UnableToCreateGroup"> - Non è possibile creare il gruppo. -[MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PanelGroupApply"> - [NEEDS_APPLY_MESSAGE] -[WANT_APPLY_MESSAGE] - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Ignora le modifiche" yestext="Applica le modifiche"/> - </notification> - <notification name="MustSpecifyGroupNoticeSubject"> - Devi specificare un oggetto per mandare una notice al gruppo. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AddGroupOwnerWarning"> - Stai per aggiungere dei membri al ruolo [ROLE_NAME]. -Non si possono rimuovere membri da quel ruolo. -I membri devono dimettersi volontariamente dal ruolo. -Confermi l'operazione? - <usetemplate ignoretext="Conferma prima di aggiungere un nuovo proprietario del gruppo" name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="AssignDangerousActionWarning"> - Stai per aggiungere il potere '[ACTION_NAME]' al ruolo '[ROLE_NAME]'. - - *ATTENZIONE* - Ogni membro di un ruolo con questo potere può assegnare a sè stesso -- e a qualunque altro membro -- ruoli che hanno più poteri di quelli che hanno correntemente, potenzialmente consentendogli di avere quasi i poteri del proprietario. Accertati di sapere quello che stai facendo prima di assegnare questo potere. - -Aggiungi questo potere a '[ROLE_NAME]'? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="AssignDangerousAbilityWarning"> - Stai per aggiungere il potere '[ACTION_NAME]' al ruolo '[ROLE_NAME]'. - - *ATTENZIONE* - Ogni membro di un ruolo con questo potere può assegnare a sè stesso -- e a qualunque altro membro -- tutti i poteri, elevandosi al livello di quasi proprietario. - -Aggiungi questo potere a '[ROLE_NAME]'? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="AttachmentDrop"> - Stai per abbandonare il tuo accessorio. - Vuoi continuare? - <usetemplate ignoretext="Conferma prima di distaccare gli accessori" name="okcancelignore" notext="No" yestext="Sì"/> - </notification> - <notification name="JoinGroupCanAfford"> - Iscriversi a questo gruppo costa [COST]L$. -Vuoi proseguire? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Iscriviti"/> - </notification> - <notification name="JoinGroupNoCost"> - Aderisci al gruppo [NAME]. -Continuare? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Iscriviti"/> - </notification> - <notification name="JoinGroupCannotAfford"> - Iscriversi a questo gruppo costa [COST]L$. -Non hai abbastanza L$ per iscriverti a questo gruppo. - </notification> - <notification name="CreateGroupCost"> - La creazione di questo gruppo costerà L$ 100. -I gruppi devono avere più di un partecipante, o saranno eliminati definitivamente. -Invita altri partecipanti entro le prossime 48 ore. - <usetemplate canceltext="Annulla" name="okcancelbuttons" notext="Annulla" yestext="Crea un gruppo per L$ 100"/> - </notification> - <notification name="LandBuyPass"> - Pagando [COST]L$ puoi entrare in questa terra ('[PARCEL_NAME]') per [TIME] ore. Compri un pass? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="SalePriceRestriction"> - Il prezzo di vendita deve essere superiore a 0L$ se vendi a tutti. -Seleziona una vendita individuale per vendere a 0L$. - </notification> - <notification name="ConfirmLandSaleChange"> - Il terreno selezionato di [LAND_SIZE] m² sta per essere messo in vendita. -Il tuo prezzo di vendità è [SALE_PRICE]L$ ed è autorizzato alla vendita a [NAME]. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmLandSaleToAnyoneChange"> - ATTENZIONE: Quando selezioni 'vendi a tutti', rendi questo terreno disponibile all'intera comunità di [SECOND_LIFE], anche alle persone che non si trovano in questa regione. - -Il terrendo selezionato di [LAND_SIZE] m² sta per essere messo in vendita. -Il prezzo di vendità sarà [SALE_PRICE]L$ e [NAME] viene autorizzato alla vendita. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsDeededToGroup"> - Confermi di volere restituire tutti gli oggetti condivisi con il gruppo '[NAME]' di questo terreno agli inventari dei proprietari precedenti? - -*ATTENZIONE* Questo cancellerà gli oggetti non trasferibili ceduti al gruppo! - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedByUser"> - Confermi di volere restituire tutti gli oggetti posseduti dal residente '[NAME]' in questo terreno al suo inventario? - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedBySelf"> - Confermi di volere restituire tutti gli oggetti posseduti da te in questo terreno, di nuovo nel tuo inventario? - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedBySelf"> - Confermi di volere restituire tutti gli oggetti di cui NON sei proprietario in questo terreno all'inventario dei rispettivi proprietari? -Gli oggetti trasferibili ceduti al gruppo verranno restituiti ai loro proprietari precedenti. - -*ATTENZIONE* Questo cancellerà gli oggetti non trasferibili ceduti al gruppo! - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByUser"> - Confermi di volere restituire tutti gli oggetti NON posseduti da [NAME] in questo terreno nell'inventario dei loro proprietari? -Gli oggetti trasferibili ceduti al gruppo verranno restituiti ai loro proprietari precedenti. - -*ATTENZIONE* Questo cancellerà gli oggetti non trasferibili ceduti al gruppo! - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnAllTopObjects"> - Confermi di volere restituire tutti gli oggetti elencati nell'inventario dei loro proprietari? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="DisableAllTopObjects"> - Confermi di volere disabilitare tutti gli oggetti in questa regione? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByGroup"> - Restituisci gli oggetti in questo terreno che NON sono condivisi con il gruppo [NAME] ai loro proprietari? - -Oggetti: [N] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="UnableToDisableOutsideScripts"> - Non è possibile disabilitare gli script. -L'intera regione ha l'abilitazione danni. -Gli script devono essere autorizzati all'esecuzione affinchè le armi funzionino. - </notification> - <notification name="MultipleFacesSelected"> - Sono state selezionate più facce. -Se prosegui con questa azione, sulle diverse facce dell'oggetto verranno definite sessioni multimediali distinte. -Per collocare il media su una sola faccia, scegli Seleziona faccia, clicca su una faccia e clicca su Aggiungi. - <usetemplate ignoretext="Il canale multimediale sarà impostato su più facce selezionate" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="MustBeInParcel"> - Devi essere dentro il terreno per impostare il suo Punto di Atterraggio. - </notification> - <notification name="PromptRecipientEmail"> - Introduci un indirizzo email per il destinatario/i. - </notification> - <notification name="PromptSelfEmail"> - Introduci il tuo indirizzo email. - </notification> - <notification name="PromptMissingSubjMsg"> - Invia la foto via email con soggetto o messaggio predefinito? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ErrorProcessingSnapshot"> - Errore nell'elaborazione della fotografia. - </notification> - <notification name="ErrorEncodingSnapshot"> - Errore nella codifica della fotografia. - </notification> - <notification name="ErrorUploadingPostcard"> - C'è stato un problema inviando la fotografia per il seguente motivo: [REASON] - </notification> - <notification name="ErrorUploadingReportScreenshot"> - C'è stato un problema importando la foto del rapporto per il seguente motivo: [REASON] - </notification> - <notification name="MustAgreeToLogIn"> - Devi accettare i Termini di Servizio prima di proseguire il collegamento con [SECOND_LIFE]. - </notification> - <notification name="CouldNotPutOnOutfit"> - Non è stato possibile indossare un equipaggiamento. -La cartella equipaggiamento non contiene abbigliamento, parti del corpo o attachment. - </notification> - <notification name="CannotWearTrash"> - Non puoi indossare abiti e parti del corpo che sono nel cestino - </notification> - <notification name="MaxAttachmentsOnOutfit"> - L'oggetto non può essere collegato. -Superato il limite di oggetti collegati [MAX_ATTACHMENTS]. Per favore prima stacca un altro oggetto. - </notification> - <notification name="CannotWearInfoNotComplete"> - Non puoi indossare quell'elemento perchè non è ancora stato caricato. Riprova fra un minuto. - </notification> - <notification name="MustHaveAccountToLogIn"> - Spiacenti. Un campo è vuoto. -Inserisci il Nome utente del tuo avatar. - -Devi avere un account per entrare in [SECOND_LIFE]. Vuoi crearne uno adesso? - <url name="url"> - https://join.secondlife.com/index.php?lang=it-IT - </url> - <usetemplate name="okcancelbuttons" notext="Riprova" yestext="Crea un nuovo account"/> - </notification> - <notification name="InvalidCredentialFormat"> - Immetti il nome utente oppure sia il nome che il cognome del tuo avatar nel campo del nome utente, quindi effettua nuovamente l'accesso. - </notification> - <notification name="DeleteClassified"> - Cancella annuncio '[NAME]'? -Non ci sono rimborsi per la tariffa pagata. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="DeleteMedia"> - Hai selezionato la cancellazione del media associato a questa faccia. -Vuoi continuare? - <usetemplate ignoretext="Conferma prima di eliminare elementi multimediali dall'oggetto" name="okcancelignore" notext="No" yestext="Sì"/> - </notification> - <notification name="ClassifiedSave"> - Salva le modifiche all'annuncio [NAME]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Non salvare" yestext="Salva"/> - </notification> - <notification name="ClassifiedInsufficientFunds"> - Denaro insufficiente per creare un'inserzione. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeleteAvatarPick"> - Elimina preferito <nolink>[PICK]</nolink>? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="DeleteOutfits"> - Elimina il vestiario selezionato? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="PromptGoToEventsPage"> - Vai alla pagina degli eventi di [SECOND_LIFE]? - <url name="url"> - http://secondlife.com/events/?lang=it-IT - </url> - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="SelectProposalToView"> - Scegli una proposta da vedere. - </notification> - <notification name="SelectHistoryItemToView"> - Scegli un item storico da vedere. - </notification> - <notification name="CacheWillClear"> - La cache verrà cancellata dopo il riavvio di [APP_NAME]. - </notification> - <notification name="CacheWillBeMoved"> - La cache verrà spostata dopo il riavvio di [APP_NAME]. -Nota: questa operazione cancellerà la cache. - </notification> - <notification name="ChangeConnectionPort"> - Le impostazioni della porta avranno effetto dopo il riavvio di [APP_NAME]. - </notification> - <notification name="ChangeSkin"> - La nuova pelle comparirà dopo il riavvio di [APP_NAME]. - </notification> - <notification name="ChangeLanguage"> - La modifica della lingua avrà effetto dopo il riavvio di [APP_NAME]. - </notification> - <notification name="GoToAuctionPage"> - Vai alla pagina web [SECOND_LIFE] per vedere i dettagli dell'asta oppure fai un'offerta? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="SaveChanges"> - Salva le modifiche? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Non salvare" yestext="Salva"/> - </notification> - <notification name="GestureSaveFailedTooManySteps"> - Il salvataggio della Gesture è fallito. -La gesture ha troppi passi. -Prova a togliere qualche passo e quindi risalva. - </notification> - <notification name="GestureSaveFailedTryAgain"> - Il salvataggio della gesture è fallito. Riprova fra un minuto. - </notification> - <notification name="GestureSaveFailedObjectNotFound"> - Non è possibile salvare la gesture perchè non è stato trovato l'oggetto o l'inventario associato. -L'oggetto potrebbe essere troppo lontano oppure essere stato cancellato. - </notification> - <notification name="GestureSaveFailedReason"> - C'è stato un problema salvando la gesture a causa del seguente motivo: [REASON]. Riprova a salvare la gesture più tardi. - </notification> - <notification name="SaveNotecardFailObjectNotFound"> - Non è possibile salvare la notecard perchè non è stato trovato l'oggetto o l'inventario associato. -L'oggetto potrebbe essere troppo lontano oppure essere stato cancellato. - </notification> - <notification name="SaveNotecardFailReason"> - C'è stato un problema salvando la notecard a causa del seguente motivo: [REASON]. Riprova a salvare la notecard più tardi. - </notification> - <notification name="ScriptCannotUndo"> - Non è stato possibile annullare tutti i cambiamenti nella tua versione dello script. -Vuoi ripristinare l'ultima versione salvata sul server? -(**Attenzione** Questa operazione non è reversibile) - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="SaveScriptFailReason"> - C'è stato un problema salvando lo script a causa del seguente motivo : [REASON]. Riprova a salvare lo script più tardi. - </notification> - <notification name="SaveScriptFailObjectNotFound"> - Non è stato possibile salvare lo script perchè l'oggetto che lo contiene non è stato trovato. -L'oggetto potrebbe essere troppo lontano oppure essere stato cancellato. - </notification> - <notification name="SaveBytecodeFailReason"> - C'è stato un problema salvando lo script compilato a causa del seguente motivo: [REASON]. Riprova a salvare lo script più tardi. - </notification> - <notification name="StartRegionEmpty"> - La tua Regione di inizio non è stata definita. -Per scegliere il luogo dove vuoi trovarti all'accesso, digita il nome della regione nel campo del luogo di partenza oppure scegli La mia ultima Ubicazione o Casa mia. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CouldNotStartStopScript"> - Non è stato possibile lanciare o fermare lo script perchè l'oggetto che lo contiene non è stato trovato. -L'oggetto potrebbe essere troppo lontano oppure essere stato cancellato. - </notification> - <notification name="CannotDownloadFile"> - Non è stato possibile scaricare il file - </notification> - <notification name="CannotWriteFile"> - Non è stato possibile scrivere il file [[FILE]] - </notification> - <notification name="UnsupportedHardware"> - Ti informiamo che il tuo computer non dispone dei requisiti minimi di sistema per [APP_NAME]. Il funzionamento può pertanto risultare ridotto. Purtroppo la pagina [SUPPORT_SITE] non può fornire assistenza tecnica in caso di problemi dovuti a configurazioni di sistema non compatibili. - -Visitare [_URL] per ulteriori informazioni? - <url name="url" option="0"> - http://secondlife.com/support/sysreqs.php?lang=it - </url> - <usetemplate ignoretext="L'hardware di questo computer non è compatibile" name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="UnknownGPU"> - Il tuo sistema utilizza una scheda grafica che [APP_NAME] non riconosce. -Questo succede spesso con un nuovo hardware che non è stato ancora testato con [APP_NAME]. Probabilmente tutto andrà bene, ma devi riconfigurare le tue impostazioni grafiche. -(Io > Preferenze > Grafica). - <form name="form"> - <ignore name="ignore" text="La tua scheda grafica non è stata riconosciuta"/> - </form> - </notification> - <notification name="DisplaySettingsNoShaders"> - L'esecuzione di [APP_NAME] si è interrotta durante l'inizializzazione dei driver grafici. -La qualità grafica verrà impostata a livello basso per evitare alcuni errori comuni di driver. Alcune funzionalità grafiche saranno disattivate. -Si consiglia di aggiornare i driver della scheda grafica. -La qualità grafica può essere aumentata in Preferenze > Grafica. - </notification> - <notification name="RegionNoTerraforming"> - La regione [REGION] non consente di terraformare. - </notification> - <notification name="CannotCopyWarning"> - Non hai l'autorizzazione a copiare i seguenti oggetti: -[ITEMS] -e se li dai via, verranno eliminati dal tuo inventario. Sicuro di volere offrire questi oggetti? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="CannotGiveItem"> - Impossibile consegnare l'elemento dell'inventario. - </notification> - <notification name="TransactionCancelled"> - La transazione è stata annullata. - </notification> - <notification name="TooManyItems"> - Non è possibile dare più di 42 elementi in un singolo trasferimento di inventario. - </notification> - <notification name="NoItems"> - Non hai i permessi di trasferimento per gli elementi selezionati. - </notification> - <notification name="CannotCopyCountItems"> - Non hai i permessi di copia per copiare [COUNT] -degli elementi selezionati. Perderai questi elementi dal tuo inventario. -Vuoi veramente perdere questi elementi? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="CannotGiveCategory"> - Non hai i permessi per trasferire la cartella selezionata. - </notification> - <notification name="FreezeAvatar"> - Immobilizza questo avatar? -Non potrà temporaneamente muoversi, chiacchierare in chat, o interagire con il mondo. - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Smobilizza" yestext="Immobilizza"/> - </notification> - <notification name="FreezeAvatarFullname"> - Immobilizza [AVATAR_NAME]? -Non potrà temporaneamente muoversi, chiacchierare in chat, o interagire con il mondo. - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Smobilizza" yestext="Immobilizza"/> - </notification> - <notification name="EjectAvatarFullname"> - Espelli [AVATAR_NAME] dal tuo terreno? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Espelli e blocca" yestext="Espelli"/> - </notification> - <notification name="EjectAvatarNoBan"> - Espelli questo avatar dal tuo terreno? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Espelli"/> - </notification> - <notification name="EjectAvatarFullnameNoBan"> - Espelli [AVATAR_NAME] dal tuo terreno? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Espelli"/> - </notification> - <notification name="EjectAvatarFromGroup"> - Hai espulso [AVATAR_NAME] dal gruppo [GROUP_NAME] - </notification> - <notification name="AcquireErrorTooManyObjects"> - ERRORE DI ACQUISIZIONE: hai selezionato troppi oggetti. - </notification> - <notification name="AcquireErrorObjectSpan"> - ERRORE DI ACQUISIZIONE: Gli oggetti sono a cavallo di più di una regione. -Sposta tutti gli oggetti che vuoi acquisire su una sola regione. - </notification> - <notification name="PromptGoToCurrencyPage"> - [EXTRA] - -Vai su [_URL] per informazioni sull'acquisto di L$? - <url name="url"> - http://secondlife.com/app/currency/?lang=it-IT - </url> - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="UnableToLinkObjects"> - Impossibile unire questi [COUNT] oggetti. -Puoi unire al massimo [MAX] oggetti. - </notification> - <notification name="CannotLinkIncompleteSet"> - Puoi unire soltanto un insieme completo di oggetti, e devi selezionare più di un oggetto. - </notification> - <notification name="CannotLinkModify"> - Impossibile unire perchè non hai il diritto di modifica su tutti gli oggetti. - -Accertati che nessuno sia bloccato e che li possiedi tutti. - </notification> - <notification name="CannotLinkDifferentOwners"> - Impossibile unire perche non tutti gli oggetti hanno lo stesso proprietario. - -Accertati di possedere tutti gli oggetti selezionati. - </notification> - <notification name="NoFileExtension"> - Manca l'estensione per il file: '[FILE]' - -Accertati che il file abbia una estensione corretta. - </notification> - <notification name="InvalidFileExtension"> - L'estensione [EXTENSION] del file non è valida -Attese [VALIDS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotUploadSoundFile"> - Impossibile aprire in lettura il file di suono importato: -[FILE] - </notification> - <notification name="SoundFileNotRIFF"> - Il file audio non sembra essere di tipo RIFF WAVE: -[FILE] - </notification> - <notification name="SoundFileNotPCM"> - Il file audio non sembra essere di tipo PCM WAVE: -[FILE] - </notification> - <notification name="SoundFileInvalidChannelCount"> - Il file ha un numero sbagliato di canali (deve essere mono oppure stereo): -[FILE] - </notification> - <notification name="SoundFileInvalidSampleRate"> - Il file non sembra essere della frequenza di campionamento supportata (deve essere 44.1k): -[FILE] - </notification> - <notification name="SoundFileInvalidWordSize"> - Il file non sembra avere una dimensione della parola supportata (deve essere a 8 o a 16 bit): -[FILE] - </notification> - <notification name="SoundFileInvalidHeader"> - Impossibile trovare il frammento 'data' nell'intestazione WAV: -[FILE] - </notification> - <notification name="SoundFileInvalidChunkSize"> - Dimensione chunk nel file WAV: -[FILE] - </notification> - <notification name="SoundFileInvalidTooLong"> - Il file audio è troppo lungo (deve essere al massimo 10 secondi): -[FILE] - </notification> - <notification name="ProblemWithFile"> - Problemi con il file [FILE]: - -[ERROR] - </notification> - <notification name="CannotOpenTemporarySoundFile"> - Impossibile aprire in scrittura il file temporaneamente compresso: [FILE] - </notification> - <notification name="UnknownVorbisEncodeFailure"> - Errore di codifica Vorbis sconosciuta per: [FILE] - </notification> - <notification name="CannotEncodeFile"> - Impossibile codificare il file: [FILE] - </notification> - <notification name="CorruptedProtectedDataStore"> - Impossibile inserire nome utente e password. Ciò può succedere alla modifica delle impostazioni di rete. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CorruptResourceFile"> - File risorsa corrotto: [FILE] - </notification> - <notification name="UnknownResourceFileVersion"> - Versione di risorsa Linden sconosciuta nel file: [FILE] - </notification> - <notification name="UnableToCreateOutputFile"> - Impossibile creare il file in uscita: [FILE] - </notification> - <notification name="DoNotSupportBulkAnimationUpload"> - [APP_NAME] non supporta ancora il caricamento in blocco di file di animazione. - </notification> - <notification name="CannotUploadReason"> - Impossibile importare il file [FILE] a causa del seguente motivo: [REASON] -Riprova più tardi. - </notification> - <notification name="LandmarkCreated"> - Hai aggiunto "[LANDMARK_NAME]" alla tua cartella [FOLDER_NAME]. - </notification> - <notification name="LandmarkAlreadyExists"> - Hai già il punto di riferimento di questo luogo. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotCreateLandmarkNotOwner"> - Non puoi creare qui un landmark perchè il proprietario di questo terreno non lo consente. - </notification> - <notification name="CannotRecompileSelectObjectsNoScripts"> - Impossibile fare la 'ricompilazione'. -Seleziona un oggetto con uno script. - </notification> - <notification name="CannotRecompileSelectObjectsNoPermission"> - Impossibile fare la 'ricompilazione'. - -Seleziona oggetti con script su cui hai i permessi di modifica. - </notification> - <notification name="CannotResetSelectObjectsNoScripts"> - Impossibile fare 'ripristino'. - -Seleziona oggetti con degli script. - </notification> - <notification name="CannotResetSelectObjectsNoPermission"> - Impossibile fare 'ripristino'. - -Seleziona oggetti con script su cui hai i permessi di modifica. - </notification> - <notification name="CannotOpenScriptObjectNoMod"> - Impossibile aprire la script dell'oggetto senza i diritti di modifica. - </notification> - <notification name="CannotSetRunningSelectObjectsNoScripts"> - Impossibile mettere 'in esecuzione' gli script. - -Seleziona oggetti con script. - </notification> - <notification name="CannotSetRunningNotSelectObjectsNoScripts"> - Impossibile impostare script a 'non in esecuzione'. - -Seleziona oggetti con script. - </notification> - <notification name="NoFrontmostFloater"> - Non c'è nessuna finestra in evidenza (in primo piano) da salvare. - </notification> - <notification name="SeachFilteredOnShortWords"> - La tua ricerca è stata modificata. -Le parole troppo corte sono state rimosse. - -Ho cercato: [FINALQUERY] - </notification> - <notification name="SeachFilteredOnShortWordsEmpty"> - Le parole che hai usato per la ricerca sono troppo corte e non è stato possibile iniziare la ricerca. - </notification> - <notification name="CouldNotTeleportReason"> - Teleport non riuscito. -[REASON] - </notification> - <notification name="invalid_tport"> - C'è stato un problema nell'elaborare la tua richiesta di teleport. Potresti dover effettuare nuovamente l'accesso prima di poter usare il teleport. -Se si continua a visualizzare questo messaggio, consulta la pagina [SUPPORT_SITE]. - </notification> - <notification name="invalid_region_handoff"> - Si è verificato un problema nel tentativo di attraversare regioni. È possibile che per potere attraversare le regioni, tu debba effettuare nuovamente l'accesso. -Se si continua a visualizzare questo messaggio, consulta la pagina [SUPPORT_SITE]. - </notification> - <notification name="blocked_tport"> - Spiacenti, il teletrasporto è bloccato al momento. Prova di nuovo tra pochi istanti. Se ancora non potrai teletrasportarti, per favore scollegati e ricollegati per risolvere il problema. - </notification> - <notification name="nolandmark_tport"> - Spiacenti, ma il sistema non riesce a localizzare la destinazione del landmark - </notification> - <notification name="timeout_tport"> - Spiacenti, il sistema non riesce a completare il teletrasporto. Riprova tra un attimo. - </notification> - <notification name="noaccess_tport"> - Spiacenti, ma non hai accesso nel luogo di destinazione richiesto. - </notification> - <notification name="missing_attach_tport"> - Gli oggetti da te indossati non sono ancoa arrivati. Attendi ancora qualche secondo o scollegati e ricollegati prima di provare a teleportarti. - </notification> - <notification name="too_many_uploads_tport"> - Il server della regione è al momento occupato e la tua richiesta di teletrasporto non può essere soddisfatta entro breve tempo. Per favore prova di nuovo tra qualche minuto o spostati in un'area meno affollata. - </notification> - <notification name="expired_tport"> - Spiacenti, il sistema non riesce a soddisfare la tua richiesta di teletrasporto entro un tempo ragionevole. Riprova tra qualche minuto. - </notification> - <notification name="expired_region_handoff"> - Spiacenti, il sistema non riesce a completare il cambio di regione entro un tempo ragionevole. Riprova tra qualche minuto. - </notification> - <notification name="no_host"> - Impossibile trovare la destinazione del teletrasporto; potrebbe essere temporaneamente non accessibile o non esistere più. Riprovaci tra qualche minuto. - </notification> - <notification name="no_inventory_host"> - L'inventario è temporaneamente inaccessibile. - </notification> - <notification name="CannotSetLandOwnerNothingSelected"> - Impossibile impostare il proprietario del terreno: -Nessun terreno selezionato. - </notification> - <notification name="CannotSetLandOwnerMultipleRegions"> - Impossibile forzare la proprietà del terreno perchè la selezione si estende su diverse regioni. Seleziona una area più piccola e riprova. - </notification> - <notification name="ForceOwnerAuctionWarning"> - Questo lotto è all'asta. La designazione di un proprietario determinerà l'annullamento automatico dell'asta e probabilmente può scontentare qualche residente se l'asta è già iniziata. -Vuoi designare un proprietario? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="CannotContentifyNothingSelected"> - Impossibile fare la contentificazione: -Nessun terreno selezionato. - </notification> - <notification name="CannotContentifyNoRegion"> - Impossibile fare la contentificazione: -Nessuna regione selezionata. - </notification> - <notification name="CannotReleaseLandNothingSelected"> - Impossibile abbandonare il terreno: -Nessun terreno selezionato. - </notification> - <notification name="CannotReleaseLandNoRegion"> - Impossibile abbandonare il terreno: -Non riesco a trovare la regione. - </notification> - <notification name="CannotBuyLandNothingSelected"> - Impossibile comprare il terreno: -Nessun terreno selezionato. - </notification> - <notification name="CannotBuyLandNoRegion"> - Impossibile comprare il terreno: -Non riesco a trovare la regione dove è situato il terreno. - </notification> - <notification name="CannotCloseFloaterBuyLand"> - Non puoi chiudere la finestra Acquista terreno finché [APP_NAME] non finisce di stimare il prezzo di questa transazione. - </notification> - <notification name="CannotDeedLandNothingSelected"> - Impossibile cedere il terreno: -Nessun terreno selezionato. - </notification> - <notification name="CannotDeedLandNoGroup"> - Impossibile cedere il terreno: -Nessun gruppo selezionato. - </notification> - <notification name="CannotDeedLandNoRegion"> - Non è possibile effettuare la cessione del terreno: -Impossibile trovare la regione in cui si trova il terreno. - </notification> - <notification name="CannotDeedLandMultipleSelected"> - Impossibile cedere il terreno: -Hai selezionato più di un terreno. - -Prova a selezionare un solo terreno. - </notification> - <notification name="CannotDeedLandWaitingForServer"> - Impossibile cedere il terreno: -Sto aspettando il server per segnalare la proprietà . - -Riprova di nuovo. - </notification> - <notification name="CannotDeedLandNoTransfer"> - Impossibile cedere il terreno: -La regione [REGION] non consente il trasferimento di terreni. - </notification> - <notification name="CannotReleaseLandWatingForServer"> - Impossibile abbandonare il terreno: -Sto aspettando il server per aggiornare le informazioni del terreno. - -Riprova fra poco. - </notification> - <notification name="CannotReleaseLandSelected"> - Impossibile abbandonare il terreno: -Non possiedi tutti i terreni selezionati. - -Seleziona un solo terreno. - </notification> - <notification name="CannotReleaseLandDontOwn"> - Impossibile abbandonare il terreno: -Non hai i permessi per rilasciare questo terreno. -I terreni di tua proprietà vengono visualizzati in verde. - </notification> - <notification name="CannotReleaseLandRegionNotFound"> - Non è possibile abbandonare il terreno: -Impossibile trovare la regione in cui si trova il terreno. - </notification> - <notification name="CannotReleaseLandNoTransfer"> - Impossibile abbandonare il terreno: -La regione [REGION] non consente il trasferimento di terreni. - </notification> - <notification name="CannotReleaseLandPartialSelection"> - Impossibile abbandonare il terreno: -Devi selezionare un terreno intero per rilasciarla. - -Seleziona un terreno intero, oppure dividi prima il tuo terreno. - </notification> - <notification name="ReleaseLandWarning"> - Stai per rilasciare [AREA] m² di terreno. -Rilasciare questo appezzamento di terreno lo toglierà dalle tue proprietà , ma non ti verranno dati L$. - -Rilasciare questo terreno? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNothingSelected"> - Impossibile dividere il terreno: - -Non sono stati selezionati terreni. - </notification> - <notification name="CannotDivideLandPartialSelection"> - Impossibile dividere il terreno: - -Hai selezionato unintero terreno. -Prova a selezionare unappezzamento di terreno. - </notification> - <notification name="LandDivideWarning"> - La suddivisione di questo terreno lo dividerà in due parti ed ognuna potrà avere le sue impostazioni. Alcune impostazioni verranno reimpostate ai valori iniziali dopo l'operazione. - -Dividi il terreno? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNoRegion"> - Non è possibile suddividere il terreno: -Impossibile trovare la regione in cui si trova il terreno. - </notification> - <notification name="CannotJoinLandNoRegion"> - Non è possibile unire il terreno: -Impossibile trovare la regione in cui si trova il terreno. - </notification> - <notification name="CannotJoinLandNothingSelected"> - Impossibile unire il terreno: -Non hai selezionato terreno. - </notification> - <notification name="CannotJoinLandEntireParcelSelected"> - Impossibile unire il terreno: -Hai selezionato un solo terreno. - -Devi selezionare il terreno comprendendo entrambi gli appezzamenti. - </notification> - <notification name="CannotJoinLandSelection"> - Impossibile unire il terreno: -Devi selezionare più di un terreno. - -Devi selezionare il terreno comprendendo entrambi gli appezzamenti. - </notification> - <notification name="JoinLandWarning"> - Unire questi appezzamenti creerà un terreno più grande a partire da tutti gli appezzamenti che si intersecano nel rettangolo selezionato. -Dovrai reimpostare il nome e le opzioni del nuovo terreno. - -Unisci il terreno? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmNotecardSave"> - Questa notecard deve essere salvata prima che l'elemento possa essere copiato o visualizzato. Salva la notecard? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmItemCopy"> - Copia questo elemento nel tuo inventario? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Copia"/> - </notification> - <notification name="ResolutionSwitchFail"> - Non sono riuscito a cambiare la risoluzione al valore [RESX] x [RESY] - </notification> - <notification name="ErrorUndefinedGrasses"> - Errore: Erba sconosciuta: [SPECIES] - </notification> - <notification name="ErrorUndefinedTrees"> - Errore: Alberi sconosciuti: [SPECIES] - </notification> - <notification name="CannotSaveWearableOutOfSpace"> - Impossibile salvare '[NAME]' nel file di oggetti indossabili. Dovrai liberare dello spazio sul tuo computer e salvare di nuovo. - </notification> - <notification name="CannotSaveToAssetStore"> - Non è possibile salvare [NAME] nel database centrale degli asset. -In genere si tratta di un problema temporaneo. Attendi alcuni minuti per modificare e salvare nuovamente gli elementi indossabili. - </notification> - <notification name="YouHaveBeenLoggedOut"> - Sei stato scollegato da [SECOND_LIFE]. - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Esci" yestext="Vedi IM & Chat"/> - </notification> - <notification name="OnlyOfficerCanBuyLand"> - Impossibile comprare terreno per il gruppo: -Non hai i permessi per comprare il terreno per il tuo gruppo attivo. - </notification> - <notification label="Aggiungi Amico" name="AddFriendWithMessage"> - Gli amici possono autorizzarsi a vedersi l'un l'altro sulla mappa e sapere quando sono collegati. - -Offri l'amicizia a [NAME]? - <form name="form"> - <input name="message"> - Vorresti essere mio amico? - </input> - <button name="Offer" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification label="Salva vestiario" name="SaveOutfitAs"> - Salva gli abiti che indosso come nuovo vestiario: - <form name="form"> - <input name="message"> - [DESC] (nuovo) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification label="Salva capo da indossare" name="SaveWearableAs"> - Salva oggetto nel mio inventario come: - <form name="form"> - <input name="message"> - [DESC] (nuovo) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification label="Cambia nome del vestiario" name="RenameOutfit"> - Nuovo nome per il vestiario: - <form name="form"> - <input name="new_name"> - [NAME] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="RemoveFromFriends"> - Vuoi rimuovere [NAME] dalla lista dei tuoi amici? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="RemoveMultipleFromFriends"> - Vuoi rimuovere gli amici selezionati dalla lista dei tuoi amici? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedPublicObjectsByUser"> - Confermi di volere cancellare tutti gli oggetti scriptati della proprietà di -** [AVATAR_NAME] ** -su tutti gli altri terreni di questa sim? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedObjectsByUser"> - Confermi la CANCELLAZIONE di TUTTI gli oggetti scriptati posseduti da -** [AVATAR_NAME] ** -su TUTTI I TERRENI di questa sim? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="GodDeleteAllObjectsByUser"> - Confermi la CANCELLAZIONE di TUTTI gli oggetti (scriptati o no) posseduti da -** [AVATAR_NAME] ** -su TUTTI I TERRENI di questa sim? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BlankClassifiedName"> - Devi specificare un nome per il tuo annuncio. - </notification> - <notification name="MinClassifiedPrice"> - Il prezzo da pagare per essere messo in lista deve essere almeno [MIN_PRICE]L$. - -Introduci un prezzo più alto. - </notification> - <notification name="ConfirmItemDeleteHasLinks"> - Almeno uno degli oggetti selezionati è collegato tramite link ad altri oggetti. Se elimini l'oggetto, i relativi link non funzioneranno più. Pertanto si consiglia vivamente di eliminare prima i link. - -Sei sicuro di volere eliminare gli oggetti? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLock"> - Almeno uno degli elementi selezionati è bloccato. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopy"> - Almeno uno degli elementi selezionati non è copiabile. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoOwn"> - Non possiedi neanche uno degli oggetti selezionati. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopy"> - Almeno un oggetto è bloccato. -Almeno un oggetto è non copiabile. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoOwn"> - Almeno un oggetto è bloccato. -Non possiedi neanche un oggetto. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Cancella" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopyNoOwn"> - Almeno un oggetto non è copiabile. -Non possiedi neanche un oggetto. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopyNoOwn"> - Almeno un oggetto è bloccato. -Almeno un oggetto è non copiabile. -Non possiedi neanche un oggetto. - -Confermi di voler cancellare questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLock"> - Almeno un oggetto è bloccato. - -Confermi di voler prendere questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeNoOwn"> - Non possiedi tutti gli oggetti che stai prendendo. -Se continui, verranno applicate i permessi per il prossimo proprietario e di conseguenza potrebbero venire ristrette le tue possibilità di modificarli o di copiarli. - -Confermi di voler prendere questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLockNoOwn"> - Almeno un oggetto è bloccato. -Non possiedi tutti gli oggetti che stai prendendo. -Se continui, verranno applicate i permessi per il prossimo proprietario e di conseguenza potrebbero venire ristrette le tue possibilità di modificarli o di copiarli. -Puoi comunque prendere gli oggetti selezionati. - -Confermi di voler prendere questi elementi? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="CantBuyLandAcrossMultipleRegions"> - Impossibile comprare il terreno perchè la selezione comprende più regioni. - -Seleziona un'area più piccola e riprova. - </notification> - <notification name="DeedLandToGroup"> - Cedendo questo terreno al gruppo sara richiesto ai componenti di avere e di mantenere il terreno con un credito sufficiente. -Il prezzo di acquisto del terreno non è rifondibile al proprietario. -Se una terreno ceduto al gruppo viene venduto, il prezzo di vendita verrà diviso in parti uguali fra i membri del gruppo. - -Cedi questo terreno di [AREA] m² al gruppo '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="DeedLandToGroupWithContribution"> - Completando la cessione del lotto, il gruppo dovrà avere e mantenere crediti sufficienti per l'uso del terreno. -La cessione includerà un contributo contemporaneo di terreno al gruppo da '[NAME]'. -Il prezzo di acquisto del terreno non viene rimborsato al proprietario. Se un lotto ceduto viene venduto, il prezzo di vendita viene distribuito in maniera paritetica tra i membri del gruppo. - -Cedere questi [AREA] m² di terreno al gruppo '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="DisplaySetToSafe"> - Le impostazioni dello schermo sono state impostate a valori di sicurezza perchè hai specificato l'opzione -safe. - </notification> - <notification name="DisplaySetToRecommended"> - Le impostazioni dello schermo sono state impostate a valori ottimali basati sulla tua configurazione di sistema. - </notification> - <notification name="ErrorMessage"> - [ERROR_MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarMovedDesired"> - L'ubicazione prescelta non è attualmente disponibile. -Sei stato trasferito in una regione vicina. - </notification> - <notification name="AvatarMovedLast"> - La tua ultima posizione non è al momento disponibile. -Sei stato trasferito in una regione vicina. - </notification> - <notification name="AvatarMovedHome"> - L'ubicazione di casa tua non è al momento disponibile. -Sei stato trasferito in una regione vicina. -Ti consigliamo di impostare una nuova posizione iniziale. - </notification> - <notification name="ClothingLoading"> - Gli abiti sono in corso di scaricamento. -Puoi comunque usare [SECOND_LIFE] normalmente e gli altri residenti ti vedranno correttamente. - <form name="form"> - <ignore name="ignore" text="Lo scaricamento sta richiedendo parecchio tempo"/> - </form> - </notification> - <notification name="FirstRun"> - L'installazione di [APP_NAME] è terminata. - -Se questa è la prima volta che usi [SECOND_LIFE], devi creare un account prima che tu possa effettuare l'accesso. -Vuoi tornare a [http://join.secondlife.com secondlife.com] per creare un nuovo account? - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Nuovo Account..."/> - </notification> - <notification name="LoginPacketNeverReceived"> - Ci sono problemi di connessione. È possibile che ci siano problemi con la tua connessione Internet oppure sulla [SECOND_LIFE_GRID]. - -Controlla la tua connessione Internet e riprova fra qualche minuto, oppure clicca su Aiuto per visualizzare la pagina [SUPPORT_SITE], oppure clicca su Teleport per tentare il teleport a casa tua. - <url name="url"> - http://it.secondlife.com/support/ - </url> - <form name="form"> - <button name="OK" text="OK"/> - <button name="Help" text="Aiuto"/> - <button name="Teleport" text="Teleportati"/> - </form> - </notification> - <notification name="WelcomeChooseSex"> - Il tuo avatar apparirà fra un attimo. - -Usa le frecce per muoverti. -Premi F1 in qualunque momento per la guida o per apprendere altre cose di [SECOND_LIFE]. -Scegli un avatar maschile o femminile. Puoi sempre cambiare idea più tardi. - <usetemplate name="okcancelbuttons" notext="Femminile" yestext="Maschile"/> - </notification> - <notification name="CantTeleportToGrid"> - Impossibile effettuare il teleport su [SLURL], in quanto si trova su una griglia ([GRID]) diversa da quella attuale ([CURRENT_GRID]). Chiudi il viewer e prova nuovamente. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GeneralCertificateError"> - Impossibile collegarsi al server. -[REASON] - -Nome oggetto: [SUBJECT_NAME_STRING] -Nome emittente: [ISSUER_NAME_STRING] -Valido da: [VALID_FROM] -Valido fino a: [VALID_TO] -Impronta MD5: [SHA1_DIGEST] -Impronta SHA1: [MD5_DIGEST] -Uso chiave: [KEYUSAGE] -Uso chiave estesa: [EXTENDEDKEYUSAGE] -Identificatore chiave oggetto: [SUBJECTKEYIDENTIFIER] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TrustCertificateError"> - Autorità di certificazione di questo server sconosciuta. - -Informazioni sul certificato: -Nome oggetto: [SUBJECT_NAME_STRING] -Nome emittente: [ISSUER_NAME_STRING] -Valido da: [VALID_FROM] -Valido fino a: [VALID_TO] -Impronta MD5: [SHA1_DIGEST] -Impronta SHA1: [MD5_DIGEST] -Uso chiave: [KEYUSAGE] -Uso chiave estesa: [EXTENDEDKEYUSAGE] -Identificatore chiave oggetto: [SUBJECTKEYIDENTIFIER] - -Accettare questa autorità ? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Accetta"/> - </notification> - <notification name="NotEnoughCurrency"> - [NAME] [PRICE]L$ Non hai abbastanza L$ per farlo. - </notification> - <notification name="GrantedModifyRights"> - [NAME] ti ha dato il permesso di modificare i suoi oggetti. - </notification> - <notification name="RevokedModifyRights"> - Non sei più autorizzato a modificare gli oggetti di [NAME] - </notification> - <notification name="FlushMapVisibilityCaches"> - Questo reinizializzerà la cache della mappa di questa regione. -Funzione usata solo per il debug. -(Per la produzione, attendere 5 minuti, dopo di che tutte le mappe di ognuno si aggiorneranno dopo la loro riconnessione) - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyOneObjectOnly"> - Non è possibile acquistare più di un oggetto alla volta. Riprova selezionando un solo oggetto. - </notification> - <notification name="OnlyCopyContentsOfSingleItem"> - Impossibile copiare il contenuto di più di un elemento alla volta. -Scegli solo un oggetto e riprova. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="KickUsersFromRegion"> - Teleporta a casa tutti i residenti in questa regione? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="EstateObjectReturn"> - Confermi di voler restituire gli oggetti di proprietà di [USER_NAME] ? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="InvalidTerrainBitDepth"> - Impossibile impostare le texture della regione: -La texture del terreno [TEXTURE_NUM] ha una profondità di bit pari a [TEXTURE_BIT_DEPTH] non corretta. - -Sostituisci la texture [TEXTURE_NUM] con una a 24-bit 512x512 o una immagine più piccola e quindi clicca nuovamente su 'Applica'. - </notification> - <notification name="InvalidTerrainSize"> - Impossibile impostare le texture di regione: -La texture del terreno [TEXTURE_NUM] è troppo grande se a [TEXTURE_SIZE_X]x[TEXTURE_SIZE_Y]. - -Sostituisci la texture [TEXTURE_NUM] con una a 24-bit 512x512 oppure con una immagine più piccola e quindi clicca di nuovo 'Applica'. - </notification> - <notification name="RawUploadStarted"> - Importazione iniziata. Può impiegare fino a due minuti, a seconda della velocità della tua connessione. - </notification> - <notification name="ConfirmBakeTerrain"> - Vuoi veramente impostare come base il terreno corrente, impostarlo come riferimento per i limiti dei rialzi/abbassamenti di tutto il territorio ed il suo valore impostato come base per lo strumento 'Ripristina'? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="MaxAllowedAgentOnRegion"> - Puoi avere al massimo [MAX_AGENTS] residenti consentiti. - </notification> - <notification name="MaxBannedAgentsOnRegion"> - Puoi avere al massimo [MAX_BANNED] residenti bloccati. - </notification> - <notification name="MaxAgentOnRegionBatch"> - E' fallito il tentativo di aggiungere [NUM_ADDED] avatar: -Eccede il [MAX_AGENTS] [LIST_TYPE] limite di [NUM_EXCESS]. - </notification> - <notification name="MaxAllowedGroupsOnRegion"> - Puoi avere al massimo [MAX_GROUPS] gruppi. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Imposta come predefinito"/> - </notification> - <notification name="MaxManagersOnRegion"> - Puoi avere al massimo [MAX_MANAGER] manager della proprietà immobiliare. - </notification> - <notification name="OwnerCanNotBeDenied"> - Impossibile aggiungere i proprietari della proprietà immobiliare alla lista dei residenti bloccati. - </notification> - <notification name="CanNotChangeAppearanceUntilLoaded"> - Impossibile cambiare l'aspetto fisico finchè gli abiti e i vestiti non sono caricati. - </notification> - <notification name="ClassifiedMustBeAlphanumeric"> - Il nome del tuo annuncio deve iniziare con una lettera da A a Z oppure con un numero. -Non sono consentiti caratteri di punteggiatura. - </notification> - <notification name="CantSetBuyObject"> - Impossibile impostare 'Compra l'oggetto', perchè l'oggetto non è in vendita. -Imposta l'oggetto per la vendita e riprova. - </notification> - <notification name="FinishedRawDownload"> - Hai terminato di scaricare il file del terreno nella cartella: -[DOWNLOAD_PATH]. - </notification> - <notification name="DownloadWindowsMandatory"> - È disponibile una nuova versione di [APP_NAME]. -[MESSAGE] -Devi scaricare questo aggiornamento per utilizzare [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="Esci" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="DownloadWindows"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="DownloadWindowsReleaseForDownload"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="DownloadLinuxMandatory"> - È disponibile una nuova versione di [APP_NAME]. -[MESSAGE] -Devi scaricare questo aggiornamento per utilizzare [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="Esci" yestext="Scarica"/> - </notification> - <notification name="DownloadLinux"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica"/> - </notification> - <notification name="DownloadLinuxReleaseForDownload"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica"/> - </notification> - <notification name="DownloadMacMandatory"> - È disponibile una nuova versione di [APP_NAME]. -[MESSAGE] -Devi scaricare questo aggiornamento per utilizzare [APP_NAME]. - -Scaricare nella cartella Applicazioni? - <usetemplate name="okcancelbuttons" notext="Esci" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="DownloadMac"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - -Scaricare nella cartella Applicazioni? - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="DownloadMacReleaseForDownload"> - È disponibile una versione aggiornata di [APP_NAME]. -[MESSAGE] -Questo aggiornamento non è necessario, ma ti consigliamo di installarlo per migliorare il rendimento e la stabilità . - -Scaricare nella cartella Applicazioni? - <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> - </notification> - <notification name="FailedUpdateInstall"> - Si è verificato un errore durante l'aggiornamento del viewer. -Scarica e installa la versione più recente del viewer da -http://secondlife.com/download. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FailedRequiredUpdateInstall"> - Non è stato possibile installare un aggiornamento richiesto. -Non potrai accedere fino a quando non verrà aggiornato [APP_NAME]. - -Scarica e installa la versione più recente del viewer da -http://secondlife.com/download. - <usetemplate name="okbutton" yestext="Esci"/> - </notification> - <notification name="UpdaterServiceNotRunning"> - È disponibile un aggiornamento obbligatorio per l'installazione di Second Life. - -Puoi scaricare questo aggiornamento da http://www.secondlife.com/downloads -oppure puoi installarlo adesso. - <usetemplate name="okcancelbuttons" notext="Esci da Second Life" yestext="Scarica e aggiorna adesso"/> - </notification> - <notification name="DownloadBackgroundTip"> - È stato scaricato un aggiornamento dell'installazione di [APP_NAME]. -Versione [VERSION] [[RELEASE_NOTES_FULL_URL] Informazioni su questo aggiornamento] - <usetemplate name="okcancelbuttons" notext="Più tardi..." yestext="Installa ora e riavvia [APP_NAME]"/> - </notification> - <notification name="DownloadBackgroundDialog"> - È stato scaricato un aggiornamento dell'installazione di [APP_NAME]. -Versione [VERSION] [[RELEASE_NOTES_FULL_URL] Informazioni su questo aggiornamento] - <usetemplate name="okcancelbuttons" notext="Più tardi..." yestext="Installa ora e riavvia [APP_NAME]"/> - </notification> - <notification name="RequiredUpdateDownloadedVerboseDialog"> - È stato scaricato un aggiornamento obbligatorio del software. -Versione [VERSION] - -Per installare l'aggiornamento è necessario riavviare [APP_NAME]. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RequiredUpdateDownloadedDialog"> - Per installare l'aggiornamento è necessario riavviare [APP_NAME]. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeedObjectToGroup"> - La cessione di questo oggetto farà in modo che il gruppo: -* Riceva i L$ pagati all'oggetto - <usetemplate ignoretext="Conferma la cessione di un oggetto al gruppo" name="okcancelignore" notext="Annulla" yestext="Cedi"/> - </notification> - <notification name="WebLaunchExternalTarget"> - Vuoi aprire il browser per vedere questi contenuti? - <usetemplate ignoretext="Lancia il browser per consultare una pagina web" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchJoinNow"> - Vuoi andare su [http://secondlife.com/account/ Dashboard] per gestire il tuo account? - <usetemplate ignoretext="Lancia il browser per gestire il mio account" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchSecurityIssues"> - Visita la Wiki di [SECOND_LIFE] per i dettagli su come segnalare un problema di sicurezza. - <usetemplate ignoretext="Lancia il browser per imparare a segnalare un problema di sicurezza" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchQAWiki"> - Visita il controllo di qualità Wiki [SECOND_LIFE]. - <usetemplate ignoretext="Lancia il browser per vedere la pagina Wiki sul controllo di qualità " name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchPublicIssue"> - Visita il registro pubblico dei problemi di [SECOND_LIFE], dove puoi segnalare bug ed altri problemi. - <usetemplate ignoretext="Lancia il browser per vedere il registro pubblico di monitoraggio dei problemi" name="okcancelignore" notext="Annulla" yestext="Vai alla pagina"/> - </notification> - <notification name="WebLaunchSupportWiki"> - Vai al blog ufficiale Linden, per le ultime notizie ed informazioni. - <usetemplate ignoretext="Lancia il browser per vedere il blog" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLGuide"> - Vuoi aprire la Guida per lo scripting per avere aiuto con lo scripting? - <usetemplate ignoretext="Lancia il browser per vedere la Guida per lo scripting" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLWiki"> - Vuoi visitare il Portale LSL per avere aiuto con lo scripting? - <usetemplate ignoretext="Lancia il browser per vedere il Portale LSL" name="okcancelignore" notext="Annulla" yestext="Vai alla pagina"/> - </notification> - <notification name="ReturnToOwner"> - Confermi di voler restituire gli oggetti selezionati ai loro proprietari? Gli oggetti trasferibili ceduti al gruppo, verranno restituiti ai proprietari precedenti. - -*ATTENZIONE* Gli oggetti ceduti non trasferibili verranno cancellati! - <usetemplate ignoretext="Conferma prima di restituire gli oggetti ai relativi proprietari" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="GroupLeaveConfirmMember"> - Sei attualmente un membro del gruppo [GROUP]. -Vuoi lasciare il gruppo? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmKick"> - Vuoi veramente espellere tutti i residenti dalla griglia? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Espelli tutti i residenti"/> - </notification> - <notification name="MuteLinden"> - Spiacenti, non puoi bloccare un Linden. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotStartAuctionAlreadyForSale"> - Non è possibile mettere in vendita all'asta un terreno che è già impostato per la vendita. Disabilita la vendita del terreno, se sei certo di voler avviare una vendita all'asta. - </notification> - <notification label="Il blocco dell'oggetto in base al nome non è riuscito," name="MuteByNameFailed"> - hai già bloccato questo nome. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RemoveItemWarn"> - Sebbene consentita, la cancellazione di contenuti può danneggiare l'oggetto. -Vuoi cancellare quell'elemento? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="CantOfferCallingCard"> - Impossibile offrire un biglietto da visita in questo momento. Riprova fra poco. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CantOfferFriendship"> - Impossibile offrire l'amicizia in questo momento. Riprova fra poco. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="BusyModeSet"> - È stata impostata la modalità Non disponibile. -La chat e gli IM verranno nascosti. Gli IM riceveranno la tua risposta di Non disponibile. Tutte le offerte di teleport verranno rifiutate. Tutte le offerte di Inventario andranno nel Cestino. - <usetemplate ignoretext="Cambio il mio stato sulla modalità Non disponibile" name="okignore" yestext="OK"/> - </notification> - <notification name="JoinedTooManyGroupsMember"> - Hai raggiunto il numero massimo di gruppi. Per favore abbandona almeno un gruppo prima di aderire a questo, oppure declina l'offerta. -[NAME] ti invita ad aderire ad un gruppo. - <usetemplate name="okcancelbuttons" notext="Declino" yestext="Unisciti"/> - </notification> - <notification name="JoinedTooManyGroups"> - Hai raggiunto il numero massimo di gruppi. Per favore abbandona almeno un gruppo prima di aderire o crearne uno nuovo. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="KickUser"> - Espelli questo residente con quale messaggio? - <form name="form"> - <input name="message"> - Un amministratore ti ha disconnesso. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="KickAllUsers"> - Espelli tutti quelli che sono sulla griglia con quale messaggio? - <form name="form"> - <input name="message"> - Un amministratore ti ha disconnesso. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="FreezeUser"> - Congela questo residente con quale messaggio? - <form name="form"> - <input name="message"> - Sei stato immobilizzato. Non puoi muoverti o usare la chat. Un amministratore ti contatterà con un messaggio (IM). - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="UnFreezeUser"> - Scongela questo residente con quale messaggio? - <form name="form"> - <input name="message"> - Non sei più immobilizzato. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="SetDisplayNameSuccess"> - Ciao [DISPLAY_NAME]! - -Come nel modo reale, prima che tutti conoscano il tuo nuovo nome ci vorrà del tempo. Saranno necessari alcuni giorni per [http://wiki.secondlife.com/wiki/Setting_your_display_name l'aggiornamento del nome] in oggetti, script, ricerca, ecc. - </notification> - <notification name="SetDisplayNameBlocked"> - Non puoi cambiare il tuo nome visualizzato. Se ritieni che si tratta di un errore, contatta l'assistenza. - </notification> - <notification name="SetDisplayNameFailedLength"> - Il nome è troppo lungo. La lunghezza massima dei nomi visualizzati è di [LENGTH] caratteri. - -Riprova con un nome più corto. - </notification> - <notification name="SetDisplayNameFailedGeneric"> - Non è possibile impostare il tuo nome visualizzato. Riprova più tardi. - </notification> - <notification name="SetDisplayNameMismatch"> - I nomi visualizzati inseriti non corrispondono. Inseriscili nuovamente. - </notification> - <notification name="AgentDisplayNameUpdateThresholdExceeded"> - Devi aspettare prima di cambiare il nome visualizzato. - -Vedi http://wiki.secondlife.com/wiki/Setting_your_display_name - -Riprova più tardi. - </notification> - <notification name="AgentDisplayNameSetBlocked"> - Non è possibile impostare il nome richiesto perché contiene una parola vietata. - - Riprova con un altro nome. - </notification> - <notification name="AgentDisplayNameSetInvalidUnicode"> - Il nome visualizzato scelto contiene caratteri non validi. - </notification> - <notification name="AgentDisplayNameSetOnlyPunctuation"> - Il nome visualizzato deve contenere lettere, non solo segni di punteggiatura. - </notification> - <notification name="DisplayNameUpdate"> - [OLD_NAME] ([SLID]) ha il nuovo nome [NEW_NAME]. - </notification> - <notification name="OfferTeleport"> - Offri un teleport nel posto dove sei con il seguente messaggio? - <form name="form"> - <input name="message"> - Raggiungimi a [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="OfferTeleportFromGod"> - Chiedere, in qualità di Admin, al residente di raggiungerti? - <form name="form"> - <input name="message"> - Raggiungimi in [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="TeleportFromLandmark"> - Sei sicuro di volere il teleport a <nolink>[LOCATION]</nolink>? - <usetemplate ignoretext="Conferma il teleport verso un punto di riferimento" name="okcancelignore" notext="Annulla" yestext="Teleportati"/> - </notification> - <notification name="TeleportToPick"> - Teleport a [PICK]? - <usetemplate ignoretext="Conferma che voglio il teleport verso l'ubicazione nei Luoghi preferiti" name="okcancelignore" notext="Annulla" yestext="Teleport"/> - </notification> - <notification name="TeleportToClassified"> - Teleport a [CLASSIFIED]? - <usetemplate ignoretext="Conferma il teleport verso questa posizione negli annunci" name="okcancelignore" notext="Annulla" yestext="Teleport"/> - </notification> - <notification name="TeleportToHistoryEntry"> - Teleport a [HISTORY_ENTRY]? - <usetemplate ignoretext="Conferma il teleport verso un luogo che compare nella cronologia" name="okcancelignore" notext="Annulla" yestext="Teleport"/> - </notification> - <notification label="Manda un messaggio a tutti nella tua proprietà " name="MessageEstate"> - Scrivi un annuncio breve che verrà mandato a tutti quelli che sono in questo momento nella tua proprietà . - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification label="Cambia la tipologia della proprietà Linden" name="ChangeLindenEstate"> - Stai per apportare modifiche ad una proprietà che appartiene a Linden (continente, teen grid, orientamento e così via). - -Questa è un'operazione da effettuare con molta cautela, in quanto può incidere profondamente sulla vita dei residenti in Second Life. Sul continente, l'azione modificherà migliaia di regioni e creerà un grosso carico sul server. - -Vuoi procedere? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification label="Cambia la tipologia Linden di accesso alla proprietà " name="ChangeLindenAccess"> - Stai per cambiare la lista di accesso per una proprietà Linden (mainland, griglia minorenni, orientamento, ecc.). - -Questo è PERICOLOSO e dovrebbe essere fatto soltanto per poter lanciare il programma che consente agli oggetti/L$ di essere trasferiti fra griglie diverse. -Cambierà migliaia di regioni e produrrà seri problemi ai vari server. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification label="Seleziona la proprietà " name="EstateAllowedAgentAdd"> - Aggiungi alla lista di accesso solo per questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateAllowedAgentRemove"> - Rimuovi dalla lista di accesso solo per questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateAllowedGroupAdd"> - Aggiungi al gruppo di accesso solo per questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateAllowedGroupRemove"> - Rimuovi dal gruppo di accesso solo per questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateBannedAgentAdd"> - Rifiuta l'accesso solo a questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateBannedAgentRemove"> - Rimuovi questo residente dalla lista dei residenti bloccati nell'accesso solo a questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateManagerAdd"> - Aggiungi come gestore della proprietà solo a questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Seleziona la proprietà " name="EstateManagerRemove"> - Rimuovi come gestore della proprietà solo per questa proprietà oppure per [ALL_ESTATES]? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà " yestext="Questa proprietà "/> - </notification> - <notification label="Conferma espulsione" name="EstateKickUser"> - Espelli [EVIL_USER] da questa proprietà ? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="EstateChangeCovenant"> - Confermi di voler cambiare il Regolamento della proprietà ? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked"> - Non sei ammesso in questa regione a causa della tua categoria di accesso. Questo può risultare da una mancanza di informazioni necessarie per convalidare la tua età . - -Verifica di avere installato l'ultima versione del programma e vai alla Knowledge Base per ulteriori informazioni su come accedere nelle zone con tale categoria di accesso. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked_KB"> - Non sei ammesso in questa regione a causa della tua categoria d'accesso. - -Vuoi andare alla Knowledge Base per ulteriori informazioni sulle categorie di accesso? - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/it - </url> - <usetemplate ignoretext="Non posso entrare in questa regione a causa delle restrizioni della categoria di accesso" name="okcancelignore" notext="Chiudi" yestext="Vai alla Knowledge Base"/> - </notification> - <notification name="RegionEntryAccessBlocked_Notify"> - Non sei ammesso in questa regione a causa della tua categoria d'accesso. - </notification> - <notification name="RegionEntryAccessBlocked_Change"> - Non ti è consentito entrare in quella regione a causa della categoria di accesso impostata nelle preferenze. - -Per entrare nella regione, dovrai modificare la tua categoria di accesso. Ciò ti consentirà inoltre di effettuare ricerche di contenuti di categoria [REGIONMATURITY]. Per annullare le modifiche in un secondo momento, vai a Io > Preferenze > Generali. - <form name="form"> - <button name="OK" text="Cambia preferenza"/> - <button default="true" name="Cancel" text="Chiudi"/> - <ignore name="ignore" text="La categoria di accesso impostata mi impedisce di entrare in una regione"/> - </form> - </notification> - <notification name="PreferredMaturityChanged"> - La tua categoria di accesso attuale è [RATING]. - </notification> - <notification name="LandClaimAccessBlocked"> - Non puoi prendere possesso di questo terreno a causa della tua categoria di accesso. Questo può essere dovuto ad una mancanza di informazioni valide che confermino la tua età . - -Verifica di avere installato l'ultima versione del programma e vai alla Knowledge Base per informazioni sull'accesso ad aree con queste categorie di accesso. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandClaimAccessBlocked_KB"> - Non puoi prendere possesso di questa terra a causa delle preferenze sulle categorie di accesso. - -Vuoi andare alla Knowledge Base per maggiori informazioni sulle categorie di accesso? - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/it - </url> - <usetemplate ignoretext="Non posso richiedere questo terreno a causa delle restrizioni della categoria di accesso" name="okcancelignore" notext="Chiudi" yestext="Vai alla Knowledge Base"/> - </notification> - <notification name="LandClaimAccessBlocked_Notify"> - Non puoi prendere possesso di questa terra a causa della tua categoria di accesso. - </notification> - <notification name="LandClaimAccessBlocked_Change"> - Non puoi richiedere questo terreno a causa della tua categoria di accesso. - -Puoi cliccare su Cambia preferenze per modificare la categoria di accesso e quindi riuscire ad entrare. Da adesso potrai accedere ai contenuti [REGIONMATURITY] ed effettuare ricerche in questa categoria. Se in seguito tu volessi cambiare di nuovo le tue impostazioni, apri la finestra di dialogo da Io > Preferenze > Generale. - <usetemplate ignoretext="Le mie preferenze di categoria di accesso mi impediscono di richiedere terreno" name="okcancelignore" notext="Chiudi" yestext="Cambia le preferenze"/> - </notification> - <notification name="LandBuyAccessBlocked"> - Non puoi acquistare questo terreno a causa della tua categoria di accesso. Questo può essere dovuto ad una mancanza di informazioni valide che confermino la tua età . - -Verifica di avere installato l'ultima versione del programma e vai alla Knowledge Base per informazioni sull'accesso ad aree con queste categorie di accesso. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandBuyAccessBlocked_KB"> - Non puoi acquistare questo terreno a causa della tua categoria di accesso. - -Vuoi andare alla Knowledge Base per maggiori informazioni sulle categorie di accesso? - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/it - </url> - <usetemplate ignoretext="Non posso acquistare questo terreno a causa delle restrizioni della categoria di accesso" name="okcancelignore" notext="Chiudi" yestext="Vai alla Knowledge Base"/> - </notification> - <notification name="LandBuyAccessBlocked_Notify"> - Non puoi acquistare questa land a causa della tua categoria di accesso. - </notification> - <notification name="LandBuyAccessBlocked_Change"> - Non puoi acquistare questo terreno a causa della tua categoria di accesso. - -Puoi cliccare su Cambia preferenze per modificare la categoria di accesso e quindi riuscire ad entrare. Da adesso potrai accedere ai contenuti [REGIONMATURITY] ed effettuare ricerche in questa categoria. Se in seguito tu volessi cambiare di nuovo le tue impostazioni, apri la finestra di dialogo da Io > Preferenze > Generale. - <usetemplate ignoretext="Le mie Preferenze di accesso mi impediscono di acquistare terreno" name="okcancelignore" notext="Chiudi" yestext="Cambia le preferenze"/> - </notification> - <notification name="TooManyPrimsSelected"> - Hai selezionato troppi prim. Seleziona non più di [MAX_PRIM_COUNT] prim e riprova - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemImportingEstateCovenant"> - Problemi nell'importazione del regolamento della proprietà . - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemAddingEstateManager"> - Si sono riscontrati problemi nell'aggiungere un nuovo manager della proprietà . Una o più proprietà potrebbero avere la lista dei manager piena. - </notification> - <notification name="ProblemAddingEstateGeneric"> - Si sono riscontrati problemi nell'aggiunta a questo elenco della proprietà . Una o più proprietà potrebbe avere una lista piena. - </notification> - <notification name="UnableToLoadNotecardAsset"> - Impossibile caricare la risorsa della notecard in questo momento. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NotAllowedToViewNotecard"> - Permessi insufficienti per vedere la notecard associata con l'asset ID richiesto. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MissingNotecardAssetID"> - L'asset ID della notecard è mancante dal database. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PublishClassified"> - Ricorda: le tariffe per gli annunci non sono rimborsabili. - -Pubblica questo annuncio adesso per [AMOUNT]L$? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="SetClassifiedMature"> - Queste inserzioni includono contenuti di tipo Moderato? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="SetGroupMature"> - Questo gruppo include contenuti di tipo Moderato? - <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification label="Conferma il riavvio" name="ConfirmRestart"> - Vuoi veramente far ripartire la regione in 2 minuti? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification label="Manda un messaggio a tutti in questa regione" name="MessageRegion"> - Scrivi un breve annuncio che verrà mandato a tutti in questa regione. - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification label="Cambiato il contenuto Moderato" name="RegionMaturityChange"> - La classificazione di questa regione è stata aggiornata. -Un periodo di tempo è necessario prima che la modifica venga integrata nella mappa. - -Per accedere a regioni per adulti, i residenti devono avere un Account verificato, mediante verifica dell'età oppure mediante verifica della modalità di pagamento. - </notification> - <notification label="Versione voice non compatibile" name="VoiceVersionMismatch"> - Questa versione di [APP_NAME] non è compatibile con la funzionalità di chat vocale in questa regione. Affinché la chat vocale funzioni correttamente, dovrai aggiornare [APP_NAME]. - </notification> - <notification label="Impossibile comprare oggetti" name="BuyObjectOneOwner"> - Impossibile comprare oggetti da proprietari diversi nello stesso momento. -Seleziona solo un oggetto e riprova. - </notification> - <notification label="Impossibile comprare il contenuto" name="BuyContentsOneOnly"> - Impossibile comprare il contenuto di più di un oggetto per volta. -Seleziona solo un oggetto e riprova. - </notification> - <notification label="Impossibile comprare il contenuto" name="BuyContentsOneOwner"> - Impossibile comprare oggetti da proprietari differenti nello stesso momento. -Scegli un solo oggetto e riprova. - </notification> - <notification name="BuyOriginal"> - Compra l'oggetto originale da [OWNER] per [PRICE]L$? -Diventerai proprietario di questo oggetto. -Sarai in grado di: - Modificare: [MODIFYPERM] - Copiare: [COPYPERM] - Rivendere o regalare: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyOriginalNoOwner"> - Compra l'oggetto originale per [PRICE]L$? -Diventerai proprietario di questo oggetto. -Sarai in grado di: - Modificare: [MODIFYPERM] - Copiare: [COPYPERM] - Rivendere o regalare: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyCopy"> - Compra una copia da [OWNER] per [PRICE]L$? -L'oggetto verrà copiato nel tuo inventario. -Sarai in grado di: - Modificare: [MODIFYPERM] - Copiare: [COPYPERM] - Rivendere o regalare: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyCopyNoOwner"> - Compra una copia per [PRICE]L$? -L'oggetto verrà copiato nel tuo inventario. -Sarai in grado di: - Modificare: [MODIFYPERM] - Copiare: [COPYPERM] - Rivendere o regalare: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyContents"> - Compra il contenuto da [OWNER] per [PRICE]L$? -Il contenuto verrà copiato nel tuo inventario. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BuyContentsNoOwner"> - Compra il contenuto per [PRICE]L$? -Il contenuto verrà copiato nel tuo inventario. - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmPurchase"> - Questa transazione ti permetterà di: -[ACTION] - -Confermi di voler procedere all'acquisto? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmPurchasePassword"> - Questa transazione farà : -[ACTION] - -Confermi di voler procedere all'acquisto? -Ridigita la tua password e premi OK. - <form name="form"> - <input name="message"/> - <button name="ConfirmPurchase" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="SetPickLocation"> - Nota: -Hai aggiornato l'ubicazione di questo preferito ma gli altri dettagli conserveranno il loro valore originale. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromObject"> - Hai selezionato elementi dall'inventario 'non copiabili'. -Questi elementi verranno trasferiti nel tuo inventario, ma non copiati. - -Trasferisci gli elementi nell'inventario? - <usetemplate ignoretext="Avvertimi quando tento di rimuovore elementi per i quali non è consentita la copia da un oggetto" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromScriptedObject"> - Hai selezionato elementi dell'inventario non copiabili. Questi elementi verranno trasferiti nel tuo inventario, non verranno copiati. -Dato che questo oggetto è scriptato, il trasferimento di questi elementi nel tuo inventario potrebbe causare un malfunzionamento degli script. - -Trasferisci gli elementi nell'inventario? - <usetemplate ignoretext="Avvertimi se tento di rimuovore di elementi per i quali non è consentita la copia e che potrebbero danneggiare un oggetto scriptato" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ClickActionNotPayable"> - Attenzione: l'azione Paga oggetto è stata impostata, ma funzionerà soltanto se inserisci uno script con un evento money(). - <form name="form"> - <ignore name="ignore" text="Ho impostato l'azione Paga oggetto costruendo un oggetto senza uno script money()"/> - </form> - </notification> - <notification name="OpenObjectCannotCopy"> - Non ci sono elementi in questo oggetto che tu possa copiare. - </notification> - <notification name="WebLaunchAccountHistory"> - Vai al [http://secondlife.com/account/ Dashboard] per vedere la cronologia del tuo account? - <usetemplate ignoretext="Lancia il browser per vedere la cronologia del mio account" name="okcancelignore" notext="Annulla" yestext="Vai alla pagina"/> - </notification> - <notification name="ConfirmQuit"> - Confermi di voler uscire? - <usetemplate ignoretext="Conferma prima di uscire" name="okcancelignore" notext="Non uscire" yestext="Esci"/> - </notification> - <notification name="DeleteItems"> - [QUESTION] - <usetemplate ignoretext="Conferma prima di cancellare gli elementi" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="HelpReportAbuseEmailLL"> - Usa questo strumento per segnalare violazioni a [http://secondlife.com/corporate/tos.php Terms of Service] e [http://secondlife.com/corporate/cs.php Community Standards]. - -Ogni abuso segnalato verrà esaminato e risolto. - </notification> - <notification name="HelpReportAbuseSelectCategory"> - Scegli una categoria per questa segnalazione di abuso. -Scegliere una categoria, ci aiuta a gestire ed elaborare le segnalazioni di abuso. - </notification> - <notification name="HelpReportAbuseAbuserNameEmpty"> - Introduci il nome di chi abusa. -Introducendo un valore accurato, ci aiuti a gestire ed elaborare le segnalazioni di abuso. - </notification> - <notification name="HelpReportAbuseAbuserLocationEmpty"> - Inserisci il luogo dove l'abuso è avvenuto. -Introducendo un valore accurato, ci aiuti a gestire ed elaborare le segnalazioni di abuso. - </notification> - <notification name="HelpReportAbuseSummaryEmpty"> - Inserisci un yiyolo descrittivo dell'abuso che è avvenuto. -Introducendo un titolo descrittivo accurato, ci aiuti a gestire ed elaborare le segnalazioni di abuso. - </notification> - <notification name="HelpReportAbuseDetailsEmpty"> - Inserisci una descrizione dettagliata dell'abuso che è avvenuto. -Devi essere il più specifico possibile, includendo i nomi e i dettagli dell'incidente che stai segnalando. -Inserendo una descrizione accurata ci aiuti a gestire ed elaborare le segnalazioni di abuso. - </notification> - <notification name="HelpReportAbuseContainsCopyright"> - Gentile residente, - -Ci risulta che tu stia segnalando una violazione di proprietà intellettuale. Per segnalare correttamente la violazione: - -(1) Definizione di abuso. Puoi inviare una segnalazione di abuso se ritieni che un residente stia sfruttando il sistema di permessi di [SECOND_LIFE], per esempio usando CopyBot o simili strumenti di copia, per rubare i diritti di proprietà intellettuale. L'Ufficio abusi investigherà e deciderà adeguate azioni disciplinari per comportamenti che violano i [http://secondlife.com/corporate/tos.php Termini del servizio] di [SECOND_LIFE] oppure gli [http://secondlife.com/corporate/cs.php Standard della comunità ]. Tieni comunque presente che l'Ufficio abusi non gestisce e non risponde alle richieste di rimozione di contenuti da [SECOND_LIFE]. - -(2) DMCA o rimozione di contenuti. Per richiedere la rimozione di contenuti da [SECOND_LIFE], devi compilare una denuncia valida di violazione come definito nelle nostra [http://secondlife.com/corporate/dmca.php Regole DMCA] (leggi sul copyright). - -Per continuare con il procedimento di abuso, chiudi questa finestra e completa la compilazione della segnalazione. È possibile che dovrai specificare la categoria CopyBot o Sfruttamento dei diritti. - -Grazie, - -Linden Lab - </notification> - <notification name="FailedRequirementsCheck"> - I seguenti componenti obbligatori sono mancanti da [FLOATER]: -[COMPONENTS] - </notification> - <notification label="Sostituisci gli oggetti indossati" name="ReplaceAttachment"> - C'è già un oggetto indossato in questo punto del corpo. -Vuoi sostituirlo con l'oggetto selezionato? - <form name="form"> - <ignore name="ignore" save_option="true" text="Sostituisci un pezzo collegato con l'elemento selezionato"/> - <button ignore="Replace Automatically" name="Yes" text="OK"/> - <button ignore="Never Replace" name="No" text="Annulla"/> - </form> - </notification> - <notification label="Avviso di 'Occupato'" name="BusyModePay"> - Sei in modalità 'Occupato', ciò significa che non riceverai ciò che attendi per questo pagamento. - -Desideri abbandonare la modalità 'Occupato' prima di completare questa transazione? - <form name="form"> - <ignore name="ignore" save_option="true" text="Sto per pagare una persona o un oggetto mentro sono in modalià Non disponibile"/> - <button ignore="Always leave Busy Mode" name="Yes" text="OK"/> - <button ignore="Never leave Busy Mode" name="No" text="Abbandona"/> - </form> - </notification> - <notification name="ConfirmDeleteProtectedCategory"> - La cartella '[FOLDERNAME]' è una cartella di sistema. L'eliminazione di cartelle di sistema può creare instabilità . Sei sicuro di volerla eliminare? - <usetemplate ignoretext="Chiedi conferma prima di eliminare una cartella di sistema" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmEmptyTrash"> - Vuoi veramente eliminare in modo permanente il contenuto del tuo Cestino? - <usetemplate ignoretext="Conferma prima di svuotare la cartella del Cestino inventario" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmClearBrowserCache"> - Vuoi veramente eliminare la cronologia viaggi, web e ricerche fatte? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="ConfirmClearCookies"> - Confermi di volere cancellare i tuoi cookie? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Si"/> - </notification> - <notification name="ConfirmClearMediaUrlList"> - Confermi di voler cancellare la lista degli URL salvati? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Si"/> - </notification> - <notification name="ConfirmEmptyLostAndFound"> - Vuoi veramente eliminare in modo definitivo il contenuto dei tuoi Oggetti smarriti? - <usetemplate ignoretext="Conferma prima di svuotare della cartella Oggetti smarriti" name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="CopySLURL"> - Lo SLurl seguente è stato copiato negli Appunti: - [SLURL] - -Inseriscilo in una pagina web per dare ad altri un accesso facile a questa ubicazione, o provala incollandola nella barra degli indirizzi di un browser web. - <form name="form"> - <ignore name="ignore" text="Lo SLurl è stato copiato negli Appunti"/> - </form> - </notification> - <notification name="WLSavePresetAlert"> - Vuoi sovrascrivere le preimpostazioni salvate? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="WLDeletePresetAlert"> - Vuoi cancellare [SKY]? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="WLNoEditDefault"> - Non puoi modificare o cancellare una preimpostazione di fabbrica. - </notification> - <notification name="WLMissingSky"> - Questo file di ciclo giornaliero fa riferimento ad un file di cielo mancante: [SKY]. - </notification> - <notification name="PPSaveEffectAlert"> - Effetto di post elaborazione già presente. Vuoi sovrascrivere? - <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> - </notification> - <notification name="NewSkyPreset"> - Fornisci il nome per il nuovo cielo. - <form name="form"> - <input name="message"> - Nuova preimpostazione - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="ExistsSkyPresetAlert"> - La preimpostazione esiste già ! - </notification> - <notification name="NewWaterPreset"> - Fornisci il nome per la nuova preregolazione del livello dell'acqua. - <form name="form"> - <input name="message"> - Nuova preimpostazione - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="ExistsWaterPresetAlert"> - La preimpostazione esiste già ! - </notification> - <notification name="WaterNoEditDefault"> - Non puoi modificare o cancellare una preimpostazione. - </notification> - <notification name="ChatterBoxSessionStartError"> - Impossibile iniziare una nuova sessione di chat con [RECIPIENT]. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ChatterBoxSessionEventError"> - [EVENT] -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ForceCloseChatterBoxSession"> - La sessione chat con [NAME] deve chiudere. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="Cannot_Purchase_an_Attachment"> - Non puoi comprare un oggetto mentre è unito. - </notification> - <notification label="Informazioni sulle richieste per il permesso di addebito" name="DebitPermissionDetails"> - Accettare questa richiesta da allo script il permesso continuativo di prendere Linden dollar (L$) dal tuo account. Per revocare questo permesso, il proprietario dell'oggetto deve cancellare l'oggetto oppure reimpostare gli script nell'oggetto. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AutoWearNewClothing"> - Vuoi indossare automaticamente gli indumenti che stai per creare? - <usetemplate ignoretext="Indossare gli abiti che creo mentre modifico il mio aspetto" name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="NotAgeVerified"> - Per entrare in questa zona, devi avere eseguito la verifica dell'età . Vuoi andare sul sito di [SECOND_LIFE] per verificare la tua età ? - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/verification.php?lang=it - </url> - <usetemplate ignoretext="Non ho verificato la mia età " name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="Cannot enter parcel: no payment info on file"> - Per poter visitare questa zona devi avere devi aver fornito informazioni di pagamento a Linden Lab. Vuoi andare sul sito di [SECOND_LIFE] ed impostarle? - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/index.php?lang=it - </url> - <usetemplate ignoretext="Manca la registrazione delle informazioni di pagamento" name="okcancelignore" notext="No" yestext="Si"/> - </notification> - <notification name="MissingString"> - La stringa [STRING_NAME] non è presente in strings.xml - </notification> - <notification name="SystemMessageTip"> - [MESSAGE] - </notification> - <notification name="IMSystemMessageTip"> - [MESSAGE] - </notification> - <notification name="Cancelled"> - Annullato - </notification> - <notification name="CancelledSit"> - Seduta annullata - </notification> - <notification name="CancelledAttach"> - Attaccamento annullato - </notification> - <notification name="ReplacedMissingWearable"> - Gli abiti/parti del corpo mancanti sono stati sostituiti con quelli di default . - </notification> - <notification name="GroupNotice"> - Oggetto: [SUBJECT], Messaggio: [MESSAGE] - </notification> - <notification name="FriendOnline"> - [NAME] è Online - </notification> - <notification name="FriendOffline"> - [NAME] è Offline - </notification> - <notification name="AddSelfFriend"> - Anche se sei molto simpatico, non puoi aggiungere te stesso all'elenco degli amici. - </notification> - <notification name="UploadingAuctionSnapshot"> - Sto importando le fotografie per l'uso inworld e per il web... -(Durata circa 5 minuti.) - </notification> - <notification name="UploadPayment"> - Hai pagato [AMOUNT]L$ per il caricamento. - </notification> - <notification name="UploadWebSnapshotDone"> - Il caricamento della fotografia nel sito web è andato a buon fine. - </notification> - <notification name="UploadSnapshotDone"> - Il caricamento della fotografia inworld è andato a buon fine. - </notification> - <notification name="TerrainDownloaded"> - Terrain.raw caricato - </notification> - <notification name="GestureMissing"> - Manca la gesture [NAME] dal database. - </notification> - <notification name="UnableToLoadGesture"> - Impossibile caricare la gesture [NAME]. - </notification> - <notification name="LandmarkMissing"> - Landmark non trovato nel database. - </notification> - <notification name="UnableToLoadLandmark"> - Impossibile caricare il Landmark di riferimento. Riprova. - </notification> - <notification name="CapsKeyOn"> - Hai il blocco delle maiuscole attivato. -Questo potrebbe incidere sulla tua password. - </notification> - <notification name="NotecardMissing"> - Notecard non trovata nel database. - </notification> - <notification name="NotecardNoPermissions"> - Non hai il permesso di vedere questo biglietto. - </notification> - <notification name="RezItemNoPermissions"> - Permessi insufficienti per creare un oggetto. - </notification> - <notification name="UnableToLoadNotecard"> - Impossibile caricare la notecard in questo momento. - </notification> - <notification name="ScriptMissing"> - Script non trovato nel database. - </notification> - <notification name="ScriptNoPermissions"> - Permessi insufficenti per visualizzare lo script. - </notification> - <notification name="UnableToLoadScript"> - Impossibile caricare lo script. Riprova. - </notification> - <notification name="IncompleteInventory"> - Il contenuto che stai offrendo per il momento non è localmente disponibile. Prova a rioffrire gli oggetti fra un minuto. - </notification> - <notification name="CannotModifyProtectedCategories"> - Non è possibile modificare le categorie protette. - </notification> - <notification name="CannotRemoveProtectedCategories"> - Non è possibile rimuovere le categorie protette. - </notification> - <notification name="UnableToBuyWhileDownloading"> - Impossibile acquistare l'oggetto durante il download dei dati. -Riprova. - </notification> - <notification name="UnableToLinkWhileDownloading"> - Impossibile collegare l'oggetto durante il download dei dati. -Riprova. - </notification> - <notification name="CannotBuyObjectsFromDifferentOwners"> - Puoi acquistare oggetti soltanto da un proprietario per volta. -Seleziona solo un oggetto. - </notification> - <notification name="ObjectNotForSale"> - Questo oggetto non è in vendita. - </notification> - <notification name="EnteringGodMode"> - Entra in modalità divina, livello [LEVEL] - </notification> - <notification name="LeavingGodMode"> - Esci dalla modalità divina, livello [LEVEL] - </notification> - <notification name="CopyFailed"> - Non hai l'autorizzazione a copiare. - </notification> - <notification name="InventoryAccepted"> - [NAME] ha ricevuto la tua offerta di inventario. - </notification> - <notification name="InventoryDeclined"> - [NAME] non ha accettato la tua offerta dall'inventario. - </notification> - <notification name="ObjectMessage"> - [NAME]: [MESSAGE] - </notification> - <notification name="CallingCardAccepted"> - Il tuo biglietto da visita è stato accettato. - </notification> - <notification name="CallingCardDeclined"> - Il tuo biglietto da visita non è stato accettato. - </notification> - <notification name="TeleportToLandmark"> - Puoi teleportarti alle ubicazioni come '[NAME]' aprendo il pannello Luoghi sul lato destro dello schermo, quindi selezionare la scheda Punti di riferimento. -Clicca su un punto di riferimento per selezionarlo, quindi clicca su Teleport sul lato inferiore del pannello. -(Puoi anche fare doppio clic sul punto di riferimento oppure cliccare su di esso con il tasto destro del mouse e scegliere Teleport.) - </notification> - <notification name="TeleportToPerson"> - Puoi contattare il residente '[NAME]' aprendo il pannello Persone nel lato destro del tuo schermo. -Seleziona il residente dall'elenco, clicca su 'IM' in basso nel pannello. -(Puoi anche fare doppio clic sul nome nell'elenco oppure fare clic con il pulsante destro del mouse e selezionare 'IM'). - </notification> - <notification name="CantSelectLandFromMultipleRegions"> - Non è possibile selezionare il terreno attraverso i confini del server. -Prova a selezionare una parte di terreno più piccola. - </notification> - <notification name="SearchWordBanned"> - Alcuni termini della ricerca sono stati esclusi a causa delle restrizioni di contenuto come esposto negli Standard della comunità . - </notification> - <notification name="NoContentToSearch"> - Seleziona almeno un tipo di contenuto per la ricerca (Generale, Moderato o Adulti). - </notification> - <notification name="SystemMessage"> - [MESSAGE] - </notification> - <notification name="PaymentReceived"> - [MESSAGE] - </notification> - <notification name="PaymentSent"> - [MESSAGE] - </notification> - <notification name="EventNotification"> - Notifica eventi: - -[NAME] -[DATE] - <form name="form"> - <button name="Details" text="Dettagli"/> - <button name="Cancel" text="Cancella"/> - </form> - </notification> - <notification name="TransferObjectsHighlighted"> - Tutti gli oggetti presenti sul terreno, che saranno trasferiti al compratore di questa terra, saranno ora evidenziati. - -* Gli alberi e l'erba che cederai non saranno evidenziati. - <form name="form"> - <button name="Done" text="Fatto"/> - </form> - </notification> - <notification name="DeactivatedGesturesTrigger"> - Usa lo stesso tasto per disattivare la gesture: -[NAMES] - </notification> - <notification name="NoQuickTime"> - Il software QuickTime di Apple sembra non essere installato sul tuo computer. -Se vuoi vedere contenuto multimediale in streaming sui lotti che lo supportano, vai alla pagina [http://www.apple.com/quicktime QuickTime] e installa il Player QuickTime. - </notification> - <notification name="NoPlugin"> - Non è stato trovato alcun plugin multimediale per gestire il tipo mime [MIME_TYPE]. Il media di questo tipo non è disponibile. - </notification> - <notification name="MediaPluginFailed"> - Questo plugin multimediale non funziona: - [PLUGIN] - -Reinstalla il plugin o contatta il venditore se continui ad avere questi problemi. - <form name="form"> - <ignore name="ignore" text="Mancato funzionamento del plugin multimediale"/> - </form> - </notification> - <notification name="OwnedObjectsReturned"> - Gli oggetti che possiedi sul terreno selezionato ti sono stati restituiti nell'inventario. - </notification> - <notification name="OtherObjectsReturned"> - Sono stati restituiti all'inventario di '[NAME]' gli oggetti sul lotto di terreno selezionato di sua proprietà . - </notification> - <notification name="OtherObjectsReturned2"> - Sono stati restituiti al proprietario gli oggetti selezionati sul lotto nella terra di proprietà del residente '[NAME]'. - </notification> - <notification name="GroupObjectsReturned"> - Gli oggetti selezionati sul terreno e condivisi con il gruppo [GROUPNAME] sono stati restituiti nell'inventario dei propietari. -Gli oggetti trasferibili ceduti sono stati restituiti ai proprietari precedenti. -Gli oggetti non trasferibili che erano stati ceduti al gruppo sono stati cancellati. - </notification> - <notification name="UnOwnedObjectsReturned"> - Gli oggetti selezionati sul terreno che non sono di tua proprietà sono stati restituiti ai loro proprietari. - </notification> - <notification name="ServerObjectMessage"> - Messaggio da [NAME]: -<nolink>[MSG]</nolink> - </notification> - <notification name="NotSafe"> - Su questo terreno sono abilitati i danni. -Qui potresti essere ferito. Se dovessi morire verrai teleportato a casa tua. - </notification> - <notification name="NoFly"> - In questa zona è proibito il volo. -Qui non puoi volare. - </notification> - <notification name="PushRestricted"> - Questa zona non consente le spinte. Non puoi spingere gli altri a meno che tu non sia il proprietario del terreno. - </notification> - <notification name="NoVoice"> - Questa zona ha la chat vocale disattivata. Non puoi sentire nessuno parlare. - </notification> - <notification name="NoBuild"> - In questa zona è proibita la costruzione. Qui non puoi costruire né rezzare oggetti. - </notification> - <notification name="ScriptsStopped"> - Un amministratore ha temporaneamente disabilitato gli script in questa regione. - </notification> - <notification name="ScriptsNotRunning"> - In questa terra nessuno script è attivo. - </notification> - <notification name="NoOutsideScripts"> - Questo terreno non consente script esterni. - -Qui funzionano soltanto gli script del proprietario del terreno. - </notification> - <notification name="ClaimPublicLand"> - Puoi solo richiedere terreni pubblici nella regione in cui sei posizionato. - </notification> - <notification name="RegionTPAccessBlocked"> - Non puoi entrare in quella regione a causa della tua categoria di accesso. Può essere necessario validare l'età e/o installare l'ultima versione del programma. - -Visita la Knowledge Base per informazioni sull'accesso alle aree con queste categorie di accesso. - </notification> - <notification name="URBannedFromRegion"> - Tu hai l'accesso bloccato a questa regione. - </notification> - <notification name="NoTeenGridAccess"> - Il tuo account non può connettersi a questa regione della griglia per Teenager. - </notification> - <notification name="ImproperPaymentStatus"> - Non hai una impostazioni di pagamento corrette per entrare in questa regione. - </notification> - <notification name="MustGetAgeParcel"> - Devi essere di età verificata per entrare in questa terra. - </notification> - <notification name="NoDestRegion"> - Non è stata trovata nessuna regione di destinazione. - </notification> - <notification name="NotAllowedInDest"> - Non hai il permesso di accedere alla regione di destinazione. - </notification> - <notification name="RegionParcelBan"> - Non puoi attraversare la regione passando su un terreno ad accesso interdetto. Prova in un altro modo. - </notification> - <notification name="TelehubRedirect"> - Sei stato rediretto ad un punto di snodo di teletrasporto. - </notification> - <notification name="CouldntTPCloser"> - Non è stato possibile teleportarti più vicino al luogo di destinazione. - </notification> - <notification name="TPCancelled"> - Teletrasporto annullato. - </notification> - <notification name="FullRegionTryAgain"> - La regione in cui stai tentando di accedere è attualmente piena. -Riprova tra qualche istante. - </notification> - <notification name="GeneralFailure"> - Fallimento generale. - </notification> - <notification name="RoutedWrongRegion"> - Sei stato instradato verso la regione sbagliata. Riprova. - </notification> - <notification name="NoValidAgentID"> - Nessun ID valido. - </notification> - <notification name="NoValidSession"> - Nessun ID valido. - </notification> - <notification name="NoValidCircuit"> - Nessun codice circuito valido. - </notification> - <notification name="NoValidTimestamp"> - Nessuna data/timestamp valido. - </notification> - <notification name="NoPendingConnection"> - Impossibile creare la connessione in sospeso. - </notification> - <notification name="InternalUsherError"> - Si è verificato un errore interno durante il tentativo di trasportarti alla destinazione. Potrebbero esserci problemi in [SECOND_LIFE] al momento. - </notification> - <notification name="NoGoodTPDestination"> - Impossibile trovare una buona destinazione per il teletrasporto in questa regione. - </notification> - <notification name="InternalErrorRegionResolver"> - Si è verificato un errore interno durante il tentativo di risolvere le coordinate per la richiesta di teletrasporto. Può darsi che ci siano problemi in [SECOND_LIFE] al momento. - </notification> - <notification name="NoValidLanding"> - Non è stato trovato un punto di atterraggio valido. - </notification> - <notification name="NoValidParcel"> - Non è stato trovato nessun territorio valido. - </notification> - <notification name="ObjectGiveItem"> - Un oggetto denominato <nolink>[OBJECTFROMNAME]</nolink> di proprietà di <nolink>[ITEM_SLURL]</nolink> ti ha offerto [ITEM_SLURL]: Per usare questo oggetto è necessario passare alla modalità Avanzata e cercarlo nell'Inventario. Per passare alla modalità Avanzata, esci e riavvia l'applicazione e cambia le impostazioni della modalità nella schermata di accesso. - <form name="form"> - <button name="Keep" text="Mantieni oggetto"/> - <button name="Discard" text="Rifiuta oggetto"/> - <button name="Mute" text="Blocca oggetto"/> - </form> - </notification> - <notification name="UserGiveItem"> - [NAME_SLURL] ti ha offerto [ITEM_SLURL]. Per usare questo oggetto è necessario passare alla modalità Avanzata e cercarlo nell'Inventario. Per passare alla modalità Avanzata, esci e riavvia l'applicazione e cambia le impostazioni della modalità nella schermata di accesso. - <form name="form"> - <button name="Show" text="Mantieni oggetto"/> - <button name="Discard" text="Rifiuta oggetto"/> - <button name="Mute" text="Blocca utente"/> - </form> - </notification> - <notification name="GodMessage"> - [NAME] - -[MESSAGE] - </notification> - <notification name="JoinGroup"> - [MESSAGE] - <form name="form"> - <button name="Join" text="Iscriviti"/> - <button name="Decline" text="Rifiuta"/> - <button name="Info" text="Info"/> - </form> - </notification> - <notification name="TeleportOffered"> - [NAME_SLURL] ti ha offerto il teleport alla sua ubicazione: - -[MESSAGE] - [MATURITY_STR] <icon>[MATURITY_ICON]</icon> - <form name="form"> - <button name="Teleport" text="Teleport"/> - <button name="Cancel" text="Cancella"/> - </form> - </notification> - <notification name="TeleportOfferSent"> - Offerta di Teleport inviata a [TO_NAME] - </notification> - <notification name="GotoURL"> - [MESSAGE] -[URL] - <form name="form"> - <button name="Later" text="Successivo"/> - <button name="GoNow..." text="Vai ora..."/> - </form> - </notification> - <notification name="OfferFriendship"> - [NAME_SLURL] ti ha offerto di diventare amici. - -[MESSAGE] - -(L'impostazione predefinita consente a ciascuno di vedere se l'altro è online.) - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - </form> - </notification> - <notification name="FriendshipOffered"> - Hai offerto l'amicizia a [TO_NAME] - </notification> - <notification name="OfferFriendshipNoMessage"> - [NAME_SLURL] ti ha offerto di diventare amici. - -(L'impostazione predefinita consente a ciascuno di vedere se l'altro è online.) - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - </form> - </notification> - <notification name="FriendshipAccepted"> - [NAME] ha accettato la tua offerta di amicizia. - </notification> - <notification name="FriendshipDeclined"> - [NAME] ha rifiutato la tua offerta di amicizia. - </notification> - <notification name="FriendshipAcceptedByMe"> - Offerta di amicizia accettata. - </notification> - <notification name="FriendshipDeclinedByMe"> - Offerta di amicizia rifiutata. - </notification> - <notification name="OfferCallingCard"> - [NOME] ti offre il suo biglietto da visita. -Questo sarà aggiunto nel tuo inventario come segnalibro per consentirti di inviare rapidamente messaggi IM a questo residente. - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - </form> - </notification> - <notification name="RegionRestartMinutes"> - Questa regione verrà riavviata fra [MINUTES] minuti. -Se rimani qui verrai scollegato da Second Life. - </notification> - <notification name="RegionRestartSeconds"> - Questa regione verrà riavviata fra [SECONDS] secondi. -Se rimani qui verrai scollegato da Second Life. - </notification> - <notification name="LoadWebPage"> - Caricare la pagina Web [URL]? - -[MESSAGE] - -Dall'oggetto: <nolink>[OBJECTNAME]</nolink>, proprietario: [NAME]? - <form name="form"> - <button name="Gotopage" text="Caricare"/> - <button name="Cancel" text="Annulla"/> - </form> - </notification> - <notification name="FailedToFindWearableUnnamed"> - Impossibile trovare [TYPE] nel database. - </notification> - <notification name="FailedToFindWearable"> - Impossibile trovare [TYPE] chiamato [DESC] nel database. - </notification> - <notification name="InvalidWearable"> - L'elemento che stai tentando di indossare usa delle caratteristiche che il tuo viewer non può leggere. Aggiorna la versione di [APP_NAME] per poterlo indossare. - </notification> - <notification name="ScriptQuestion"> - '<nolink>[OBJECTNAME]</nolink>', un oggetto posseduto da '[NAME]' vorrebbe: - -[QUESTIONS] -OK? - <form name="form"> - <button name="Yes" text="Si"/> - <button name="No" text="No"/> - <button name="Mute" text="Blocca"/> - </form> - </notification> - <notification name="ScriptQuestionCaution"> - Un oggetto di nome '<nolink>[OBJECTNAME]</nolink>', posseduto da '[NAME]' vorrebbe: - -[QUESTIONS] -Se non ti fidi di questo oggetto e del suo ideatore, dovresti rifiutare la richiesta. - -Concedi questa richiesta? - <form name="form"> - <button name="Grant" text="Accetta"/> - <button name="Deny" text="Nega"/> - <button name="Details" text="Dettagli..."/> - </form> - </notification> - <notification name="ScriptDialog"> - '<nolink>[TITLE]</nolink>' di [NAME] -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Ignora"/> - </form> - </notification> - <notification name="ScriptDialogGroup"> - '<nolink>[TITLE]</nolink>' di [GROUPNAME] -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Ignora"/> - </form> - </notification> - <notification name="BuyLindenDollarSuccess"> - Grazie per aver inviato il pagamento. - -Il tuo saldo in L$ sarà aggiornato al termine dell'elaborazione. Se l'elaborazione dovesse impiegare più di 20 minuti, la transazione verrà annullata. In quel caso l'ammontare dell'acquisto verrà accreditato sul tuo saldo in US$. - -Potrai controllare lo stato del pagamento nella pagina della cronologia delle transazioni nel tuo [http://secondlife.com/account/ Dashboard] - </notification> - <notification name="FirstOverrideKeys"> - I tuoi movimenti della tastiera vengono ora gestiti da un oggetto. -Prova i tasti freccia o AWSD per vedere quello che fanno. -Alcuni oggetti (come pistole) richiedono di andare in mouselook per il loro utilizzo. -Premi 'M' per farlo. - </notification> - <notification name="FirstSandbox"> - Questa è una Sandbox, serve ai residenti per imparare a costruire. - -Gli oggetti che costruisci qui verranno eliminati dopo che te ne sei andato, perciò non dimenticare di cliccare sulle tue creazioni col tasto destro del mouse e scegliere Prendi per trasferirle nel tuo Inventario. - </notification> - <notification name="MaxListSelectMessage"> - È possibile selezionare solo fino a [MAX_SELECT] oggetti da questa lista. - </notification> - <notification name="VoiceInviteP2P"> - [NAME] ti sta invitando ad una chiamata in chat vocale. -Clicca su Accetta per unirti alla chiamata oppure su Declina to declinare l'invito. Clicca su Blocca per bloccare questo chiamante. - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - <button name="Mute" text="Blocca"/> - </form> - </notification> - <notification name="AutoUnmuteByIM"> - [NAME] ha ricevuto un IM ed è stato automaticamente sbloccato. - </notification> - <notification name="AutoUnmuteByMoney"> - [NAME] ha ricevuto del denaro ed è stato automaticamente sbloccato. - </notification> - <notification name="AutoUnmuteByInventory"> - [NAME] ha ricevuto un'offerta di inventario ed è stato automaticamente sbloccato. - </notification> - <notification name="VoiceInviteGroup"> - [NAME] si è aggiunto alla chiamata in chat vocale con il gruppo [GROUP]. -Clicca su Accetta per unirti alla chiamata oppure su Declina to declinare l'invito. Clicca su Blocca per bloccare questo chiamante. - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - <button name="Mute" text="Blocca"/> - </form> - </notification> - <notification name="VoiceInviteAdHoc"> - [NAME] si è aggiunto alla chiamata in chat vocale con una conferenza. -Clicca su Accetta per unirti alla chiamata oppure su Declina to declinare l'invito. Clicca su Blocca per bloccare questo chiamante. - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - <button name="Mute" text="Blocca"/> - </form> - </notification> - <notification name="InviteAdHoc"> - [NAME] ti sta invitando ad una conferenza in chat. -Clicca su Accetta per unirti alla chat oppure su Declina per declinare l'invito. Clicca su Blocca per bloccare questo chiamante. - <form name="form"> - <button name="Accept" text="Accetta"/> - <button name="Decline" text="Rifiuta"/> - <button name="Mute" text="Blocca"/> - </form> - </notification> - <notification name="VoiceChannelFull"> - La chiamata vocale a cui si sta cercando di unirsi, [VOICE_CHANNEL_NAME], ha raggiunto la capacità massima. Si prega di riprovare più tardi. - </notification> - <notification name="ProximalVoiceChannelFull"> - Siamo spiacenti. Questa area ha raggiunto la capacità massima per le chiamate voice. Si prega di provare ad usare il voice in un'altra area. - </notification> - <notification name="VoiceChannelDisconnected"> - Sei stato scollegato da [VOICE_CHANNEL_NAME]. Verrai ora ricollegato alla chat vocale nei dintorni. - </notification> - <notification name="VoiceChannelDisconnectedP2P"> - [VOICE_CHANNEL_NAME] ha chiuso la chiamata. Verrai ora ricollegato alla chat vocale nei dintorni. - </notification> - <notification name="P2PCallDeclined"> - [VOICE_CHANNEL_NAME] ha declinato la tua chiamata. Verrai ora ricollegato alla chat vocale nei dintorni. - </notification> - <notification name="P2PCallNoAnswer"> - [VOICE_CHANNEL_NAME] non è disponibile per la tua chiamata. Verrai ora ricollegato alla chat vocale nei dintorni. - </notification> - <notification name="VoiceChannelJoinFailed"> - Collegamento a [VOICE_CHANNEL_NAME] non riuscito, riprova più tardi. Verrai ora ricollegato alla chat vocale nei dintorni. - </notification> - <notification name="VoiceLoginRetry"> - Stiamo creando una canale voice per te. Questo può richiedere fino a un minuto. - </notification> - <notification name="VoiceEffectsExpired"> - Almeno una delle manipolazioni vocali alle quali sei iscritto è scaduta. -[[URL] Fai clic qui] per rinnovare l'abbonamento. - </notification> - <notification name="VoiceEffectsExpiredInUse"> - Poiché la manipolazione vocale attiva è scaduta, sono state applicate le tue impostazioni normali. -[[URL] Fai clic qui] per rinnovare l'abbonamento. - </notification> - <notification name="VoiceEffectsWillExpire"> - Almeno una delle tue manipolazioni vocali scadrà tra meno di [INTERVAL] giorni. -[[URL] Fai clic qui] per rinnovare l'abbonamento. - </notification> - <notification name="VoiceEffectsNew"> - Sono disponibili nuove manipolazioni vocali. - </notification> - <notification name="Cannot enter parcel: not a group member"> - Soltanto i membri di un determinato gruppo possono visitare questa zona. - </notification> - <notification name="Cannot enter parcel: banned"> - Non puoi entrare nel terreno, sei stato bloccato. - </notification> - <notification name="Cannot enter parcel: not on access list"> - Non puoi entrare nel terreno, non fai parte della lista di accesso. - </notification> - <notification name="VoiceNotAllowed"> - Non hai il permesso di collegarti ad una voice chat con [VOICE_CHANNEL_NAME]. - </notification> - <notification name="VoiceCallGenericError"> - Si è verificato un errore durante il tentativo di collegarti a una voice chat con [VOICE_CHANNEL_NAME]. Riprova più tardi. - </notification> - <notification name="UnsupportedCommandSLURL"> - Lo SLurl su cui hai cliccato non è valido. - </notification> - <notification name="BlockedSLURL"> - Uno SLurl è stato ricevuto da un browser sconosciuto o non sicuro e, per sicurezza, è stato bloccato. - </notification> - <notification name="ThrottledSLURL"> - Sono stati ricevuti più SLurl da un browser sconosciuto o non sicuro in un breve periodo di tempo. -Per sicurezza, verranno bloccati per alcuni secondi. - </notification> - <notification name="IMToast"> - [MESSAGE] - <form name="form"> - <button name="respondbutton" text="Rispondi"/> - </form> - </notification> - <notification name="ConfirmCloseAll"> - Sicuro di voler chiudere tutti gli IM? - <usetemplate ignoretext="Conferma prima della chiusura di tutti gli IM" name="okcancelignore" notext="Annulla" yestext="OK"/> - </notification> - <notification name="AttachmentSaved"> - L'elemento da collegare è stato salvato. - </notification> - <notification name="UnableToFindHelpTopic"> - Impossibile trovare l'argomento nell'aiuto per questo elemento. - </notification> - <notification name="ObjectMediaFailure"> - Errore del server: mancato aggiornamento o ottenimento del media. -'[ERROR]' - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TextChatIsMutedByModerator"> - La tua chat di testo è stata interrotta dal moderatore. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="VoiceIsMutedByModerator"> - La tua voce è stata interrotta dal moderatore. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ConfirmClearTeleportHistory"> - Sei sicuro di volere cancellare la cronologia dei tuoi teleport? - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> - </notification> - <notification name="BottomTrayButtonCanNotBeShown"> - Il pulsante selezionato non può essere visualizzato in questo momento. -Il pulsante verrà visualizzato quando lo spazio sarà sufficiente. - </notification> - <notification name="ShareNotification"> - Scegli i residenti con i quali condividere. - </notification> - <notification name="ShareItemsConfirmation"> - Sei sicuro di volere condividere gli oggetti - -<nolink>[MSG]</nolink> - -Con i seguenti residenti? - -[RESIDENTS] - <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Ok"/> - </notification> - <notification name="ItemsShared"> - Gli oggetti sono stati condivisi. - </notification> - <notification name="DeedToGroupFail"> - Cessione al gruppo non riuscita. - </notification> - <notification name="AvatarRezNotification"> - ( in esistenza da [EXISTENCE] secondi ) -Nuvola avatar '[NAME]' dileguata dopo [TIME] secondi. - </notification> - <notification name="AvatarRezSelfBakedDoneNotification"> - ( in esistenza da [EXISTENCE] secondi ) -Baking dei vestiti terminato dopo [TIME] secondi. - </notification> - <notification name="AvatarRezSelfBakedUpdateNotification"> - ( in esistenza da [EXISTENCE] secondi ) -Hai inviato un aggiornamento al tuo aspetto dopo [TIME] secondi. -[STATUS] - </notification> - <notification name="AvatarRezCloudNotification"> - ( presente da [EXISTENCE] secondi ) -Avatar '[NAME]' trasformato in nuvola. - </notification> - <notification name="AvatarRezArrivedNotification"> - ( presente da [EXISTENCE] secondi ) -È comparso l'avatar '[NAME]'. - </notification> - <notification name="AvatarRezLeftCloudNotification"> - ( presente da [EXISTENCE] secondi ) -Avatar '[NAME]' partito dopo [TIME] secondi sotto forma di nuvola. - </notification> - <notification name="AvatarRezEnteredAppearanceNotification"> - ( presente da [EXISTENCE] secondi ) -Avatar '[NAME]' è entrato nella modalità aspetto. - </notification> - <notification name="AvatarRezLeftAppearanceNotification"> - ( presente da [EXISTENCE] secondi ) -Avatar '[NAME]' ha lasciato la modalità aspetto. - </notification> - <notification name="NoConnect"> - Ci sono problemi di connessione tramite [PROTOCOL] [HOSTID]. -Ti consigliamo di controllare le tue impostazioni di rete e della firewall. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NoVoiceConnect"> - A causa di problemi di connessione al server vocale - -[HOSTID] - -le comunicazioni tramite voce non saranno disponibili. -Ti consigliamo di controllare le tue impostazioni di rete e della firewall. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarRezLeftNotification"> - ( presente da [EXISTENCE] secondi ) -Avatar '[NAME]' è partito completamente caricato. - </notification> - <notification name="AvatarRezSelfBakedTextureUploadNotification"> - ( In esistenza da [EXISTENCE] secondi) -Hai caricato una texture [RESOLUTION] completata per '[BODYREGION]' dopo [TIME] secondi. - </notification> - <notification name="AvatarRezSelfBakedTextureUpdateNotification"> - ( In esistenza da [EXISTENCE] secondi) -Hai aggiornato localmente una texture [RESOLUTION] completata per '[BODYREGION]' dopo [TIME] secondi. - </notification> - <notification name="ConfirmLeaveCall"> - Sei sicuro di volere uscire dalla chiamata? - <usetemplate ignoretext="Conferma prima di uscire dalla chiamata" name="okcancelignore" notext="No" yestext="Sì"/> - </notification> - <notification name="ConfirmMuteAll"> - Hai scelto di disattivare l'audio di tutti i partecipanti alla chiamata di gruppo. -In questo modo verrà disattivato l'audio anche di tutti i residenti che si -uniscono alla chiamata in un secondo momento, anche dopo che tu ti fossi scollegato. - -Disattiva audio di tutti? - <usetemplate ignoretext="Conferma prima di disattivare l'audio di tutti i partecipanti alla chiamata di gruppo" name="okcancelignore" notext="Annulla" yestext="Ok"/> - </notification> - <notification label="Chat" name="HintChat"> - Per partecipare alla conversazione, digita nel campo chat in basso. - </notification> - <notification label="Alzati" name="HintSit"> - Per alzarti ed uscire dalla posizione seduta, clicca sul pulsante Alzati. - </notification> - <notification label="Parla" name="HintSpeak"> - Clicca sul pulsante Parla per attivare o disattivare il microfono. - -Clicca sul tasto freccia su per visualizzare il pannello di controllo voce. - -Se nascondi il tasto Parla viene disattivata la funzione voce. - </notification> - <notification label="Esplora il mondo" name="HintDestinationGuide"> - La Guida alle destinazioni contiene migliaia di nuovi luoghi da scoprire. Seleziona una destinazione e scegli Teleport per iniziare a esplorare. - </notification> - <notification label="Pannello laterale" name="HintSidePanel"> - Nel pannello laterale puoi acccedere rapidamente all'inventario, ai vestiti, ai profili e ad altro ancora. - </notification> - <notification label="Movimento" name="HintMove"> - Per camminare o correre, apri il pannello Sposta e usa le frecce direzionali per spostarti. Puoi anche usare le frecce direzionali sulla tastiera del computer. - </notification> - <notification label="" name="HintMoveClick"> - 1. Clicca per camminare -Clicca dovunque sul terreno per camminare verso quella posizione. - -2. Clicca e trascina per ruotare la visuale -Clicca e trascina dovunque nel mondo per ruotare la visuale - </notification> - <notification label="Nome visualizzato" name="HintDisplayName"> - Imposta qui il tuo nome visualizzato personalizzabile. È in aggiunta al tuo nome utente, che non può essere cambiato. Nelle preferenze puoi anche cambiare il modo in cui vedi i nomi degli altri. - </notification> - <notification label="Visuale" name="HintView"> - Per cambiare la visuale della fotocamera, usa i controlli Ruota visuale e Panoramica. Ripristina la visuale premendo il tasto Esc o camminando. - </notification> - <notification label="Inventario" name="HintInventory"> - Trova oggetti nel tuo inventario. I più recenti si trovano nella scheda Elementi recenti. - </notification> - <notification label="Hai dollari Linden!" name="HintLindenDollar"> - Ecco il saldo attuale in L$. Clicca su Acquista L$ per acquistare altri dollari Linden. - </notification> - <notification name="PopupAttempt"> - Non è stato possibile aprire una finestra pop-up. - <form name="form"> - <ignore name="ignore" text="Attiva tutti i pop-up"/> - <button name="open" text="Apri finestra pop-up"/> - </form> - </notification> - <notification name="AuthRequest"> - Il sito '<nolink>[HOST_NAME]</nolink>' nel reame '[REALM]' richiede un nome utente e una password. - <form name="form"> - <input name="username" text="Nome utente"/> - <input name="password" text="Password"/> - <button name="ok" text="Invia"/> - <button name="cancel" text="Annulla"/> - </form> - </notification> - <notification label="" name="ModeChange"> - Per cambiare la modalità è necessario uscire e riavviare. - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoClassifieds"> - La creazione e la modifica degli annunci sono disponibili solo in modalità Avanzata. Uscire e cambiare la modalità ? Sulla schermata di accesso si può selezionare la modalità . - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoGroupInfo"> - La creazione e la modifica dei gruppi sono disponibili solo in modalità Avanzata. Uscire e cambiare la modalità ? Sulla schermata di accesso si può selezionare la modalità . - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoPicks"> - La creazione e la modifica dei luoghi preferiti sono disponibili solo in modalità Avanzata. Uscire e cambiare la modalità ? Sulla schermata di accesso si può selezionare la modalità . - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoWorldMap"> - La visualizzazione della mappa del mondo è disponibile solo in modalità Avanzata. Uscire e cambiare la modalità ? Sulla schermata di accesso si può selezionare la modalità . - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoVoiceCall"> - Le chiamate Voce sono disponibili solo in modalità Avanzata. Eseguire il logout e cambiare la modalità ? - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoAvatarShare"> - La condivisione è disponibile solo in modalità Avanzata. Eseguire il logout e cambiare la modalità ? - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <notification label="" name="NoAvatarPay"> - Il pagamento ad altri residenti è disponibile solo in modalità Avanzata. Eseguire il logout e cambiare la modalità ? - <usetemplate name="okcancelbuttons" notext="Non uscire" yestext="Esci"/> - </notification> - <global name="UnsupportedCPU"> - - La velocità della tua CPU non soddisfa i requisiti minimi. - </global> - <global name="UnsupportedGLRequirements"> - Non sembra che tu abbia i requisiti hardware adeguati per [APP_NAME]. [APP_NAME] richiede una scheda grafica OpenGL con supporto multitexture. Se ne hai una in dotazione, accertati di avere i driver, i service pack e i patch più recenti per la scheda grafica e per il sistema operativo. - -Se continui ad avere problemi, visita la pagina [SUPPORT_SITE]. - </global> - <global name="UnsupportedCPUAmount"> - 796 - </global> - <global name="UnsupportedRAMAmount"> - 510 - </global> - <global name="UnsupportedGPU"> - - La tua scheda grafica non soddisfa i requisiti minimi. - </global> - <global name="UnsupportedRAM"> - - La memoria del tuo sistema non soddisfa i requisiti minimi. - </global> - <global name="You can only set your 'Home Location' on your land or at a mainland Infohub."> - Se sei proprietario di un appezzamento di terreno, puoi definirlo come la tua posizione iniziale. -In alternativa, puoi guardare sulla mappa e trovare luoghi segnalati come "Infohub". - </global> - <global name="You died and have been teleported to your home location"> - Sei deceduto e sei stato teleportato a casa tua. - </global> -</notifications> diff --git a/indra/newview/skins/minimal/xui/it/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/it/panel_adhoc_control_panel.xml deleted file mode 100644 index be001d09f8e..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Chiama" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Abbandona chiamata" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Regolazione voce" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/it/panel_bottomtray.xml deleted file mode 100644 index ab9b175f16b..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="Accende o spegne il microfono"/> - <string name="VoiceControlBtnToolTip" value="Mostra o nasconde il pannello di regolazione voce"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Parla" name="speak_btn" tool_tip="Accendi e spegni il microfono"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Cambia le preferenze per i suoni"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gesture" name="Gesture" tool_tip="Fai fare qualcosa al tuo avatar"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Visuale" name="camera_btn" tool_tip="Controlla l'angolo di visualizzazione"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Destinazioni" name="destination_btn" tool_tip="Viaggia in Second Life"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Il mio avatar" name="avatar_btn" tool_tip="Cambia il tuo aspetto"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Persone" name="show_people_button" tool_tip="Trova persone in Second Life"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Profilo" name="show_profile_btn" tool_tip="Visualizza e modifica il tuo profilo"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Istruzioni" name="show_help_btn" tool_tip="Visualizza le informazioni della guida di Second Life"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Conversazioni"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notifiche"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/it/panel_group_control_panel.xml deleted file mode 100644 index 2d17e4a0cdf..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Profilo del gruppo" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Chiama il gruppo" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Abbandona chiamata" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Apri la regolazione voce" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/it/panel_im_control_panel.xml deleted file mode 100644 index 269931a1a42..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profilo" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Aggiungi come amico" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleport" name="teleport_btn" tool_tip="Offri teleport a questa persona"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Chiama" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Chiudi chiamata" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="Blocca" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="Sblocca" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="Volume chiamata" value="0.5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_login.xml b/indra/newview/skins/minimal/xui/it/panel_login.xml deleted file mode 100644 index f88230ed11d..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_login.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://join.secondlife.com/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=it - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Nome utente: - </text> - <combo_box name="username_combo" tool_tip="Il nome utente che hai scelto durante la registrazione, come robby12 o Stella Soleggiato"/> - <text name="password_text"> - Password: - </text> - <check_box label="Ricorda password" name="remember_check"/> - <button label="Accedi" name="connect_btn"/> - <text name="mode_selection_text"> - Modalità : - </text> - <combo_box name="mode_combo" tool_tip="Seleziona la modalità . Seleziona Di base per esplorare facilmente e rapidamente e per la chat. Seleziona Avanzata per accedere ad altre funzionalità ."> - <combo_box.item label="Di base" name="Basic"/> - <combo_box.item label="Avanzate" name="Advanced"/> - </combo_box> - <text name="start_location_text"> - Inizia da: - </text> - <combo_box name="start_location_combo"> - <combo_box.item label="La mia ultima ubicazione" name="MyLastLocation"/> - <combo_box.item label="Casa mia" name="MyHome"/> - <combo_box.item label="<Scrivi nome regione>" name="Typeregionname"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Iscriviti - </text> - <text name="forgot_password_text"> - Hai dimenticato il nome utente o la password? - </text> - <text name="login_help"> - Ti serve aiuto con la fase di accesso? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/it/panel_navigation_bar.xml deleted file mode 100644 index 8e721677591..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Torna al luogo precedente"/> - <pull_button name="forward_btn" tool_tip="Procedi un luogo in avanti"/> - <button name="home_btn" tool_tip="Teleport a casa"/> - <location_input label="Posizione" name="location_combo"/> - <search_combo_box label="Cerca" name="search_combo_box" tool_tip="Cerca"> - <combo_editor label="Cerca [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="Trascina qui i punti di riferimento per un accesso rapido ai tuoi posti preferiti in Second Life."> - <label name="favorites_bar_label" tool_tip="Trascina qui i punti di riferimento per un accesso rapido ai tuoi posti preferiti in Second Life."> - Barra dei Preferiti - </label> - <chevron_button name=">>" tool_tip="Mostra altri Preferiti"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_people.xml b/indra/newview/skins/minimal/xui/it/panel_people.xml deleted file mode 100644 index 81e886acf0d..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_people.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Persone" name="people_panel"> - <string name="no_recent_people" value="Nessuna persona recente. Stai cercando persone da frequentare? Prova il pulsante Destinazioni in basso."/> - <string name="no_filtered_recent_people" value="Nessuna persona recente con quel nome."/> - <string name="no_one_near" value="Nessuno vicino. Stai cercando persone da frequentare? Prova il pulsante Destinazioni in basso."/> - <string name="no_one_filtered_near" value="Nessuno vicino con quel nome."/> - <string name="no_friends_online" value="Nessun amico online"/> - <string name="no_friends" value="Nessun amico"/> - <string name="no_friends_msg"> - Clicca con il pulsante destro su un Residente per aggiungerlo come amico. -Stai cercando persone da frequentare? Prova il pulsante Destinazioni in basso. - </string> - <string name="no_filtered_friends_msg"> - Non riesci a trovare quello che cerchi? Prova il pulsante Destinazioni in basso. - </string> - <string name="people_filter_label" value="Filtro persone"/> - <string name="groups_filter_label" value="Filtro gruppi"/> - <string name="no_filtered_groups_msg" value="Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/groups/[SEARCH_TERM] Cerca]."/> - <string name="no_groups_msg" value="Stai cercando gruppi di cui far parte? Prova [secondlife:///app/search/groups Cerca]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Fai doppio clic per aprire la Mappa, premi il tasto Maiusc e trascina per la panoramica)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Fai doppio clic per teleportarti, premi il tasto Maiusc e trascina per la panoramica)"/> - <filter_editor label="Filtro" name="filter_input"/> - <tab_container name="tabs"> - <panel label="NELLE VICINANZE" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="nearby_view_sort_btn" tool_tip="Opzioni"/> - <button name="add_friend_btn" tool_tip="Aggiungi il residente selezionato alla tua lista degli amici"/> - </panel> - </panel> - <panel label="I MIEI AMICI" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="Online"/> - <accordion_tab name="tab_all" title="Tutto"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="options_gear_btn_panel"> - <menu_button name="friends_viewsort_btn" tool_tip="Mostra ulteriori opzioni"/> - </layout_panel> - <layout_panel name="add_btn_panel"> - <button name="add_btn" tool_tip="Offri amicizia a un residente"/> - </layout_panel> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Rimuovi la persona selezionata dalla lista degli amici"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="I MIEI GRUPPI" name="groups_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="groups_viewsort_btn" tool_tip="Opzioni"/> - <button name="plus_btn" tool_tip="Aderisci al gruppo/Crea nuovo gruppo"/> - <button name="activate_btn" tool_tip="Attiva il gruppo selezionato"/> - </panel> - </panel> - <panel label="RECENTE" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="recent_viewsort_btn" tool_tip="Opzioni"/> - <button name="add_friend_btn" tool_tip="Aggiungi il residente selezionato alla tua lista degli amici"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Profilo" name="view_profile_btn" tool_tip="Mostra immagine, gruppi e altre informazioni del residente"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="Apri una sessione messaggio istantaneo"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Chiama" name="call_btn" tool_tip="Chiama questo residente"/> - </layout_panel> - <layout_panel name="share_btn_lp"> - <button label="Condividi" name="share_btn" tool_tip="Condividi un oggetto dell'inventario"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleport" name="teleport_btn" tool_tip="Offri teleport"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Profilo del gruppo" name="group_info_btn" tool_tip="Mostra informazioni gruppo"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Chat di gruppo" name="chat_btn" tool_tip="Apri sessione chat"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Chiamata al gruppo" name="group_call_btn" tool_tip="Chiama questo gruppo"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/it/panel_side_tray_tab_caption.xml deleted file mode 100644 index 3c7874e0939..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Pannello laterale"/> - <button name="undock" tool_tip="Disà ncora"/> - <button name="dock" tool_tip="Àncora"/> - <button name="show_help" tool_tip="Mostra Aiuto"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/it/panel_status_bar.xml b/indra/newview/skins/minimal/xui/it/panel_status_bar.xml deleted file mode 100644 index 4353eb9d508..00000000000 --- a/indra/newview/skins/minimal/xui/it/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Domenica:Lunedì:Martedì:Mercoledì:Giovedì:Venerdì:Sabato - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - Gennaio:Febbraio:Marzo:Aprile:Maggio:Giugno:Luglio:Agosto:Settembre:Ottobre:Novembre:Dicembre - </panel.string> - <panel.string name="packet_loss_tooltip"> - Perdita di pacchetti - </panel.string> - <panel.string name="bandwidth_tooltip"> - Larghezza di banda - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Clicca per aggiornare il tuo saldo in L$" value="L$ 20"/> - <button label="ACQUISTA L$" name="buyL" tool_tip="Clicca per acquistare più L$"/> - </panel> - <text name="TimeText" tool_tip="Orario attuale (Pacifico)"> - 24:00, ora del Pacifico - </text> - <button name="media_toggle_btn" tool_tip="Attiva/ferma tutti i media (musica, video, pagine Web)"/> - <button name="volume_btn" tool_tip="Regolazione del volume globale"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/floater_camera.xml b/indra/newview/skins/minimal/xui/ja/floater_camera.xml deleted file mode 100644 index 71a20c8e187..00000000000 --- a/indra/newview/skins/minimal/xui/ja/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater"> - <floater.string name="rotate_tooltip"> - フォーカスをä¸å¿ƒã«ã‚«ãƒ¡ãƒ©ã‚’回転 - </floater.string> - <floater.string name="zoom_tooltip"> - フォーカスã«å‘ã‘ã¦ã‚«ãƒ¡ãƒ©ã‚’ズーム- </floater.string> - <floater.string name="move_tooltip"> - カメラを上下左å³ã«ç§»å‹• - </floater.string> - <floater.string name="camera_modes_title"> - カメラモード - </floater.string> - <floater.string name="pan_mode_title"> - 旋回 - ズーム- 水平・垂直移動 - </floater.string> - <floater.string name="presets_mode_title"> - 事å‰è¨å®šã®è¦–野 - </floater.string> - <floater.string name="free_mode_title"> - オブジェクトを見る - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - å‰æ–¹è¦–ç•Œ - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - グループ視界 - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - 後方視界 - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - オブジェクト視点 - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - 一人称視点 - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="å‘ã„ã¦ã„る方法ã«ã‚«ãƒ¡ãƒ©ã‚’ズーム"> - <joystick_rotate name="cam_rotate_stick" tool_tip="自分を軸ã«ã‚«ãƒ¡ãƒ©ã‚’回ã™"/> - <slider_bar name="zoom_slider" tool_tip="å‘ã„ã¦ã„ã‚‹æ–¹å‘ã«ã‚«ãƒ¡ãƒ©ã‚’ズーム"/> - <joystick_track name="cam_track_stick" tool_tip="カメラを上下左å³ã«å‹•ã‹ã—ã¾ã™"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="事å‰è¨å®šã®è¦–野"/> - <button label="" name="pan_btn" tool_tip="旋回 - ズーム- 水平・垂直移動"/> - <button label="" name="avatarview_btn" tool_tip="カメラモード"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/floater_help_browser.xml b/indra/newview/skins/minimal/xui/ja/floater_help_browser.xml deleted file mode 100644 index 1322343903b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="ãƒã‚¦ãƒ„ー"> - <floater.string name="loading_text"> - ãƒãƒ¼ãƒ‡ã‚£ãƒ³ã‚°... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/floater_media_browser.xml b/indra/newview/skins/minimal/xui/ja/floater_media_browser.xml deleted file mode 100644 index 439c36dbe9b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="メディアブラウザ"> - <floater.string name="home_page_url"> - http://jp.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://jp.secondlife.com/support - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="戻る" name="back"/> - <button label="å‰" name="forward"/> - <button label="æ›´æ–°" name="reload"/> - <button label="検索" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="å·»ã戻ã—" name="rewind"/> - <button label="åœæ¢" name="stop"/> - <button label="æ—©é€ã‚Š" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="ç¾åœ¨ã®ãƒšãƒ¼ã‚¸ã‚’区画ã«é€ã‚‹" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Web ブラウザã§é–‹ã" name="open_browser"/> - <check_box label="常㫠Web ブラウザã§é–‹ã" name="open_always"/> - <button label="é–‰ã˜ã‚‹" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/ja/floater_nearby_chat.xml deleted file mode 100644 index a29c6a06304..00000000000 --- a/indra/newview/skins/minimal/xui/ja/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="è¿‘ãã®ãƒãƒ£ãƒƒãƒˆ"> - <check_box label="ãƒãƒ£ãƒƒãƒˆã‚’翻訳(Google翻訳)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/floater_web_content.xml b/indra/newview/skins/minimal/xui/ja/floater_web_content.xml deleted file mode 100644 index 48fe8aee78d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="å‰ã¸"/> - <button name="forward" tool_tip="次ã¸"/> - <button name="stop" tool_tip="ナビゲーションをåœæ¢"/> - <button name="reload" tool_tip="ページを更新"/> - <combo_box name="address" tool_tip="ã“ã“ã« URL を入力"/> - <icon name="media_secure_lock_flag" tool_tip="安全ãªé–²è¦§"/> - <button name="popexternal" tool_tip="ã“ã® URL をブラウザã§é–‹ã"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/inspect_avatar.xml b/indra/newview/skins/minimal/xui/ja/inspect_avatar.xml deleted file mode 100644 index 42b67cd3331..00000000000 --- a/indra/newview/skins/minimal/xui/ja/inspect_avatar.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_name_small" value="Grumpity ProductEngine with a long name"/> - <text name="user_slid" value="james.linden"/> - <text name="user_subtitle" value="11 Months, 3 days old"/> - <text name="user_details"> - This is my second life description and I really think it is great.But for some reason my description is super extra long because I like to talk a whole lot - </text> - <slider name="volume_slider" tool_tip="ボイス音é‡" value="0.5"/> - <button label="フレンド登録" name="add_friend_btn"/> - <button label="IM" name="im_btn"/> - <button label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="ボイスを無効" name="disable_voice"/> - <button label="ボイスを有効" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/inspect_object.xml b/indra/newview/skins/minimal/xui/ja/inspect_object.xml deleted file mode 100644 index e6999ac9b15..00000000000 --- a/indra/newview/skins/minimal/xui/ja/inspect_object.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - 制作者: [CREATOR] - </string> - <string name="CreatorAndOwner"> - [CREATOR]ã«ã‚ˆã‚‹ãƒã‚§ãƒƒã‚¯ -[OWNER]ã«ã‚ˆã‚‹ãƒã‚§ãƒƒã‚¯ - </string> - <string name="Price"> - L$[AMOUNT] - </string> - <string name="PriceFree"> - ç„¡æ–™ã§ã™ï¼ - </string> - <string name="Touch"> - 触る - </string> - <string name="Sit"> - 座る - </string> - <text name="object_name" value="二行ã«ã‚ãŸã‚‹é•·ã„オブジェクトåをテスト"/> - <text name="object_creator"> - by secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about -owner secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about - </text> - <text name="price_text"> - L$30,000 - </text> - <text name="object_description"> - This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really? - </text> - <text name="object_media_url"> - http://www.superdupertest.com - </text> - <button label="è²·ã†" name="buy_btn"/> - <button label="支払ã†" name="pay_btn"/> - <button label="コピーをå–ã‚‹" name="take_free_copy_btn"/> - <button label="触る" name="touch_btn"/> - <button label="座る" name="sit_btn"/> - <button label="é–‹ã" name="open_btn"/> - <icon name="secure_browsing" tool_tip="安全ãªé–²è¦§"/> - <button label="詳細" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/ja/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_add_wearable_gear.xml deleted file mode 100644 index 982a03c6a8f..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="æ–°ã—ã„é †ã«ä¸¦ã¹æ›¿ãˆ" name="sort_by_most_recent"/> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_name"/> - <menu_item_check label="タイプã«ã‚ˆã‚‹ä¸¦ã¹æ›¿ãˆ" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/ja/menu_attachment_other.xml deleted file mode 100644 index 5adf0b3745f..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="Profile..."/> - <menu_item_call label="フレンド登録" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="グループã«æ‹›å¾…" name="Invite..."/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="Avatar Mute"/> - <menu_item_call label="å ±å‘Š" name="abuse"/> - <menu_item_call label="フリーズ" name="Freeze..."/> - <menu_item_call label="追放" name="Eject..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> - <menu_item_call label="ズームイン" name="Zoom In"/> - <menu_item_call label="支払ã†" name="Pay..."/> - <menu_item_call label="オブジェクトã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/ja/menu_attachment_self.xml deleted file mode 100644 index 830ddc9f636..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="タッãƒ" name="Attachment Object Touch"/> - <menu_item_call label="編集" name="Edit..."/> - <menu_item_call label="å–り外ã™" name="Detach"/> - <menu_item_call label="座る" name="Sit Down Here"/> - <menu_item_call label="ç«‹ã¡ä¸ŠãŒã‚‹" name="Stand Up"/> - <menu_item_call label="容姿" name="Change Outfit"/> - <menu_item_call label="アウトフィットã®ç·¨é›†" name="Edit Outfit"/> - <menu_item_call label="シェイプã®ç·¨é›†" name="Edit My Shape"/> - <menu_item_call label="フレンド" name="Friends..."/> - <menu_item_call label="グループ" name="Groups..."/> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Profile..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> - <menu_item_call label="下ã«è½ã¨ã™" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/ja/menu_avatar_icon.xml deleted file mode 100644 index b04f602134d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="Show Profile"/> - <menu_item_call label="IMã‚’é€ä¿¡..." name="Send IM"/> - <menu_item_call label="ãƒ•ãƒ¬ãƒ³ãƒ‰ã‚’è¿½åŠ ..." name="Add Friend"/> - <menu_item_call label="フレンドを削除..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/ja/menu_avatar_other.xml deleted file mode 100644 index 54dd96f5eff..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="Profile..."/> - <menu_item_call label="フレンド登録" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="グループã«æ‹›å¾…" name="Invite..."/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="Avatar Mute"/> - <menu_item_call label="å ±å‘Š" name="abuse"/> - <menu_item_call label="フリーズ" name="Freeze..."/> - <menu_item_call label="追放" name="Eject..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> - <menu_item_call label="ズームイン" name="Zoom In"/> - <menu_item_call label="支払ã†" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/ja/menu_avatar_self.xml deleted file mode 100644 index 4709522665b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_avatar_self.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="座る" name="Sit Down Here"/> - <menu_item_call label="ç«‹ã¡ä¸ŠãŒã‚‹" name="Stand Up"/> - <context_menu label="å–り外ã™" name="Take Off >"> - <context_menu label="衣類" name="Clothes >"> - <menu_item_call label="シャツ" name="Shirt"/> - <menu_item_call label="パンツ" name="Pants"/> - <menu_item_call label="スカート" name="Skirt"/> - <menu_item_call label="é´" name="Shoes"/> - <menu_item_call label="é´ä¸‹" name="Socks"/> - <menu_item_call label="ジャケット" name="Jacket"/> - <menu_item_call label="手袋" name="Gloves"/> - <menu_item_call label="下ç€ã‚·ãƒ£ãƒ„" name="Self Undershirt"/> - <menu_item_call label="下ç€ãƒ‘ンツ" name="Self Underpants"/> - <menu_item_call label="タトゥ" name="Self Tattoo"/> - <menu_item_call label="物ç†ä½œç”¨" name="Self Physics"/> - <menu_item_call label="アルファ" name="Self Alpha"/> - <menu_item_call label="ã™ã¹ã¦ã®è¡£é¡ž" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="å–り外ã™" name="Object Detach"/> - <menu_item_call label="ã™ã¹ã¦å–り外ã™" name="Detach All"/> - </context_menu> - <menu_item_call label="容姿" name="Chenge Outfit"/> - <menu_item_call label="アウトフィットを編集" name="Edit Outfit"/> - <menu_item_call label="シェイプを編集" name="Edit My Shape"/> - <menu_item_call label="フレンド" name="Friends..."/> - <menu_item_call label="グループ" name="Groups..."/> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Profile..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/ja/menu_bottomtray.xml deleted file mode 100644 index 7f106c1ab52..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="スピーカーボタン" name="EnableVoiceChat"/> - <menu_item_check label="ジェスãƒãƒ£ãƒ¼ãƒœã‚¿ãƒ³" name="ShowGestureButton"/> - <menu_item_check label="移動ボタン" name="ShowMoveButton"/> - <menu_item_check label="視界ボタン" name="ShowCameraButton"/> - <menu_item_check label="スナップショットボタン" name="ShowSnapshotButton"/> - <menu_item_check label="制作ボタン" name="ShowBuildButton"/> - <menu_item_check label="検索ボタン" name="ShowSearchButton"/> - <menu_item_check label="地図ボタン" name="ShowWorldMapButton"/> - <menu_item_check label="ミニマップボタン" name="ShowMiniMapButton"/> - <menu_item_call label="切りå–ã‚Š" name="NearbyChatBar_Cut"/> - <menu_item_call label="コピー" name="NearbyChatBar_Copy"/> - <menu_item_call label="貼り付ã‘" name="NearbyChatBar_Paste"/> - <menu_item_call label="削除" name="NearbyChatBar_Delete"/> - <menu_item_call label="ã™ã¹ã¦é¸æŠž" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/ja/menu_cof_attachment.xml deleted file mode 100644 index e786d02e40a..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="å–り外ã™" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/ja/menu_cof_body_part.xml deleted file mode 100644 index eb5faa25453..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="交æ›" name="replace"/> - <menu_item_call label="編集" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/ja/menu_cof_clothing.xml deleted file mode 100644 index d984342896e..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="å–り外ã™" name="take_off"/> - <menu_item_call label="編集" name="edit"/> - <menu_item_call label="交æ›" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_cof_gear.xml deleted file mode 100644 index a071abbd2e8..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="衣類" name="COF.Gear.New_Clothes"/> - <menu label="æ–°ã—ã„身体部ä½" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_edit.xml b/indra/newview/skins/minimal/xui/ja/menu_edit.xml deleted file mode 100644 index c2ef0179b23..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="編集" name="Edit"> - <menu_item_call label="å…ƒã«æˆ»ã™" name="Undo"/> - <menu_item_call label="ã‚„ã‚Šç›´ã—" name="Redo"/> - <menu_item_call label="切りå–ã‚Š" name="Cut"/> - <menu_item_call label="コピー" name="Copy"/> - <menu_item_call label="貼り付ã‘" name="Paste"/> - <menu_item_call label="削除" name="Delete"/> - <menu_item_call label="複製" name="Duplicate"/> - <menu_item_call label="ã™ã¹ã¦é¸æŠž" name="Select All"/> - <menu_item_call label="é¸æŠžè§£é™¤" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_favorites.xml b/indra/newview/skins/minimal/xui/ja/menu_favorites.xml deleted file mode 100644 index 4708b1446c7..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="Teleport To Landmark"/> - <menu_item_call label="ランドマークを表示・編集" name="Landmark Open"/> - <menu_item_call label="SLurl をコピー" name="Copy slurl"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="Show On Map"/> - <menu_item_call label="コピー" name="Landmark Copy"/> - <menu_item_call label="貼り付ã‘" name="Landmark Paste"/> - <menu_item_call label="削除" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_gesture_gear.xml deleted file mode 100644 index abf490a2479..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="ãŠæ°—ã«å…¥ã‚Šã‹ã‚‰ã®è¿½åŠ ・削除" name="activate"/> - <menu_item_call label="コピー" name="copy_gesture"/> - <menu_item_call label="貼り付ã‘" name="paste"/> - <menu_item_call label="UUID をコピー" name="copy_uuid"/> - <menu_item_call label="ç¾åœ¨ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã«ä¿å˜" name="save_to_outfit"/> - <menu_item_call label="編集" name="edit_gesture"/> - <menu_item_call label="調ã¹ã‚‹" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_group_plus.xml b/indra/newview/skins/minimal/xui/ja/menu_group_plus.xml deleted file mode 100644 index 3787f7d6450..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="グループã«å‚åŠ ..." name="item_join"/> - <menu_item_call label="æ–°ã—ã„グループ..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/ja/menu_hide_navbar.xml deleted file mode 100644 index 3a1ae49700a..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="ナビゲーションãƒãƒ¼ã‚’表示" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="ãŠæ°—ã«å…¥ã‚Šãƒãƒ¼ã‚’表示" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="ã€Œå ´æ‰€ã€ã®ãƒŸãƒ‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’表示" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/ja/menu_im_well_button.xml deleted file mode 100644 index 3397004bd70..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="ã™ã¹ã¦é–‰ã˜ã‚‹" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/ja/menu_imchiclet_adhoc.xml deleted file mode 100644 index 8cd6fa4a27d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="セッション終了" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/ja/menu_imchiclet_group.xml deleted file mode 100644 index 5bcb96f0837..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±" name="Show Profile"/> - <menu_item_call label="セッションを表示" name="Chat"/> - <menu_item_call label="セッション終了" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/ja/menu_imchiclet_p2p.xml deleted file mode 100644 index 5453f998fa0..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="Show Profile"/> - <menu_item_call label="フレンド登録" name="Add Friend"/> - <menu_item_call label="セッションを表示" name="Send IM"/> - <menu_item_call label="セッション終了" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_inspect_avatar_gear.xml deleted file mode 100644 index 9d0d0f10a63..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="view_profile"/> - <menu_item_call label="フレンド登録" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="コール" name="call"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="teleport"/> - <menu_item_call label="グループã«æ‹›å¾…" name="invite_to_group"/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="block"/> - <menu_item_call label="ブãƒãƒƒã‚¯è§£é™¤" name="unblock"/> - <menu_item_call label="å ±å‘Š" name="report"/> - <menu_item_call label="フリーズ" name="freeze"/> - <menu_item_call label="追放" name="eject"/> - <menu_item_call label="追放" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="debug"/> - <menu_item_call label="地図ã§æŽ¢ã™" name="find_on_map"/> - <menu_item_call label="ズームイン" name="zoom_in"/> - <menu_item_call label="支払ã†" name="pay"/> - <menu_item_call label="共有" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_inspect_object_gear.xml deleted file mode 100644 index 2edade70bfc..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="触る" name="touch"/> - <menu_item_call label="座る" name="sit"/> - <menu_item_call label="支払ã†" name="pay"/> - <menu_item_call label="è²·ã†" name="buy"/> - <menu_item_call label="å–ã‚‹" name="take"/> - <menu_item_call label="コピーをå–ã‚‹" name="take_copy"/> - <menu_item_call label="é–‹ã" name="open"/> - <menu_item_call label="編集" name="edit"/> - <menu_item_call label="装ç€" name="wear"/> - <menu_item_call label="è¿½åŠ " name="add"/> - <menu_item_call label="å ±å‘Š" name="report"/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="block"/> - <menu_item_call label="ズームイン" name="zoom_in"/> - <menu_item_call label="削除" name="remove"/> - <menu_item_call label="詳細" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_inspect_self_gear.xml deleted file mode 100644 index e3e206f3aa5..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="座る" name="Sit Down Here"/> - <menu_item_call label="ç«‹ã¡ä¸ŠãŒã‚‹" name="Stand Up"/> - <context_menu label="å–り外ã™" name="Take Off >"> - <context_menu label="衣類" name="Clothes >"> - <menu_item_call label="シャツ" name="Shirt"/> - <menu_item_call label="パンツ" name="Pants"/> - <menu_item_call label="スカート" name="Skirt"/> - <menu_item_call label="é´" name="Shoes"/> - <menu_item_call label="é´ä¸‹" name="Socks"/> - <menu_item_call label="ジャケット" name="Jacket"/> - <menu_item_call label="手袋" name="Gloves"/> - <menu_item_call label="下ç€ã‚·ãƒ£ãƒ„" name="Self Undershirt"/> - <menu_item_call label="下ç€ãƒ‘ンツ" name="Self Underpants"/> - <menu_item_call label="タトゥ" name="Self Tattoo"/> - <menu_item_call label="アルファ" name="Self Alpha"/> - <menu_item_call label="ã™ã¹ã¦ã®è¡£é¡ž" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="å–り外ã™" name="Object Detach"/> - <menu_item_call label="ã™ã¹ã¦å–り外ã™" name="Detach All"/> - </context_menu> - <menu_item_call label="アウトフィットã®å¤‰æ›´" name="Chenge Outfit"/> - <menu_item_call label="アウトフィットã®ç·¨é›†" name="Edit Outfit"/> - <menu_item_call label="シェイプã®ç·¨é›†" name="Edit My Shape"/> - <menu_item_call label="フレンド" name="Friends..."/> - <menu_item_call label="グループ" name="Groups..."/> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Profile..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/ja/menu_inv_offer_chiclet.xml deleted file mode 100644 index 9a4a8138f51..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="é–‰ã˜ã‚‹" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inventory.xml b/indra/newview/skins/minimal/xui/ja/menu_inventory.xml deleted file mode 100644 index f78ec09e5e0..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inventory.xml +++ /dev/null @@ -1,87 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="共有" name="Share"/> - <menu_item_call label="購入" name="Task Buy"/> - <menu_item_call label="é–‹ã" name="Task Open"/> - <menu_item_call label="å†ç”Ÿ" name="Task Play"/> - <menu_item_call label="プãƒãƒ‘ティ" name="Task Properties"/> - <menu_item_call label="åå‰ã®å¤‰æ›´" name="Task Rename"/> - <menu_item_call label="削除" name="Task Remove"/> - <menu_item_call label="ã”ã¿ç®±ã‚’空ã«ã™ã‚‹" name="Empty Trash"/> - <menu_item_call label="紛失物フォルダを空ã«ã™ã‚‹" name="Empty Lost And Found"/> - <menu_item_call label="æ–°ã—ã„フォルダ" name="New Folder"/> - <menu_item_call label="æ–°ã—ã„スクリプト" name="New Script"/> - <menu_item_call label="æ–°ã—ã„ノートカード" name="New Note"/> - <menu_item_call label="æ–°ã—ã„ジェスãƒãƒ£ãƒ¼" name="New Gesture"/> - <menu label="æ–°ã—ã„衣類" name="New Clothes"> - <menu_item_call label="æ–°ã—ã„シャツ" name="New Shirt"/> - <menu_item_call label="æ–°ã—ã„ズボン" name="New Pants"/> - <menu_item_call label="æ–°ã—ã„é´" name="New Shoes"/> - <menu_item_call label="æ–°ã—ã„é´ä¸‹" name="New Socks"/> - <menu_item_call label="æ–°ã—ã„ジャケット" name="New Jacket"/> - <menu_item_call label="æ–°ã—ã„スカート" name="New Skirt"/> - <menu_item_call label="æ–°ã—ã„手袋" name="New Gloves"/> - <menu_item_call label="æ–°ã—ã„下ç€" name="New Undershirt"/> - <menu_item_call label="æ–°ã—ã„パンツ" name="New Underpants"/> - <menu_item_call label="æ–°ã—ã„アルファマスク" name="New Alpha Mask"/> - <menu_item_call label="æ–°ã—ã„タトゥ" name="New Tattoo"/> - <menu_item_call label="æ–°è¦ã®ç‰©ç†ä½œç”¨" name="New Physics"/> - </menu> - <menu label="æ–°ã—ã„身体部ä½" name="New Body Parts"> - <menu_item_call label="æ–°ã—ã„シェイプ(体型)" name="New Shape"/> - <menu_item_call label="æ–°ã—ã„スã‚ン" name="New Skin"/> - <menu_item_call label="æ–°ã—ã„髪" name="New Hair"/> - <menu_item_call label="æ–°ã—ã„眼" name="New Eyes"/> - </menu> - <menu label="種類を変更" name="Change Type"> - <menu_item_call label="デフォルト" name="Default"/> - <menu_item_call label="手袋" name="Gloves"/> - <menu_item_call label="ジャケット" name="Jacket"/> - <menu_item_call label="パンツ" name="Pants"/> - <menu_item_call label="シェイプ" name="Shape"/> - <menu_item_call label="é´" name="Shoes"/> - <menu_item_call label="シャツ" name="Shirt"/> - <menu_item_call label="スカート" name="Skirt"/> - <menu_item_call label="下ç€ãƒ‘ンツ" name="Underpants"/> - <menu_item_call label="下ç€ã‚·ãƒ£ãƒ„" name="Undershirt"/> - </menu> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="Landmark Open"/> - <menu_item_call label="é–‹ã" name="Animation Open"/> - <menu_item_call label="é–‹ã" name="Sound Open"/> - <menu_item_call label="ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‚’入れ替ãˆã‚‹" name="Replace Outfit"/> - <menu_item_call label="ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã«è¿½åŠ ã™ã‚‹" name="Add To Outfit"/> - <menu_item_call label="ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‹ã‚‰å–り除ã" name="Remove From Outfit"/> - <menu_item_call label="オリジナルを探ã™" name="Find Original"/> - <menu_item_call label="アイテムを除外ã™ã‚‹" name="Purge Item"/> - <menu_item_call label="アイテムを復元ã™ã‚‹" name="Restore Item"/> - <menu_item_call label="é–‹ã" name="Open"/> - <menu_item_call label="オリジナルを開ãã¾ã™" name="Open Original"/> - <menu_item_call label="プãƒãƒ‘ティ" name="Properties"/> - <menu_item_call label="åå‰ã‚’変更ã™ã‚‹" name="Rename"/> - <menu_item_call label="UUID をコピーã™ã‚‹" name="Copy Asset UUID"/> - <menu_item_call label="コピー" name="Copy"/> - <menu_item_call label="貼り付ã‘" name="Paste"/> - <menu_item_call label="リンクを貼り付ã‘ã‚‹" name="Paste As Link"/> - <menu_item_call label="削除" name="Remove Link"/> - <menu_item_call label="削除" name="Delete"/> - <menu_item_call label="システムフォルダを削除ã™ã‚‹" name="Delete System Folder"/> - <menu_item_call label="コンファレンスãƒãƒ£ãƒƒãƒˆã‚’開始ã™ã‚‹" name="Conference Chat Folder"/> - <menu_item_call label="å†ç”Ÿã™ã‚‹" name="Sound Play"/> - <menu_item_call label="ランドマークã®æƒ…å ±" name="About Landmark"/> - <menu_item_call label="インワールドã§å†ç”Ÿã™ã‚‹" name="Animation Play"/> - <menu_item_call label="ãƒãƒ¼ã‚«ãƒ«ã§å†ç”Ÿã™ã‚‹" name="Animation Audition"/> - <menu_item_call label="インスタントメッセージをé€ä¿¡ã™ã‚‹" name="Send Instant Message"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆã‚’é€ã‚‹..." name="Offer Teleport..."/> - <menu_item_call label="コンファレンスãƒãƒ£ãƒƒãƒˆã‚’開始ã™ã‚‹" name="Conference Chat"/> - <menu_item_call label="アクティブ" name="Activate"/> - <menu_item_call label="éžã‚¢ã‚¯ãƒ†ã‚£ãƒ–" name="Deactivate"/> - <menu_item_call label="別åã§ä¿å˜ã™ã‚‹" name="Save As"/> - <menu_item_call label="自分ã‹ã‚‰å–り外ã™" name="Detach From Yourself"/> - <menu_item_call label="装ç€" name="Wearable And Object Wear"/> - <menu label="装ç€å…ˆ" name="Attach To"/> - <menu label="HUD 装ç€å…ˆ" name="Attach To HUD"/> - <menu_item_call label="編集" name="Wearable Edit"/> - <menu_item_call label="è¿½åŠ " name="Wearable Add"/> - <menu_item_call label="å–り外ã™" name="Take Off"/> - <menu_item_call label="ï¼ï¼ã‚ªãƒ—ションãªã—ï¼ï¼" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/ja/menu_inventory_add.xml deleted file mode 100644 index 6c754e5d087..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inventory_add.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="アップãƒãƒ¼ãƒ‰" name="upload"> - <menu_item_call label="ç”»åƒ ï¼ˆL$ [COST] )..." name="Upload Image"/> - <menu_item_call label="サウンド (L$[COST] )..." name="Upload Sound"/> - <menu_item_call label="アニメーション (L$ [COST] )..." name="Upload Animation"/> - <menu_item_call label="一括 (ファイルã«ã¤ã L$[COST] )..." name="Bulk Upload"/> - <menu_item_call label="デフォルトã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ¨©é™ã‚’è¨å®š" name="perm prefs"/> - </menu> - <menu_item_call label="æ–°è¦ãƒ•ã‚©ãƒ«ãƒ€" name="New Folder"/> - <menu_item_call label="æ–°è¦ã‚¹ã‚¯ãƒªãƒ—ト" name="New Script"/> - <menu_item_call label="æ–°ã—ã„ノートカード" name="New Note"/> - <menu_item_call label="æ–°è¦ã‚¸ã‚§ã‚¹ãƒãƒ£ãƒ¼" name="New Gesture"/> - <menu label="æ–°ã—ã„衣類" name="New Clothes"> - <menu_item_call label="æ–°ã—ã„シャツ" name="New Shirt"/> - <menu_item_call label="æ–°ã—ã„パンツ" name="New Pants"/> - <menu_item_call label="æ–°ã—ã„é´" name="New Shoes"/> - <menu_item_call label="æ–°ã—ã„é´ä¸‹" name="New Socks"/> - <menu_item_call label="æ–°ã—ã„ジャケット" name="New Jacket"/> - <menu_item_call label="æ–°ã—ã„スカート" name="New Skirt"/> - <menu_item_call label="æ–°ã—ã„手袋" name="New Gloves"/> - <menu_item_call label="æ–°ã—ã„下ç€ï¼ˆä¸Šï¼‰" name="New Undershirt"/> - <menu_item_call label="æ–°ã—ã„下ç€ï¼ˆä¸‹ï¼‰" name="New Underpants"/> - <menu_item_call label="æ–°ã—ã„アルファ" name="New Alpha"/> - <menu_item_call label="æ–°ã—ã„タトゥー" name="New Tattoo"/> - <menu_item_call label="æ–°è¦ã®ç‰©ç†ä½œç”¨" name="New Physics"/> - </menu> - <menu label="æ–°ã—ã„身体部ä½" name="New Body Parts"> - <menu_item_call label="æ–°ã—ã„シェイプ(体型)" name="New Shape"/> - <menu_item_call label="æ–°ã—ã„スã‚ン" name="New Skin"/> - <menu_item_call label="æ–°ã—ã„髪" name="New Hair"/> - <menu_item_call label="æ–°ã—ã„ç›®" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/ja/menu_inventory_gear_default.xml deleted file mode 100644 index 1f425df83c0..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_inventory_gear_default.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="æ–°ã—ã„æŒã¡ç‰©ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦" name="new_window"/> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_name"/> - <menu_item_check label="æ–°ã—ã„é †ã«ä¸¦ã¹æ›¿ãˆ" name="sort_by_recent"/> - <menu_item_check label="フォルダを常ã«åå‰é †ã«ä¸¦ã¹ã‚‹" name="sort_folders_by_name"/> - <menu_item_check label="システムフォルダを上ã«ã‚½ãƒ¼ãƒˆã™ã‚‹" name="sort_system_folders_to_top"/> - <menu_item_call label="フィルターを表示" name="show_filters"/> - <menu_item_call label="フィルターをリセット" name="reset_filters"/> - <menu_item_call label="ã™ã¹ã¦ã®ãƒ•ã‚©ãƒ«ãƒ€ã‚’é–‰ã˜ã‚‹" name="close_folders"/> - <menu_item_call label="紛失物を空ã«ã™ã‚‹" name="empty_lostnfound"/> - <menu_item_call label="別åã§ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’ä¿å˜" name="Save Texture As"/> - <menu_item_call label="共有" name="Share"/> - <menu_item_call label="オリジナルを表示" name="Find Original"/> - <menu_item_call label="ã™ã¹ã¦ã®ãƒªãƒ³ã‚¯ã‚’表示" name="Find All Links"/> - <menu_item_call label="ã”ã¿ç®±ã‚’空ã«ã™ã‚‹" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_land.xml b/indra/newview/skins/minimal/xui/ja/menu_land.xml deleted file mode 100644 index 89c122f14fd..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="åœŸåœ°æƒ…å ±" name="Place Information..."/> - <menu_item_call label="ã“ã“ã«åº§ã‚‹" name="Sit Here"/> - <menu_item_call label="ã“ã®åœŸåœ°ã‚’購入" name="Land Buy"/> - <menu_item_call label="å…¥å ´è¨±å¯ã‚’購入" name="Land Buy Pass"/> - <menu_item_call label="制作" name="Create"/> - <menu_item_call label="地形を編集" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_landmark.xml b/indra/newview/skins/minimal/xui/ja/menu_landmark.xml deleted file mode 100644 index c134422955d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="SLurl をコピー" name="copy"/> - <menu_item_call label="削除" name="delete"/> - <menu_item_call label="ピックを作æˆ" name="pick"/> - <menu_item_call label="ãŠæ°—ã«å…¥ã‚Šãƒãƒ¼ã«è¿½åŠ " name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_login.xml b/indra/newview/skins/minimal/xui/ja/menu_login.xml deleted file mode 100644 index 265f3ebcd0d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_login.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="ミー" name="File"> - <menu_item_call label="環境è¨å®š" name="Preferences..."/> - <menu_item_call label="[APP_NAME] を終了" name="Quit"/> - </menu> - <menu label="ヘルプ" name="Help"> - <menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/> - <menu_item_call label="[APP_NAME] ã«ã¤ã„ã¦" name="About Second Life"/> - </menu> - <menu_item_check label="デãƒãƒƒã‚°ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’表示ã™ã‚‹" name="Show Debug Menu"/> - <menu label="デãƒãƒƒã‚°" name="Debug"> - <menu_item_call label="デãƒãƒƒã‚°è¨å®šã‚’表示" name="Debug Settings"/> - <menu_item_call label="UI/色ã®è¨å®š" name="UI/Color Settings"/> - <menu_item_call label="XUI プレビューツール" name="UI Preview Tool"/> - <menu label="UI テスト" name="UI Tests"/> - <menu_item_call label="ウィンドウã®ã‚µã‚¤ã‚ºã‚’è¨å®š..." name="Set Window Size..."/> - <menu_item_call label="利用è¦ç´„を表示" name="TOS"/> - <menu_item_call label="クリティカルメッセージを表示" name="Critical"/> - <menu_item_call label="メディアブラウザã®ãƒ†ã‚¹ãƒˆ" name="Web Browser Test"/> - <menu_item_call label="Web コンテンツフãƒãƒ¼ã‚¿ãƒ¼ã®ãƒ†ã‚¹ãƒˆ" name="Web Content Floater Test"/> - <menu_item_check label="グリッドピッカーを表示ã™ã‚‹" name="Show Grid Picker"/> - <menu_item_call label="通知コンソールを表示ã™ã‚‹" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/ja/menu_mini_map.xml b/indra/newview/skins/minimal/xui/ja/menu_mini_map.xml deleted file mode 100644 index 2e733ee24b5..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="ズーム(近)" name="Zoom Close"/> - <menu_item_call label="ズーム(ä¸ï¼‰" name="Zoom Medium"/> - <menu_item_call label="ズーム(é )" name="Zoom Far"/> - <menu_item_call label="ズーム(デフォルト)" name="Zoom Default"/> - <menu_item_check label="地図を回転" name="Rotate Map"/> - <menu_item_check label="ä¸å¤®ã¸è‡ªå‹•ç§»å‹•" name="Auto Center"/> - <menu_item_call label="追跡をやã‚ã‚‹" name="Stop Tracking"/> - <menu_item_call label="世界地図" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_navbar.xml b/indra/newview/skins/minimal/xui/ja/menu_navbar.xml deleted file mode 100644 index 9ae2e581984..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="座標を表示" name="Show Coordinates"/> - <menu_item_check label="区画ã®ãƒ—ãƒãƒ‘ティを表示" name="Show Parcel Properties"/> - <menu_item_call label="ランドマーク" name="Landmark"/> - <menu_item_call label="切りå–ã‚Š" name="Cut"/> - <menu_item_call label="コピー" name="Copy"/> - <menu_item_call label="貼り付ã‘" name="Paste"/> - <menu_item_call label="削除" name="Delete"/> - <menu_item_call label="ã™ã¹ã¦é¸æŠž" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/ja/menu_nearby_chat.xml deleted file mode 100644 index c2e4a276861..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="è¿‘ãã®äººã‚’表示ã™ã‚‹..." name="nearby_people"/> - <menu_item_check label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸæ–‡å—を表示" name="muted_text"/> - <menu_item_check label="ãƒãƒ‡ã‚£ã‚¢ã‚¤ã‚³ãƒ³ã‚’表示" name="show_buddy_icons"/> - <menu_item_check label="åå‰ã‚’表示" name="show_names"/> - <menu_item_check label="アイコンã¨åå‰ã‚’表示" name="show_icons_and_names"/> - <menu_item_call label="æ–‡å—ã®å¤§ãã•" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/ja/menu_notification_well_button.xml deleted file mode 100644 index 913bae89586..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="ã™ã¹ã¦é–‰ã˜ã‚‹" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_object.xml b/indra/newview/skins/minimal/xui/ja/menu_object.xml deleted file mode 100644 index 4cee8089ee5..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="触る" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="触る"/> - </menu_item_call> - <menu_item_call label="編集" name="Edit..."/> - <menu_item_call label="制作" name="Build"/> - <menu_item_call label="é–‹ã" name="Open"/> - <menu_item_call label="ã“ã“ã«åº§ã‚‹" name="Object Sit"/> - <menu_item_call label="ç«‹ã¡ä¸ŠãŒã‚‹" name="Object Stand Up"/> - <menu_item_call label="オブジェクトã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Object Inspect"/> - <menu_item_call label="ズームイン" name="Zoom In"/> - <context_menu label="装ç€" name="Put On"> - <menu_item_call label="装ç€" name="Wear"/> - <menu_item_call label="è¿½åŠ " name="Add"/> - <context_menu label="å–り付ã‘ã‚‹" name="Object Attach"/> - <context_menu label="HUD ã‚’å–り付ã‘ã‚‹" name="Object Attach HUD"/> - </context_menu> - <context_menu label="管ç†" name="Remove"> - <menu_item_call label="å«ŒãŒã‚‰ã›ã®å ±å‘Š" name="Report Abuse..."/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="Object Mute"/> - <menu_item_call label="è¿”å´" name="Return..."/> - </context_menu> - <menu_item_call label="å–ã‚‹" name="Pie Object Take"/> - <menu_item_call label="コピーをå–ã‚‹" name="Take Copy"/> - <menu_item_call label="支払ã†" name="Pay..."/> - <menu_item_call label="è²·ã†" name="Buy..."/> - <menu_item_call label="削除" name="Delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_object_icon.xml b/indra/newview/skins/minimal/xui/ja/menu_object_icon.xml deleted file mode 100644 index 8c4f3286618..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="オブジェクトã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«..." name="Object Profile"/> - <menu_item_call label="ブãƒãƒƒã‚¯..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_outfit_gear.xml deleted file mode 100644 index 2bcbe1915b4..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_outfit_gear.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Outfit"> - <menu_item_call label="ç€ã‚‹ - ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‚’入れ替ãˆã‚‹" name="wear"/> - <menu_item_call label="ç€ã‚‹ - ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã«è¿½åŠ ã™ã‚‹" name="wear_add"/> - <menu_item_call label="å–り外㙠- ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‹ã‚‰å–り除ã" name="take_off"/> - <menu label="衣類" name="New Clothes"> - <menu_item_call label="シャツ" name="New Shirt"/> - <menu_item_call label="パンツ" name="New Pants"/> - <menu_item_call label="é´" name="New Shoes"/> - <menu_item_call label="é´ä¸‹" name="New Socks"/> - <menu_item_call label="ジャケット" name="New Jacket"/> - <menu_item_call label="スカート" name="New Skirt"/> - <menu_item_call label="手袋" name="New Gloves"/> - <menu_item_call label="下ç€ï¼ˆä¸Šï¼‰" name="New Undershirt"/> - <menu_item_call label="下ç€ï¼ˆä¸‹ï¼‰" name="New Underpants"/> - <menu_item_call label="アルファ" name="New Alpha"/> - <menu_item_call label="æ–°è¦ã®ç‰©ç†ä½œç”¨" name="New Physics"/> - <menu_item_call label="æ–°ã—ã„タトゥ" name="New Tattoo"/> - </menu> - <menu label="æ–°ã—ã„身体部ä½" name="New Body Parts"> - <menu_item_call label="æ–°ã—ã„シェイプ" name="New Shape"/> - <menu_item_call label="スã‚ン" name="New Skin"/> - <menu_item_call label="髪" name="New Hair"/> - <menu_item_call label="ç›®" name="New Eyes"/> - </menu> - <menu_item_call label="アウトフィットã®åå‰ã‚’変更ã™ã‚‹" name="rename"/> - <menu_item_call label="アウトフィットを削除ã™ã‚‹" name="delete_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/ja/menu_outfit_tab.xml deleted file mode 100644 index 9491c22f31b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="ç€ã‚‹ - ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‚’入れ替ãˆã‚‹" name="wear_replace"/> - <menu_item_call label="ç€ã‚‹ - ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã«è¿½åŠ ã™ã‚‹" name="wear_add"/> - <menu_item_call label="å–り外㙠- ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‹ã‚‰å–り除ã" name="take_off"/> - <menu_item_call label="アウトフィットã®ç·¨é›†" name="edit"/> - <menu_item_call label="アウトフィットã®åå‰ã‚’変更ã™ã‚‹" name="rename"/> - <menu_item_call label="アウトフィットを削除ã™ã‚‹" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_participant_list.xml b/indra/newview/skins/minimal/xui/ja/menu_participant_list.xml deleted file mode 100644 index 64d8ded722b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="SortByName"/> - <menu_item_check label="最近ã®ç™ºè¨€è€…ã§ä¸¦ã¹æ›¿ãˆ" name="SortByRecentSpeakers"/> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="View Profile"/> - <menu_item_call label="フレンド登録" name="Add Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="共有" name="Share"/> - <menu_item_call label="支払ã†" name="Pay"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="View Icons"/> - <menu_item_check label="ボイスをブãƒãƒƒã‚¯" name="Block/Unblock"/> - <menu_item_check label="æ–‡å—をブãƒãƒƒã‚¯" name="MuteText"/> - <context_menu label="モデレーターã®ã‚ªãƒ—ション" name="Moderator Options"> - <menu_item_check label="æ–‡å—ãƒãƒ£ãƒƒãƒˆã‚’許å¯" name="AllowTextChat"/> - <menu_item_call label="ã“ã®å‚åŠ è€…ã‚’ãƒŸãƒ¥ãƒ¼ãƒˆã™ã‚‹" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="ã“ã®å‚åŠ è€…ã®ãƒŸãƒ¥ãƒ¼ãƒˆã‚’解除ã™ã‚‹" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="全員をミュート" name="ModerateVoiceMute"/> - <menu_item_call label="全員ã®ãƒŸãƒ¥ãƒ¼ãƒˆè§£é™¤" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/ja/menu_people_friends_view_sort.xml deleted file mode 100644 index 76340e4d768..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_name"/> - <menu_item_check label="オンライン状態ã§ä¸¦ã¹æ›¿ãˆ" name="sort_status"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="view_icons"/> - <menu_item_check label="与ãˆã‚‰ã‚ŒãŸæ¨©é™ã‚’表示" name="view_permissions"/> - <menu_item_call label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸä½äººã¨ã‚ªãƒ–ジェクトを表示" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_groups.xml b/indra/newview/skins/minimal/xui/ja/menu_people_groups.xml deleted file mode 100644 index 842d79dc4be..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="æƒ…å ±ã‚’è¡¨ç¤º" name="View Info"/> - <menu_item_call label="ãƒãƒ£ãƒƒãƒˆ" name="Chat"/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="アクティブ" name="Activate"/> - <menu_item_call label="脱退" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/ja/menu_people_groups_view_sort.xml deleted file mode 100644 index bfc7d150176..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="グループアイコンを表示" name="Display Group Icons"/> - <menu_item_call label="é¸æŠžã—ãŸã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰è„±é€€" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/ja/menu_people_nearby.xml deleted file mode 100644 index 8d84b0e521c..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="View Profile"/> - <menu_item_call label="フレンド登録" name="Add Friend"/> - <menu_item_call label="フレンドを削除" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="地図" name="Map"/> - <menu_item_call label="共有" name="Share"/> - <menu_item_call label="支払ã†" name="Pay"/> - <menu_item_check label="ブãƒãƒƒã‚¯ãƒ»ãƒ–ãƒãƒƒã‚¯è§£é™¤" name="Block/Unblock"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆã‚’é€ã‚‹" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/ja/menu_people_nearby_multiselect.xml deleted file mode 100644 index 3f20e5d3ab1..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="フレンド登録" name="Add Friends"/> - <menu_item_call label="フレンドを削除" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="コール" name="Call"/> - <menu_item_call label="共有" name="Share"/> - <menu_item_call label="支払ã†" name="Pay"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆã‚’é€ã‚‹" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/ja/menu_people_nearby_view_sort.xml deleted file mode 100644 index a31480158a8..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="最近ã®ç™ºè¨€è€…ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_recent_speakers"/> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_name"/> - <menu_item_check label="è·é›¢ã§ä¸¦ã¹æ›¿ãˆ" name="sort_distance"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="view_icons"/> - <menu_item_call label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸä½äººã¨ã‚ªãƒ–ジェクトを表示" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/ja/menu_people_recent_view_sort.xml deleted file mode 100644 index b4f177a0688..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="æ–°ã—ã„é †ã«ä¸¦ã¹æ›¿ãˆ" name="sort_most"/> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_name"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="view_icons"/> - <menu_item_call label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸä½äººã¨ã‚ªãƒ–ジェクトを表示" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_picks.xml b/indra/newview/skins/minimal/xui/ja/menu_picks.xml deleted file mode 100644 index 011d3d25268..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="æƒ…å ±" name="pick_info"/> - <menu_item_call label="編集" name="pick_edit"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="pick_teleport"/> - <menu_item_call label="地図" name="pick_map"/> - <menu_item_call label="削除" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/ja/menu_picks_plus.xml deleted file mode 100644 index 84bf90fea05..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="æ–°ã—ã„ピック" name="create_pick"/> - <menu_item_call label="æ–°ã—ã„クラシファイド広告" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_place.xml b/indra/newview/skins/minimal/xui/ja/menu_place.xml deleted file mode 100644 index a9f05e126d1..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="ランドマークを作æˆ" name="landmark"/> - <menu_item_call label="ピックを作æˆ" name="pick"/> - <menu_item_call label="å…¥å ´è¨±å¯ã‚’購入" name="pass"/> - <menu_item_call label="編集" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/ja/menu_place_add_button.xml deleted file mode 100644 index d5ce88b0557..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="ãƒ•ã‚©ãƒ«ãƒ€ã‚’è¿½åŠ " name="add_folder"/> - <menu_item_call label="ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’è¿½åŠ " name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/ja/menu_places_gear_folder.xml deleted file mode 100644 index e64f97fda54..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_places_gear_folder.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_folder_gear"> - <menu_item_call label="ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’è¿½åŠ " name="add_landmark"/> - <menu_item_call label="ãƒ•ã‚©ãƒ«ãƒ€ã‚’è¿½åŠ " name="add_folder"/> - <menu_item_call label="商å“を復元" name="restore_item"/> - <menu_item_call label="切りå–ã‚Š" name="cut"/> - <menu_item_call label="コピー" name="copy_folder"/> - <menu_item_call label="貼り付ã‘" name="paste"/> - <menu_item_call label="åå‰ã®å¤‰æ›´" name="rename"/> - <menu_item_call label="削除" name="delete"/> - <menu_item_call label="拡大" name="expand"/> - <menu_item_call label="戻ã™" name="collapse"/> - <menu_item_call label="フォルダをã™ã¹ã¦é–‹ã" name="expand_all"/> - <menu_item_call label="フォルダをã™ã¹ã¦é–‰ã˜ã‚‹" name="collapse_all"/> - <menu_item_check label="日付ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_date"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/ja/menu_places_gear_landmark.xml deleted file mode 100644 index f416b5b1f66..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_places_gear_landmark.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_ladmark_gear"> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="teleport"/> - <menu_item_call label="ã‚‚ã£ã¨è©³ã—ã" name="more_info"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’è¿½åŠ " name="add_landmark"/> - <menu_item_call label="ãƒ•ã‚©ãƒ«ãƒ€ã‚’è¿½åŠ " name="add_folder"/> - <menu_item_call label="商å“を復元" name="restore_item"/> - <menu_item_call label="切りå–ã‚Š" name="cut"/> - <menu_item_call label="ランドマークをコピー" name="copy_landmark"/> - <menu_item_call label="SLurl をコピー" name="copy_slurl"/> - <menu_item_call label="貼り付ã‘" name="paste"/> - <menu_item_call label="åå‰ã®å¤‰æ›´" name="rename"/> - <menu_item_call label="削除" name="delete"/> - <menu_item_call label="フォルダをã™ã¹ã¦é–‹ã" name="expand_all"/> - <menu_item_call label="フォルダをã™ã¹ã¦é–‰ã˜ã‚‹" name="collapse_all"/> - <menu_item_check label="日付ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_date"/> - <menu_item_call label="ピックを作æˆ" name="create_pick"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/ja/menu_profile_overflow.xml deleted file mode 100644 index 9d3a5dda1c7..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="地図" name="show_on_map"/> - <menu_item_call label="支払ã†" name="pay"/> - <menu_item_call label="共有" name="share"/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="block"/> - <menu_item_call label="ブãƒãƒƒã‚¯è§£é™¤" name="unblock"/> - <menu_item_call label="追放" name="kick"/> - <menu_item_call label="フリーズ" name="freeze"/> - <menu_item_call label="フリーズ解除" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/ja/menu_save_outfit.xml deleted file mode 100644 index 6513d9264a4..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="ä¿å˜" name="save_outfit"/> - <menu_item_call label="別åã§ä¿å˜" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/ja/menu_script_chiclet.xml deleted file mode 100644 index a89dd0bcbe5..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="é–‰ã˜ã‚‹" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_slurl.xml b/indra/newview/skins/minimal/xui/ja/menu_slurl.xml deleted file mode 100644 index 61ba3085d9e..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="URL ã«ã¤ã„ã¦" name="about_url"/> - <menu_item_call label="URL ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã™ã‚‹" name="teleport_to_url"/> - <menu_item_call label="地図" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_teleport_history_gear.xml deleted file mode 100644 index 901eab91661..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="フォルダをã™ã¹ã¦é–‹ã" name="Expand all folders"/> - <menu_item_call label="フォルダをã™ã¹ã¦é–‰ã˜ã‚‹" name="Collapse all folders"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆã®å±¥æ´ã‚’クリア" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/ja/menu_teleport_history_item.xml deleted file mode 100644 index 66bc32214fa..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="Teleport"/> - <menu_item_call label="ã‚‚ã£ã¨è©³ã—ã" name="More Information"/> - <menu_item_call label="クリップボードã«ã‚³ãƒ”ー" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/ja/menu_teleport_history_tab.xml deleted file mode 100644 index 4dd44d2ec84..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="é–‹ã" name="TabOpen"/> - <menu_item_call label="é–‰ã˜ã‚‹" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_text_editor.xml b/indra/newview/skins/minimal/xui/ja/menu_text_editor.xml deleted file mode 100644 index fcb1038a6a5..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="切りå–ã‚Š" name="Cut"/> - <menu_item_call label="コピー" name="Copy"/> - <menu_item_call label="貼り付ã‘" name="Paste"/> - <menu_item_call label="削除" name="Delete"/> - <menu_item_call label="ã™ã¹ã¦é¸æŠž" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/ja/menu_topinfobar.xml deleted file mode 100644 index 1a67a2a8f7b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="座標を表示" name="Show Coordinates"/> - <menu_item_check label="区画ã®ãƒ—ãƒãƒ‘ティを表示" name="Show Parcel Properties"/> - <menu_item_call label="ランドマーク" name="Landmark"/> - <menu_item_call label="コピー" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_agent.xml b/indra/newview/skins/minimal/xui/ja/menu_url_agent.xml deleted file mode 100644 index 92d118a5aec..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="ä½äººã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«ã‚’表示" name="show_agent"/> - <menu_item_call label="åå‰ã‚’クリップボードã«ã‚³ãƒ”ー" name="url_copy_label"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_group.xml b/indra/newview/skins/minimal/xui/ja/menu_url_group.xml deleted file mode 100644 index 1dd3d794389..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±ã‚’è¡¨ç¤º" name="show_group"/> - <menu_item_call label="グループをクリップボードã«ã‚³ãƒ”ー" name="url_copy_label"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_http.xml b/indra/newview/skins/minimal/xui/ja/menu_url_http.xml deleted file mode 100644 index c3da8a8686c..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Web ページを開ã" name="url_open"/> - <menu_item_call label="内蔵ブラウザã§é–‹ã" name="url_open_internal"/> - <menu_item_call label="外部ブラウザã§é–‹ã" name="url_open_external"/> - <menu_item_call label="URLをクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/ja/menu_url_inventory.xml deleted file mode 100644 index 7af2f9e2cd8..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="æŒã¡ç‰©ã‚¢ã‚¤ãƒ†ãƒ を表示" name="show_item"/> - <menu_item_call label="åå‰ã‚’クリップボードã«ã‚³ãƒ”ー" name="url_copy_label"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_map.xml b/indra/newview/skins/minimal/xui/ja/menu_url_map.xml deleted file mode 100644 index 8d41e1a5712..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="ç¾åœ°ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆ" name="teleport_to_location"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/ja/menu_url_objectim.xml deleted file mode 100644 index d6a048dcfcc..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="オブジェクトã®æƒ…å ±ã‚’è¡¨ç¤º" name="show_object"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="オブジェクトã®å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆ" name="teleport_to_object"/> - <menu_item_call label="オブジェクトåをクリップボードã«ã‚³ãƒ”ー" name="url_copy_label"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/ja/menu_url_parcel.xml deleted file mode 100644 index 8d264059d3c..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="åŒºç”»æƒ…å ±ã‚’è¡¨ç¤º" name="show_parcel"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/ja/menu_url_slapp.xml deleted file mode 100644 index a516c5a075f..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行" name="run_slapp"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/ja/menu_url_slurl.xml deleted file mode 100644 index 2c857ec9152..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="å ´æ‰€ã®æƒ…å ±ã‚’è¡¨ç¤º" name="show_place"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="ç¾åœ°ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆ" name="teleport_to_location"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/ja/menu_url_teleport.xml deleted file mode 100644 index c3507a9a334..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="ã“ã®å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆ" name="teleport"/> - <menu_item_call label="地図ã«è¡¨ç¤º" name="show_on_map"/> - <menu_item_call label="SLurl をクリップボードã«ã‚³ãƒ”ー" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_viewer.xml b/indra/newview/skins/minimal/xui/ja/menu_viewer.xml deleted file mode 100644 index 52dec2b282a..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="ヘルプ" name="Help"> - <menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/> - </menu> - <menu label="アドãƒãƒ³ã‚¹" name="Advanced"> - <menu label="ショートカット" name="Shortcuts"> - <menu_item_check label="飛ã¶" name="Fly"/> - <menu_item_call label="ウィンドウを閉ã˜ã‚‹" name="Close Window"/> - <menu_item_call label="å…¨ã¦ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ã‚‹" name="Close All Windows"/> - <menu_item_call label="表示をリセットã™ã‚‹" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/ja/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/ja/menu_wearable_list_item.xml deleted file mode 100644 index c402fa0b6d2..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="交æ›" name="wear_replace"/> - <menu_item_call label="装ç€" name="wear_wear"/> - <menu_item_call label="è¿½åŠ " name="wear_add"/> - <menu_item_call label="å–り外ã™" name="take_off_or_detach"/> - <menu_item_call label="å–り外ã™" name="detach"/> - <context_menu label="装ç€ï¼š" name="wearable_attach_to"/> - <context_menu label="HUD ã«è£…ç€" name="wearable_attach_to_hud"/> - <menu_item_call label="å–り外ã™" name="take_off"/> - <menu_item_call label="編集" name="edit"/> - <menu_item_call label="アイテムã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«" name="object_profile"/> - <menu_item_call label="オリジナルを表示" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/ja/menu_wearing_gear.xml deleted file mode 100644 index 7a975381173..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="アウトフットã®ç·¨é›†" name="edit"/> - <menu_item_call label="å–り外ã™" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/ja/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/ja/menu_wearing_tab.xml deleted file mode 100644 index 9effed1f42b..00000000000 --- a/indra/newview/skins/minimal/xui/ja/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="å–り外ã™" name="take_off"/> - <menu_item_call label="å–り外ã™" name="detach"/> - <menu_item_call label="アウトフットã®ç·¨é›†" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/ja/notifications.xml b/indra/newview/skins/minimal/xui/ja/notifications.xml deleted file mode 100644 index 43934c9317f..00000000000 --- a/indra/newview/skins/minimal/xui/ja/notifications.xml +++ /dev/null @@ -1,2995 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <global name="skipnexttime"> - 今後ã¯è¡¨ç¤ºã—ãªã„ - </global> - <global name="alwayschoose"> - 常ã«ã“ã®ã‚ªãƒ—ションをé¸æŠž - </global> - <global name="implicitclosebutton"> - é–‰ã˜ã‚‹ - </global> - <template name="okbutton"> - <form> - <button name="OK_okbutton" text="$yestext"/> - </form> - </template> - <template name="okignore"> - <form> - <button name="OK_okignore" text="$yestext"/> - </form> - </template> - <template name="okcancelbuttons"> - <form> - <button name="OK_okcancelbuttons" text="$yestext"/> - <button name="Cancel_okcancelbuttons" text="$notext"/> - </form> - </template> - <template name="okcancelignore"> - <form> - <button name="OK_okcancelignore" text="$yestext"/> - <button name="Cancel_okcancelignore" text="$notext"/> - </form> - </template> - <template name="okhelpbuttons"> - <form> - <button name="OK_okhelpbuttons" text="$yestext"/> - <button name="Help" text="$helptext"/> - </form> - </template> - <template name="yesnocancelbuttons"> - <form> - <button name="Yes" text="$yestext"/> - <button name="No" text="$notext"/> - <button name="Cancel_yesnocancelbuttons" text="$canceltext"/> - </form> - </template> - <notification functor="GenericAcknowledge" label="ä¸æ˜Žã®é€šçŸ¥ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸" name="MissingAlert"> - ã‚ãªãŸã® [APP_NAME] ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ä»Šå—ã‘å–ã£ãŸé€šçŸ¥ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 最新ビューワãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ã”確èªãã ã•ã„。 - -エラー詳細: 「 [_NAME] ã€ã¨ã„ã†é€šçŸ¥ã¯ notifications.xml ã«ã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FloaterNotFound"> - フãƒãƒ¼ã‚¿ã‚¨ãƒ©ãƒ¼ï¼šä¸‹è¨˜ã®ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸï¼š -[CONTROLS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TutorialNotFound"> - ç¾åœ¨åˆ©ç”¨å¯èƒ½ãªãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã¯ã‚ã‚Šã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GenericAlert"> - [MESSAGE] - </notification> - <notification name="GenericAlertYesCancel"> - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="ã¯ã„"/> - </notification> - <notification name="BadInstallation"> - [APP_NAME] をアップデートä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ ビューワ㮠[http://get.secondlife.com 最新ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ダウンãƒãƒ¼ãƒ‰] ã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LoginFailedNoNetwork"> - [SECOND_LIFE_GRID] ã«æŽ¥ç¶šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -「[DIAGNOSTIC]〠-インターãƒãƒƒãƒˆæŽ¥ç¶šãŒæ£å¸¸ã‹ã”確èªãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MessageTemplateNotFound"> - メッセージテンプレート [PATH] ãŒã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="WearableSave"> - ç¾åœ¨ã®è¡£é¡žã€èº«ä½“部ä½ã®å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="ä¿å˜ã—ãªã„" yestext="ä¿å˜"/> - </notification> - <notification name="CompileQueueSaveText"> - 次ã®ç†ç”±ã§ã€ã‚¹ã‚¯ãƒªãƒ—ト用テã‚ストã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ -[REASON] -後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="CompileQueueSaveBytecode"> - 次ã®ç†ç”±ã§ã€ã‚³ãƒ³ãƒ‘イルã—ãŸã‚¹ã‚¯ãƒªãƒ—トã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ -[REASON] -後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="WriteAnimationFail"> - アニメーションデータã®æ›¸ãè¾¼ã¿ã«å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="UploadAuctionSnapshotFail"> - 次ã®ç†ç”±ã§ã€ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚¹ãƒŠãƒƒãƒ—ショットã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ -[REASON] - </notification> - <notification name="UnableToViewContentsMoreThanOne"> - 一度ã«è¤‡æ•°ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ä¸èº«ã‚’表示ã§ãã¾ã›ã‚“。 -アイテムを 1 ã¤ã ã‘é¸æŠžã—ã¦ã€ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="SaveClothingBodyChanges"> - è¡£æœã€èº«ä½“部ä½ã«å¯¾ã™ã‚‹å¤‰æ›´ã‚’ã™ã¹ã¦ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ä¿å˜ã—ãªã„" yestext="ã™ã¹ã¦ä¿å˜"/> - </notification> - <notification name="FriendsAndGroupsOnly"> - フレンド以外ã‹ã‚‰ã®ã‚³ãƒ¼ãƒ«ã‚„インスタントメッセージを無視ã™ã‚‹è¨å®šã«ã—ãŸã“ã¨ã‚’ã€ç›¸æ‰‹ã«çŸ¥ã‚‰ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FavoritesOnLogin"> - 注æ„:ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ã“ã®ãƒ‘ソコンを使ã†ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯èª°ã§ã‚‚ã€ã‚ãªãŸã®ãŠæ°—ã«å…¥ã‚Šã®å ´æ‰€ã‚’見るã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GrantModifyRights"> - 他人ã«ä¿®æ£æ¨©é™ã‚’与ãˆã‚‹ã¨ã€æ¨©é™ã‚’与ãˆã‚‰ã‚ŒãŸäººã¯ã‚ãªãŸãŒæ‰€æœ‰ã™ã‚‹ã‚¤ãƒ³ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®ã‚ªãƒ–ジェクトを変更ã€å‰Šé™¤ã€æŒã¡å¸°ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®æ¨©é™ã‚’与ãˆã‚‹éš›ã«ã¯å分ã«æ³¨æ„ã—ã¦ãã ã•ã„。 -[NAME] ã«ä¿®æ£æ¨©é™ã‚’与ãˆã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="GrantModifyRightsMultiple"> - 他人ã«ä¿®æ£æ¨©é™ã‚’与ãˆã‚‹ã¨ã€æ¨©é™ã‚’与ãˆã‚‰ã‚ŒãŸäººã¯ã‚ãªãŸãŒæ‰€æœ‰ã™ã‚‹ã‚¤ãƒ³ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®ã‚ªãƒ–ジェクトを変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã“ã®æ¨©é™ã‚’与ãˆã‚‹éš›ã«ã¯å分ã«æ³¨æ„ã—ã¦ãã ã•ã„。 -é¸æŠžã—ãŸä½äººã«ä¿®æ£æ¨©é™ã‚’与ãˆã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="RevokeModifyRights"> - [NAME] ã®ä¿®æ£æ¨©é™ã‚’解約ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="RevokeModifyRightsMultiple"> - é¸æŠžã—ãŸä½äººã‹ã‚‰å¤‰æ›´æ¨©é™ã‚’å–り下ã’ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="UnableToCreateGroup"> - グループを作æˆã§ãã¾ã›ã‚“。 -[MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PanelGroupApply"> - [NEEDS_APPLY_MESSAGE] -[WANT_APPLY_MESSAGE] - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="変更を無視" yestext="変更をé©ç”¨"/> - </notification> - <notification name="MustSpecifyGroupNoticeSubject"> - グループ通知ã®é€ä¿¡ã«ã¯ã€ä»¶åã®è¨˜å…¥ãŒå¿…è¦ã§ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AddGroupOwnerWarning"> - ã‚ãªãŸã¯ [ROLE_NAME] ã®å½¹å‰²ã«ãƒ¡ãƒ³ãƒãƒ¼ã‚’与ãˆã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -任命ã•ã‚ŒãŸãƒ¡ãƒ³ãƒãƒ¼ãŒè‡ªã‚‰é€€ä»»ã—ãªã„é™ã‚Šã€ -役柄ã‹ã‚‰å‰Šé™¤ã§ãã¾ã›ã‚“。 -æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="グループオーナーを新ã—ãè¿½åŠ ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="AssignDangerousActionWarning"> - ã‚ãªãŸã¯ [ROLE_NAME] ã« [ACTION_NAME] ã®èƒ½åŠ›ã‚’ -与ãˆã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚ - - *è¦å‘Š* -ã“ã®èƒ½åŠ›ã‚’æŒã¤å½¹å‰²ã®ãƒ¡ãƒ³ãƒãƒ¼ã¯ã€ -自分ã¨ä»–ã®ãƒ¡ãƒ³ãƒãƒ¼ã«ç¾åœ¨ã‚ˆã‚Šå¼·åŠ›ãªæ¨©é™ã‚’割り当ã¦ã€ -自分をオーナーã¨ã»ã¼åŒæ§˜ã®ç«‹å ´ã«ä»»å‘½ã™ã‚‹ã“ã¨ã‚‚ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ -ã“ã®è¡Œç‚ºã®æ„味をよãç†è§£ã—ã¦ã‹ã‚‰å®Ÿè¡Œã—ã¦ãã ã•ã„。 - -ã“ã®èƒ½åŠ›ã‚’ [ROLE_NAME] ã«å‰²ã‚Šå½“ã¦ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="AssignDangerousAbilityWarning"> - ã‚ãªãŸã¯ [ROLE_NAME] ã« [ACTION_NAME] ã®èƒ½åŠ›ã‚’ -与ãˆã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚ - - *è¦å‘Š* -ã“ã®èƒ½åŠ›ã‚’ã‚‚ã¤å½¹å‰²ã®ãƒ¡ãƒ³ãƒãƒ¼ã¯ã€ -自分ã¨ä»–ã®ãƒ¡ãƒ³ãƒãƒ¼ã«ã™ã¹ã¦ã®èƒ½åŠ›ã‚’割り当ã¦ã€ -自分をオーナーã¨ã»ã¼åŒæ§˜ã®ç«‹å ´ã«ä»»å‘½ã§ãã¾ã™ã€‚ - -ã“ã®èƒ½åŠ›ã‚’ [ROLE_NAME] ã«å‰²ã‚Šå½“ã¦ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="AttachmentDrop"> - アタッãƒãƒ¡ãƒ³ãƒˆã‚’下ã«ç½®ã“ã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="アタッãƒãƒ¡ãƒ³ãƒˆã‚’下ã«è½ã¨ã™å‰ã®ç¢ºèª" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="JoinGroupCanAfford"> - ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«å‚åŠ ã™ã‚‹ã«ã¯ã€L$ [COST] ã‹ã‹ã‚Šã¾ã™ã€‚ -続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="å‚åŠ "/> - </notification> - <notification name="JoinGroupNoCost"> - [NAME] ã¨ã„ã†ã‚°ãƒ«ãƒ¼ãƒ—ã«å…¥ã‚ã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="å‚åŠ "/> - </notification> - <notification name="JoinGroupCannotAfford"> - ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«åŠ å…¥ã™ã‚‹ã«ã¯ã€L$ [COST] å¿…è¦ã§ã™ã€‚ -L$ ãŒä¸è¶³ã—ã¦ã„ã‚‹ã®ã§ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«å‚åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - </notification> - <notification name="CreateGroupCost"> - ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—を作るã«ã¯ L$ 100 ã‹ã‹ã‚Šã¾ã™ã€‚ -一人ã§ã¯ã‚°ãƒ«ãƒ¼ãƒ—ã«ãªã‚‰ãªã„ã®ã§ã€æ°¸ä¹…ã«å‰Šé™¤ã•ã‚Œã¦ã—ã¾ã„ã¾ã™ã€‚ -48 時間以内ã«ãƒ¡ãƒ³ãƒãƒ¼ã‚’勧誘ã—ã€å…¥ä¼šã—ã¦ã‚‚らã£ã¦ãã ã•ã„。 - <usetemplate canceltext="ã‚ャンセル" name="okcancelbuttons" notext="ã‚ャンセル" yestext="L$100 ã§ã‚°ãƒ«ãƒ¼ãƒ—を作æˆ"/> - </notification> - <notification name="LandBuyPass"> - L$ [COST] 㧠[TIME] 時間 [PARCEL_NAME] ã«å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ -å…¥å ´è¨±å¯ã‚’購入ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="SalePriceRestriction"> - ä¸ç‰¹å®šã®äººã«å£²å´ã™ã‚‹å ´åˆã«ã¯ã€ -売å´ä¾¡æ ¼ã¯L$ 0 以上ã«è¨å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ -売å´ä¾¡æ ¼ã‚’L$ 0 ã«è¨å®šã™ã‚‹å ´åˆã¯ã€ -売å´ã™ã‚‹å€‹äººã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="ConfirmLandSaleChange"> - é¸æŠžã—㟠[LAND_SIZE] 平方メートルã®åœŸåœ°ã¯ã€å£²ã‚Šå‡ºã—ä¸ã«è¨å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ -売å´ä¾¡æ ¼ L$ [SALE_PRICE] ã§ã€[NAME] ã«å£²å´ã‚’èªå¯ã—ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmLandSaleToAnyoneChange"> - 注æ„: 「誰ã«ã§ã‚‚販売ã€ã‚’クリックã™ã‚‹ã“ã¨ã§ã€ã‚ãªãŸã®åœŸåœ°ã¯ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ã„る人ã«é™ã‚‰ãš [SECOND_LIFE] コミュニティ全体ã§åˆ©ç”¨å¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚ - -é¸æŠžã—㟠[LAND_SIZE] 平方メートルã®åœŸåœ°ã¯ã€è²©å£²å¯¾è±¡ã«è¨å®šã•ã‚Œã¾ã—ãŸã€‚ -è²©å£²ä¾¡æ ¼ L$ [SALE_PRICE] ã§ã€[NAME] ãŒè²©å£²å¯¾è±¡è€…ã¨ãªã‚Šã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ReturnObjectsDeededToGroup"> - ã“ã®åŒºç”»ã®ã‚°ãƒ«ãƒ¼ãƒ— [NAME] 共有ã®ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトをã€ä»¥å‰ã®æ‰€æœ‰è€…ã®ã€ŒæŒã¡ç‰©ã€ã«æˆ»ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - -*è¦å‘Š* ã“ã‚Œã«ã‚ˆã‚Šã€ -グループã«è²æ¸¡ã•ã‚ŒãŸã€Œå†è²©ãƒ»ãƒ—レゼントä¸å¯ã€ã®ã‚ªãƒ–ジェクトã¯å‰Šé™¤ã•ã‚Œã¾ã™ï¼ -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedByUser"> - ã“ã®åŒºç”»ã§ã€ -ä½äºº [NAME] ãŒæ‰€æœ‰ã™ã‚‹å…¨ã¦ã®ã‚ªãƒ–ジェクトを -本人ã®ã€ŒæŒã¡ç‰©ã€ã«æœ¬å½“ã«è¿”å´ã—ã¦ã‚‚よã„ã§ã™ã‹ï¼Ÿ - -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedBySelf"> - ã“ã®åœŸåœ°åŒºç”»å†…ã«ã‚ã‚‹ã€ã‚ãªãŸãŒæ‰€æœ‰ã™ã‚‹ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトを〠-ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«æˆ»ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚続ã‘ã¾ã™ã‹ï¼Ÿ - -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedBySelf"> - ã“ã®åœŸåœ°åŒºç”»å†…ã«ã‚ã‚‹ã€ã‚ãªãŸä»¥å¤–ãŒæ‰€æœ‰ã™ã‚‹ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトを〠-ãã‚Œãžã‚Œã®æ‰€æœ‰è€…ã®ã€ŒæŒã¡ç‰©ã€ã«æˆ»ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ -グループã«è²æ¸¡ã•ã‚ŒãŸã€Œå†è²©ãƒ»ãƒ—レゼントå¯ã€ã®ã‚ªãƒ–ジェクトã¯ã€ä»¥å‰ã®æ‰€æœ‰è€…ã«è¿”å´ã•ã‚Œã¾ã™ã€‚ - -*è¦å‘Š* ã“ã‚Œã«ã‚ˆã‚Šã€ -グループã«è²æ¸¡ã•ã‚ŒãŸã€Œå†è²©ãƒ»ãƒ—レゼントä¸å¯ã€ã®ã‚ªãƒ–ジェクトã¯å‰Šé™¤ã•ã‚Œã¾ã™ï¼ -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByUser"> - ã“ã®åœŸåœ°åŒºç”»å†…ã«ã‚る〠-[NAME]以外ã«ã‚ˆã‚‹æ‰€æœ‰ã®ã‚ªãƒ–ジェクトをã™ã¹ã¦ãã‚Œãžã‚Œã®æ‰€æœ‰è€…ã®ã€ŒæŒã¡ç‰©ã€ã«è¿”å´ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -æ“作を続行ã—ã¾ã™ã‹ï¼Ÿã‚°ãƒ«ãƒ¼ãƒ—ã«è²æ¸¡ã•ã‚ŒãŸã€Œå†è²©ãƒ»ãƒ—レゼントå¯ã€ã®ã‚ªãƒ–ジェクトã¯ã€ä»¥å‰ã®æ‰€æœ‰è€…ã«è¿”å´ã•ã‚Œã¾ã™ã€‚ - -*è¦å‘Š* ã“ã‚Œã«ã‚ˆã‚Šã€ -グループã«è²æ¸¡ã•ã‚ŒãŸã€Œå†è²©ãƒ»ãƒ—レゼントä¸å¯ã€ã®ã‚ªãƒ–ジェクトã¯å‰Šé™¤ã•ã‚Œã¾ã™ï¼ -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnAllTopObjects"> - å…¨ã¦ã®ãƒªã‚¹ãƒˆã•ã‚ŒãŸã‚ªãƒ–ジェクトを所有者ã«æœ¬å½“ã«è¿”å´ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="DisableAllTopObjects"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰å†…ã®ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトを無効ã«ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByGroup"> - ã“ã®åœŸåœ°ã®åŒºç”»ä¸Šã®ã‚ªãƒ–ジェクトã®ã†ã¡ã€ã‚°ãƒ«ãƒ¼ãƒ— [NAME] ã¨ã®é–“ã§å…±æœ‰ã—ã¦ã„ãªã„オブジェクトを所有者ã«è¿”å´ã—ã¾ã™ã‹ï¼Ÿ - -オブジェクト: [N] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="UnableToDisableOutsideScripts"> - スクリプトを無効ã«ã§ãã¾ã›ã‚“。 -ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰å…¨ä½“ãŒã€Œãƒ€ãƒ¡ãƒ¼ã‚¸æœ‰åŠ¹ã€ã«è¨å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ -æ¦å™¨ã‚’使用ã™ã‚‹ã«ã¯ã‚¹ã‚¯ãƒªãƒ—トã®å®Ÿè¡Œã‚’許å¯ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="MultipleFacesSelected"> - ç¾åœ¨è¤‡æ•°ã®é¢ãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã™ã€‚ -ã“ã®ã¾ã¾ç¶šã‘ãŸå ´åˆã€ãƒ¡ãƒ‡ã‚£ã‚¢ã®åˆ¥ã€…ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒã‚ªãƒ–ジェクトã®è¤‡æ•°ã®é¢ã«è¨å®šã•ã‚Œã¾ã™ã€‚ -メディアを 1 ã¤ã®é¢ã ã‘ã«å–り付ã‘ã‚‹ã«ã¯ã€ã€Œé¢ã‚’é¸æŠžã€ã‚’é¸ã‚“ã§ã‚ªãƒ–ジェクトã®å¸Œæœ›ã™ã‚‹é¢ã‚’クリックã€ãã‚Œã‹ã‚‰ã€Œè¿½åŠ ã€ã‚’クリックã—ã¦ãã ã•ã„。 - <usetemplate ignoretext="メディアãŒé¸æŠžã—ãŸè¤‡æ•°ã®é¢ã«ã‚»ãƒƒãƒˆã•ã‚Œã‚‹ã¨ã" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="MustBeInParcel"> - ç€åœ°ç‚¹ã‚’è¨å®šã™ã‚‹ã«ã¯ã€ã“ã®åŒºç”»ã®å†…å´ã« -ç«‹ã£ã¦ãã ã•ã„。 - </notification> - <notification name="PromptRecipientEmail"> - å—信者ã®æœ‰åŠ¹ãªãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¦ãã ã•ã„。 - </notification> - <notification name="PromptSelfEmail"> - ã‚ãªãŸã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¦ãã ã•ã„。 - </notification> - <notification name="PromptMissingSubjMsg"> - デフォルトã®ä»¶åã¾ãŸã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’付ã‘ã¦ã€ã‚¹ãƒŠãƒƒãƒ—ショットをé€ä¿¡ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ErrorProcessingSnapshot"> - スナップショットデータã®å‡¦ç†ã‚¨ãƒ©ãƒ¼ - </notification> - <notification name="ErrorEncodingSnapshot"> - スナップショットã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰åŒ–ã§ã‚¨ãƒ©ãƒ¼ãŒå‡ºã¾ã—ãŸï¼ - </notification> - <notification name="ErrorUploadingPostcard"> - 次ã®ç†ç”±ã§ã€ã‚¹ãƒŠãƒƒãƒ—ショットã®é€ä¿¡æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸï¼š [REASON] - </notification> - <notification name="ErrorUploadingReportScreenshot"> - 次ã®ç†ç”±ã§ã€ãƒ¬ãƒãƒ¼ãƒˆã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ [REASON] - </notification> - <notification name="MustAgreeToLogIn"> - [SECOND_LIFE] ã¸ã®ãƒã‚°ã‚¤ãƒ³ã‚’続ã‘ã‚‹ã«ã¯ã€åˆ©ç”¨è¦ç´„ã«åŒæ„ã—ã¦ãã ã•ã„。 - </notification> - <notification name="CouldNotPutOnOutfit"> - アウトフィットを装ç€ã§ãã¾ã›ã‚“。 -アウトフィットフォルダã«è¡£é¡žã€èº«ä½“部ä½ã€ã‚¢ã‚¿ãƒƒãƒãƒ¡ãƒ³ãƒˆãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotWearTrash"> - ã”ã¿ç®±ã«ã‚る衣類や身体部ä½ã®ç€ç”¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="MaxAttachmentsOnOutfit"> - オブジェクトを付ã‘られã¾ã›ã‚“ã§ã—ãŸã€‚ -最大数㮠[MAX_ATTACHMENTS] 個を越ãˆã¦ã„ã¾ã™ã€‚ ã©ã‚Œã‹å–り外ã—ã¦ã‹ã‚‰ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="CannotWearInfoNotComplete"> - ã¾ã èªã¿è¾¼ã¾ã‚Œã¦ã„ãªã„ãŸã‚ã€ãã®ã‚¢ã‚¤ãƒ†ãƒ を装ç€ã§ãã¾ã›ã‚“。後ã§ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。 - </notification> - <notification name="MustHaveAccountToLogIn"> - 注æ„:記入æ¼ã‚Œã®ç®‡æ‰€ãŒã‚ã‚Šã¾ã™ã€‚ -ã‚¢ãƒã‚¿ãƒ¼ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åを入力ã—ã¦ãã ã•ã„。 - -[SECOND_LIFE] ã«å…¥ã‚‹ã«ã¯ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŒå¿…è¦ã§ã™ã€‚今ã™ãアカウントを作æˆã—ã¾ã™ã‹ï¼Ÿ - <url name="url"> - https://join.secondlife.com/index.php?lang=ja-JP - </url> - <usetemplate name="okcancelbuttons" notext="ã‚‚ã†ä¸€åº¦è©¦ã™" yestext="æ–°ã—ã„アカウントを作æˆ"/> - </notification> - <notification name="InvalidCredentialFormat"> - ユーザーåã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ã‚¢ãƒã‚¿ãƒ¼ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åã‚‚ã—ãã¯æ°åを入力ã—ã¦ã‹ã‚‰ã€å†åº¦ãƒã‚°ã‚¤ãƒ³ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="DeleteClassified"> - クラシファイド広告 [NAME] を削除ã—ã¾ã™ã‹ï¼Ÿ -支払ã„済ã¿ã®æ–™é‡‘ã¯è¿”金ã•ã‚Œã¾ã›ã‚“。 - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="DeleteMedia"> - ã“ã®é¢ã«ã‚るメディアを削除ã™ã‚‹é¸æŠžã‚’ã—ã¾ã—ãŸã€‚ -続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="オブジェクトã‹ã‚‰ãƒ¡ãƒ‡ã‚£ã‚¢ã‚’削除ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="ClassifiedSave"> - クラシファイド広告 [NAME] ã¸ã®å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="ä¿å˜ã—ãªã„" yestext="ä¿å˜"/> - </notification> - <notification name="ClassifiedInsufficientFunds"> - クラシファイド広告を出ã™ã«ã¯ã€è³‡é‡‘ãŒè¶³ã‚Šã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeleteAvatarPick"> - <nolink>[PICK]</nolink> を削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="DeleteOutfits"> - é¸æŠžã—ãŸã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‚’削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="PromptGoToEventsPage"> - [SECOND_LIFE] イベント Web ページã«ç§»å‹•ã—ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://secondlife.com/events/?lang=ja-JP - </url> - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="SelectProposalToView"> - 表示ã™ã‚‹æ案をé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="SelectHistoryItemToView"> - 表示ã™ã‚‹å±¥æ´ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CacheWillClear"> - [APP_NAME] ã‚’å†èµ·å‹•å¾Œã«ã‚ャッシュãŒã‚¯ãƒªã‚¢ã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="CacheWillBeMoved"> - [APP_NAME] ã‚’å†èµ·å‹•å¾Œã«ã‚ャッシュãŒç§»å‹•ã•ã‚Œã¾ã™ã€‚ -ã”注æ„: ã‚ャッシュãŒã‚¯ãƒªã‚¢ã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="ChangeConnectionPort"> - ãƒãƒ¼ãƒˆã®è¨å®šã¯ [APP_NAME] ã‚’å†èµ·å‹•å¾Œã«åæ˜ ã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="ChangeSkin"> - æ–°ã—ã„スã‚ン㯠[APP_NAME] ã‚’å†èµ·å‹•å¾Œã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="ChangeLanguage"> - 言語ã®å¤‰æ›´ã¯ [APP_NAME] ã‚’å†èµ·å‹•å¾Œã«åæ˜ ã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="GoToAuctionPage"> - [SECOND_LIFE]ã® Web ページã«ç§»å‹•ã—ã€å…¥æœã‚ã‚‹ã„ã¯ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã®è©³ç´°ã‚’確èªã—ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://secondlife.com/auctions/auction-detail.php?id=[AUCTION_ID] - </url> - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="SaveChanges"> - 変更をä¿å˜ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ä¿å˜ã—ãªã„" yestext="ä¿å˜"/> - </notification> - <notification name="GestureSaveFailedTooManySteps"> - ジェスãƒãƒ£ãƒ¼ã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ -ステップãŒå¤šã™ãŽã¾ã™ã€‚ -ステップをã„ãã¤ã‹å‰Šé™¤ã—ã¦ã‹ã‚‰å†ä¿å˜ã—ã¦ãã ã•ã„ - </notification> - <notification name="GestureSaveFailedTryAgain"> - ジェスãƒãƒ£ãƒ¼ã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚å°‘ã—å¾…ã£ã¦ã‹ã‚‰ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="GestureSaveFailedObjectNotFound"> - ジェスãƒãƒ£ãƒ¼ã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚オブジェクトã€ã¾ãŸã¯é–¢é€£ã™ã‚‹ã‚ªãƒ–ジェクトæŒã¡ç‰©ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 -オブジェクトãŒç¯„囲内ã«å˜åœ¨ã—ãªã„ã‹ã€ã¾ãŸã¯å‰Šé™¤ã•ã‚ŒãŸå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="GestureSaveFailedReason"> - 次ã®ç†ç”±ã§ã€ã‚¸ã‚§ã‚¹ãƒãƒ£ãƒ¼ã®ä¿å˜æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ [REASON]。 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="SaveNotecardFailObjectNotFound"> - ノートカードã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚オブジェクトã€ã¾ãŸã¯é–¢é€£ã™ã‚‹ã‚ªãƒ–ジェクトæŒã¡ç‰©ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 -オブジェクトãŒç¯„囲内ã«å˜åœ¨ã—ãªã„ã‹ã€ã¾ãŸã¯å‰Šé™¤ã•ã‚ŒãŸå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="SaveNotecardFailReason"> - 次ã®ç†ç”±ã§ã€ãƒŽãƒ¼ãƒˆã‚«ãƒ¼ãƒ‰ã®ä¿å˜æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ [REASON]。 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="ScriptCannotUndo"> - ã‚ãªãŸã®ã‚¹ã‚¯ãƒªãƒ—トã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€å¤‰æ›´ã‚’å…ƒã«æˆ»ã™ã“ã¨ã¯ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -サーãƒãƒ¼ã®æœ€æ–°ä¿å˜ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ãƒãƒ¼ãƒ‰ã—ã¾ã™ã‹ï¼Ÿ -(**è¦å‘Š**:ã“ã®æ“作後元ã«æˆ»ã™ã“ã¨ã¯ã§ãã¾ã›ã‚“) - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="SaveScriptFailReason"> - 次ã®ç†ç”±ã§ã€ã‚¹ã‚¯ãƒªãƒ—トã®ä¿å˜ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ [REASON]。 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="SaveScriptFailObjectNotFound"> - スクリプトã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚スクリプトãŒå…¥ã£ãŸã‚ªãƒ–ジェクトãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 -オブジェクトã¯ç¯„囲外ã‹ã€ã¾ãŸã¯å‰Šé™¤ã•ã‚Œã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 - </notification> - <notification name="SaveBytecodeFailReason"> - 次ã®ç†ç”±ã§ã€ã‚³ãƒ³ãƒ‘イルã—ãŸã‚¹ã‚¯ãƒªãƒ—トã®ä¿å˜æ™‚ã«å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸã€‚ [REASON]。 後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="StartRegionEmpty"> - ãƒã‚°ã‚¤ãƒ³ä½ç½®ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 -ãƒã‚°ã‚¤ãƒ³ä½ç½®ã®æ¬„ã«ãƒªãƒ¼ã‚¸ãƒ§ãƒ³åを入力ã™ã‚‹ã‹ã€ã€Œæœ€å¾Œã«ãƒã‚°ã‚¢ã‚¦ãƒˆã—ãŸå ´æ‰€ã€ã‹ã€Œãƒ›ãƒ¼ãƒ ã€ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CouldNotStartStopScript"> - スクリプトã®èµ·å‹•ã¾ãŸã¯åœæ¢ã«å¤±æ•—ã—ã¾ã—ãŸã€‚スクリプトãŒæ ¼ç´ã•ã‚Œã¦ã„るオブジェクトãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 -オブジェクトãŒç¯„囲内ã«å˜åœ¨ã—ãªã„ã‹ã€ã¾ãŸã¯å‰Šé™¤ã•ã‚ŒãŸå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="CannotDownloadFile"> - ファイルをダウンãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotWriteFile"> - ファイル [[FILE]] を書ãè¾¼ã‚ã¾ã›ã‚“。 - </notification> - <notification name="UnsupportedHardware"> - ãŠä½¿ã„ã®ã‚³ãƒ³ãƒ”ューター㯠[APP_NAME] ã®å¿…è¦æœ€ä½Žé™ã®å‹•ä½œç’°å¢ƒã‚’満ãŸã—ã¦ã„ã¾ã›ã‚“。 パフォーマンスã®ä½Žä¸‹ã‚’æ„Ÿã˜ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 æれ入りã¾ã™ãŒ [SUPPORT_SITE] ã§ã¯ã‚µãƒãƒ¼ãƒˆå¯¾è±¡å¤–ã®ã‚·ã‚¹ãƒ†ãƒ ã«é–¢ã™ã‚‹æŠ€è¡“的サãƒãƒ¼ãƒˆã¯è¡Œã£ã¦ãŠã‚Šã¾ã›ã‚“。 - -[_URL] ã«ç§»å‹•ã—ã¦ç¢ºèªã‚’ã—ã¾ã™ã‹ï¼Ÿ - <url name="url" option="0"> - http://secondlife.com/support/sysreqs.php?lang=ja - </url> - <usetemplate ignoretext="使用ä¸ã®ã‚³ãƒ³ãƒ”ューターã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„ã¨ã" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="UnknownGPU"> - ãŠä½¿ã„ã®ã‚·ã‚¹ãƒ†ãƒ ã«ã¯ã€[APP_NAME] ãŒèªè˜ã§ããªã„グラフィックカードãŒæ載ã•ã‚Œã¦ã„ã¾ã™ã€‚ -[APP_NAME] ã§ã¾ã テストã•ã‚Œã¦ã„ãªã„最新ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã®ãŸã‚ã ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ å•é¡Œãªã„ã¨ã¯æ€ã„ã¾ã™ãŒã€ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã®è¨å®šã‚’調整ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 -(ミー > 環境è¨å®š > グラフィック) - <form name="form"> - <ignore name="ignore" text="使用ä¸ã®ã‚°ãƒ©ãƒ•ãƒƒã‚¯ã‚«ãƒ¼ãƒ‰ãŒèªè˜ã•ã‚Œãªã„ã¨ã"/> - </form> - </notification> - <notification name="DisplaySettingsNoShaders"> - グラフィックドライãƒã‚’åˆæœŸåŒ–ä¸ã« [APP_NAME] ãŒã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã—ã¾ã—ãŸã€‚ -ドライãƒã®ä¸€èˆ¬çš„ãªã‚¨ãƒ©ãƒ¼ã‚’防ããŸã‚ã«ã€ç”»è³ªãŒä½Žã«è¨å®šã•ã‚Œã¾ã™ã€‚ ãã®ãŸã‚ã€ä¸€éƒ¨ã®ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ç‰¹æ€§ã«åˆ¶é™ãŒå‡ºã¾ã™ã€‚ -ãŠä½¿ã„ã®ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã‚«ãƒ¼ãƒ‰ã®ãƒ‰ãƒ©ã‚¤ãƒã‚’アップデートã™ã‚‹ã‚ˆã†ãŠã™ã™ã‚ã—ã¾ã™ã€‚ -画質ã¯ã€ç’°å¢ƒè¨å®š > グラフィック ã§è¨å®šã§ãã¾ã™ã€‚ - </notification> - <notification name="RegionNoTerraforming"> - [REGION] ã§ã¯ã€åœ°å½¢ã®å¤‰æ›´ãŒã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotCopyWarning"> - ã‚ãªãŸã«ã¯[ITEMS]ã¨ã„ã†ã‚¢ã‚¤ãƒ†ãƒ をコピーã™ã‚‹è¨±å¯ãŒã‚ã‚Šã¾ã›ã‚“。他ã®ä½äººã«æä¾›ã™ã‚‹ã¨ã€ãã®ã‚¢ã‚¤ãƒ†ãƒ ã¯ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã‹ã‚‰å‰Šé™¤ã•ã‚Œã¾ã™ã€‚本当ã«ã“れらã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’è²ã‚Šã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="CannotGiveItem"> - æŒã¡ç‰©ã®ã‚¢ã‚¤ãƒ†ãƒ を渡ã›ã¾ã›ã‚“。 - </notification> - <notification name="TransactionCancelled"> - å–引ãŒã‚ャンセルã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="TooManyItems"> - 一度㫠42 個以上ã®ã‚¢ã‚¤ãƒ†ãƒ ã¯æ¸¡ã›ã¾ã›ã‚“。 - </notification> - <notification name="NoItems"> - é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ を渡ã™æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotCopyCountItems"> - ã‚ãªãŸã¯é¸æŠžã—㟠[COUNT] 個ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ã®ã‚³ãƒ”ーを許ã•ã‚Œã¦ã„ã¾ã›ã‚“。 -ã“れらã®ã‚¢ã‚¤ãƒ†ãƒ ã¯ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã‹ã‚‰å¤±ã‚ã‚Œã¾ã™ã€‚ -本当ã«ã‚¢ã‚¤ãƒ†ãƒ を渡ã—ãŸã„ã§ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="CannotGiveCategory"> - é¸æŠžã—ãŸãƒ•ã‚©ãƒ«ãƒ€ã‚’渡ã™æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“ - </notification> - <notification name="FreezeAvatar"> - ã“ã®ã‚¢ãƒã‚¿ãƒ¼ã‚’フリーズã—ã¾ã™ã‹ï¼Ÿ -ã‚¢ãƒã‚¿ãƒ¼ã¯ä¸€æ™‚çš„ã«å‹•ã‘ãªããªã‚Šã€ãƒãƒ£ãƒƒãƒˆã‚’å«ã‚インワールドã§ä½•ã‚‚ã§ããªããªã‚Šã¾ã™ã€‚ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="解除" yestext="フリーズ"/> - </notification> - <notification name="FreezeAvatarFullname"> - [AVATAR_NAME]をフリーズã—ã¾ã™ã‹ï¼Ÿ -フリーズã•ã‚ŒãŸäººã¯ä¸€æ™‚çš„ã«å‹•ã‘ãªããªã‚Šã€ãƒãƒ£ãƒƒãƒˆãªã©ã€ã“ã®ä¸–ç•Œã«å¯¾ã™ã‚‹é–¢ã‚ã‚Šã‚’æŒã¤ã“ã¨ãŒã§ããªããªã‚Šã¾ã™ã€‚ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="解除" yestext="フリーズ"/> - </notification> - <notification name="EjectAvatarFullname"> - ã‚ãªãŸã®åœŸåœ°ã‹ã‚‰ [AVATAR_NAME] を追放ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="追放ã¨ç¦æ¢" yestext="追放"/> - </notification> - <notification name="EjectAvatarNoBan"> - ã“ã®ã‚¢ãƒã‚¿ãƒ¼ã‚’ã‚ãªãŸã®åœŸåœ°ã‹ã‚‰è¿½æ”¾ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="追放"/> - </notification> - <notification name="EjectAvatarFullnameNoBan"> - [AVATAR_NAME] ã‚’ã‚ãªãŸã®åœŸåœ°ã‹ã‚‰è¿½æ”¾ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="追放"/> - </notification> - <notification name="EjectAvatarFromGroup"> - [GROUP_NAME] ã‹ã‚‰ [AVATAR_NAME] を追放ã—ã¾ã—㟠- </notification> - <notification name="AcquireErrorTooManyObjects"> - å–得エラー:é¸æŠžã—ãŸã‚ªãƒ–ジェクトã®æ•°ãŒå¤šã™ãŽã¾ã™ã€‚ - </notification> - <notification name="AcquireErrorObjectSpan"> - å–得エラー: -オブジェクトãŒè¤‡æ•°ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ã«ã¾ãŸãŒã£ã¦å˜åœ¨ã—ã¦ã„ã¾ã™ã€‚ -ã™ã¹ã¦åŒã˜ãƒªãƒ¼ã‚¸ãƒ§ãƒ³å†…ã«ç§»å‹•ã•ã›ã¦ã‹ã‚‰å–å¾—ã—ã¦ãã ã•ã„。 - </notification> - <notification name="PromptGoToCurrencyPage"> - [EXTRA] - -[_URL] ã«ç§»å‹•ã—ã¦ãƒªãƒ³ãƒ‡ãƒ³ãƒ‰ãƒ«è³¼å…¥ã«é–¢ã™ã‚‹æƒ…å ±ã‚’ç¢ºèªã—ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://secondlife.com/app/currency/?lang=ja-JP - </url> - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="UnableToLinkObjects"> - [COUNT] 個ã®ã‚ªãƒ–ジェクトをリンクã§ãã¾ã›ã‚“。 -リンクã§ãã‚‹ã®ã¯æœ€å¤§ [MAX] 個ã§ã™ã€‚ - </notification> - <notification name="CannotLinkIncompleteSet"> - セットã§æƒã£ã¦ã„るオブジェクトã®ã¿ãƒªãƒ³ã‚¯ã§ãã¾ã™ã€‚ -複数ã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotLinkModify"> - ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトã®ä¿®æ£è¨±å¯ãŒãªã„ãŸã‚リンクã§ãã¾ã›ã‚“。 - -ã©ã®ã‚ªãƒ–ジェクトもãƒãƒƒã‚¯ã•ã‚Œã¦ãŠã‚‰ãšã€ã‚ãªãŸã®ã‚‚ã®ã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotLinkDifferentOwners"> - 所有者ãŒç•°ãªã‚‹ãŸã‚ã€ã‚ªãƒ–ジェクトをリンクã§ãã¾ã›ã‚“。 - -自分ãŒæ‰€æœ‰ã—ã¦ã„るオブジェクトã ã‘ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="NoFileExtension"> - 「 [FILE] ã€ã®æ‹¡å¼µåãŒç„¡åŠ¹ã§ã™ã€‚ - -ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®æ‹¡å¼µåãŒæ£ã—ã„ã‹ã©ã†ã‹ã‚’確èªã—ã¦ãã ã•ã„。 - </notification> - <notification name="InvalidFileExtension"> - [EXTENSION] ã¯ç„¡åŠ¹ã§ã™ã€‚ -æ£ã—ã„æ‹¡å¼µå:[VALIDS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotUploadSoundFile"> - èªã¿è¾¼ã¿ã®ãŸã‚ã«ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸã‚µã‚¦ãƒ³ãƒ‰ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã‘ã¾ã›ã‚“: -[FILE] - </notification> - <notification name="SoundFileNotRIFF"> - RIFF WAVE ファイルã¨ã—ã¦èªè˜ã•ã‚Œã¾ã›ã‚“: -[FILE] - </notification> - <notification name="SoundFileNotPCM"> - PCM WAVE オーディオファイルã¨ã—ã¦èªè˜ã•ã‚Œã¾ã›ã‚“: -[FILE] - </notification> - <notification name="SoundFileInvalidChannelCount"> - ファイルã®ãƒãƒ£ãƒ³ãƒãƒ«æ•°ãŒç„¡åŠ¹ã§ã™ï¼ˆãƒ¢ãƒŽãƒ©ãƒ«ã¾ãŸã¯ã‚¹ãƒ†ãƒ¬ã‚ªã‚’使用ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ï¼‰ï¼š -[FILE] - </notification> - <notification name="SoundFileInvalidSampleRate"> - ファイルã®ã‚µãƒ³ãƒ—ルレートãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“(44.1k ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ï¼‰ï¼š -[FILE] - </notification> - <notification name="SoundFileInvalidWordSize"> - ファイルã®ãƒ¯ãƒ¼ãƒ‰ã‚µã‚¤ã‚ºãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“(8 ã¾ãŸã¯ 16 ビットã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ï¼‰ï¼š -[FILE] - </notification> - <notification name="SoundFileInvalidHeader"> - WAV ヘッダーã«ãƒ‡ãƒ¼ã‚¿ãƒãƒ£ãƒ³ã‚¯ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: -[FILE] - </notification> - <notification name="SoundFileInvalidChunkSize"> - WAV ファイルã®ãƒãƒ£ãƒ³ã‚¯ã‚µã‚¤ã‚ºãŒé–“é•ã£ã¦ã„ã¾ã™ï¼š -[FILE] - </notification> - <notification name="SoundFileInvalidTooLong"> - オーディオファイルãŒé•·ã™ãŽã¾ã™ã€‚(最大 10 秒): -[FILE] - </notification> - <notification name="ProblemWithFile"> - 「 [FILE] ã€ã«å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚ - -[ERROR] - </notification> - <notification name="CannotOpenTemporarySoundFile"> - 書ãè¾¼ã¿ç”¨ã®ä¸€æ™‚圧縮サウンドファイルを開ãã“ã¨ãŒã§ãã¾ã›ã‚“:[FILE] - </notification> - <notification name="UnknownVorbisEncodeFailure"> - ä¸æ˜Žã® Vorbis ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã«å¤±æ•—: [FILE] - </notification> - <notification name="CannotEncodeFile"> - 次ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ãŒã§ãã¾ã›ã‚“: [FILE] - </notification> - <notification name="CorruptedProtectedDataStore"> - ユーザーåã¨ãƒ‘スワードを自動入力ã§ãã¾ã›ã‚“。ã“ã‚Œã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯è¨å®šãŒå¤‰æ›´ã•ã‚ŒãŸå ´åˆã«èµ·ã“ã‚Šã¾ã™ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CorruptResourceFile"> - ç ´æã—ãŸãƒªã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ï¼š [FILE] - </notification> - <notification name="UnknownResourceFileVersion"> - ä¸æ˜Žã®ãƒªãƒ³ãƒ‡ãƒ³ãƒªã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ï¼š [FILE] - </notification> - <notification name="UnableToCreateOutputFile"> - 出力ファイルを作æˆã§ãã¾ã›ã‚“: [FILE] - </notification> - <notification name="DoNotSupportBulkAnimationUpload"> - ç¾åœ¨ [APP_NAME] ã§ã¯ã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã®ä¸€æ‹¬ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotUploadReason"> - 次ã®ç†ç”±ã§ã€ã€Œ [FILE] ã€ã‚’アップãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“: [REASON] -ã‚ã¨ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="LandmarkCreated"> - 「 [LANDMARK_NAME] ã€ã‚’「 [FOLDER_NAME] ã€ãƒ•ã‚©ãƒ«ãƒ€ã«è¿½åŠ ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="LandmarkAlreadyExists"> - ç¾åœ¨åœ°ã®ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’æ—¢ã«æŒã£ã¦ã„ã¾ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotCreateLandmarkNotOwner"> - 土地ã®æ‰€æœ‰è€…ãŒè¨±å¯ã—ã¦ã„ãªã„ãŸã‚ã€ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’作æˆã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotRecompileSelectObjectsNoScripts"> - 「リコンパイルã€ã§ãã¾ã›ã‚“。 -スクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotRecompileSelectObjectsNoPermission"> - 「リコンパイルã€ã§ãã¾ã›ã‚“。 - -ä¿®æ£ä¿®æ£æ¨©é™ã®ã‚るスクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotResetSelectObjectsNoScripts"> - 「å†è¨å®šã€ãŒã§ãã¾ã›ã‚“。 - -スクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotResetSelectObjectsNoPermission"> - 「å†è¨å®šã€ãŒã§ãã¾ã›ã‚“。 - -ä¿®æ£æ¨©é™ã®ã‚るスクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotOpenScriptObjectNoMod"> - ä¿®æ£æ¨©é™ã®ãªã„オブジェクトã®ã‚¹ã‚¯ãƒªãƒ—トã¯é–‹ãã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotSetRunningSelectObjectsNoScripts"> - スクリプトã®ã€Œå®Ÿè¡Œã€ãŒã§ãã¾ã›ã‚“。 - -スクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotSetRunningNotSelectObjectsNoScripts"> - スクリプトを「実行ã—ãªã„ã€è¨å®šã«ã§ãã¾ã›ã‚“。 - -スクリプトã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="NoFrontmostFloater"> - ä¿å˜ã™ã‚‹ frontmost フãƒãƒ¼ã‚¿ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="SeachFilteredOnShortWords"> - 指定ã—ãŸæ¤œç´¢ã‚¯ã‚¨ãƒªã¯å¤‰æ›´ã•ã‚Œã€çŸã™ãŽã‚‹èªžå¥ã¯å–り除ã‹ã‚Œã¦ã„ã¾ã™ã€‚ - -検索語å¥ï¼š [FINALQUERY] - </notification> - <notification name="SeachFilteredOnShortWordsEmpty"> - 指定ã—ãŸæ¤œç´¢èªžå¥ãŒçŸã™ãŽãŸãŸã‚ã€æ¤œç´¢ã¯è¡Œã‚ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="CouldNotTeleportReason"> - テレãƒãƒ¼ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸã€‚ -[REASON] - </notification> - <notification name="invalid_tport"> - テレãƒãƒ¼ãƒˆå‡¦ç†ä¸ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ ãƒã‚°ã‚¤ãƒ³ã—ç›´ã™å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 -ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒä½•åº¦ã‚‚å‡ºã‚‹å ´åˆã¯ã€[SUPPORT_SITE] ã‚’ã”確èªãã ã•ã„。 - </notification> - <notification name="invalid_region_handoff"> - リージョン間ã®ç§»å‹•ä¸ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ ãƒã‚°ã‚¤ãƒ³ã—ç›´ã™å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 -ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒä½•åº¦ã‚‚å‡ºã‚‹å ´åˆã¯ã€[SUPPORT_SITE] ã‚’ã”確èªãã ã•ã„。 - </notification> - <notification name="blocked_tport"> - 申ã—訳ã”ã–ã„ã¾ã›ã‚“。テレãƒãƒ¼ãƒˆã¯ç¾åœ¨ã€ãƒ–ãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰å†åº¦ãŠè©¦ã—ãã ã•ã„。 -ãã‚Œã§ã‚‚テレãƒãƒ¼ãƒˆã§ããªã„å ´åˆã¯ã€ãƒã‚°ã‚¢ã‚¦ãƒˆã—ã€ãƒã‚°ã‚¤ãƒ³ã—ç›´ã—ã¦å•é¡Œã‚’解決ã—ã¦ãã ã•ã„。 - </notification> - <notification name="nolandmark_tport"> - 申ã—訳ã”ã–ã„ã¾ã›ã‚“。ランドマークã®ç›®çš„地ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="timeout_tport"> - 申ã—訳ã”ã–ã„ã¾ã›ã‚“。システムã«ã‚ˆã‚‹ãƒ†ãƒ¬ãƒãƒ¼ãƒˆæŽ¥ç¶šãŒå®Œäº†ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰å†åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="noaccess_tport"> - 残念ãªãŒã‚‰ã€ç›®çš„地ã¸ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•ã‚Œã¦ã„ãªã„ãŸã‚ã€ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã§ãã¾ã›ã‚“。 - </notification> - <notification name="missing_attach_tport"> - 添付物ãŒã¾ã 届ã„ã¦ã„ã¾ã›ã‚“。テレãƒãƒ¼ãƒˆã‚’ã™ã‚‹å‰ã«ã‚ã¨æ•°ç§’é–“ãŠå¾…ã¡ã„ãŸã ãã‹ã€ã„ã£ãŸã‚“ãƒã‚°ã‚¢ã‚¦ãƒˆã—ã€å†åº¦ãƒã‚°ã‚¤ãƒ³ã—ã¦ãã ã•ã„。 - </notification> - <notification name="too_many_uploads_tport"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚¢ã‚»ãƒƒãƒˆã‚ューãŒç¾åœ¨æ··ã¿åˆã£ã¦ã„ã‚‹ãŸã‚ã€ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ã™ãã«å‡¦ç†ã™ã‚‹ã“ã¨ãŒé›£ã—ã„状æ³ã§ã™ã€‚ -数分後ã«ã‚„ã‚Šç›´ã™ã‹ã€æ··é›‘ã—ã¦ã„ãªã„ä»–ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã§ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="expired_tport"> - 申ã—訳ã”ã–ã„ã¾ã›ã‚“。システムã¯ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’時間ã©ãŠã‚Šã«å®Œäº†ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚数分後ã«ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。 - </notification> - <notification name="expired_region_handoff"> - 申ã—訳ã”ã–ã„ã¾ã›ã‚“。システムã¯ãƒªãƒ¼ã‚¸ãƒ§ãƒ³é–“ã®ç§»å‹•ã‚’時間ã©ãŠã‚Šã«å®Œäº†ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -数分後ã«ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。 - </notification> - <notification name="no_host"> - テレãƒãƒ¼ãƒˆç›®çš„地を見ã¤ã‘られã¾ã›ã‚“。目的地ãŒä¸€æ™‚çš„ã«åˆ©ç”¨ã§ããªã„状態ã‹ã€ã™ã§ã«æ¶ˆæ»…ã—ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚数分後ã«ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。 - </notification> - <notification name="no_inventory_host"> - æŒã¡ç‰©ã‚·ã‚¹ãƒ†ãƒ ã¯ç¾åœ¨åˆ©ç”¨ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotSetLandOwnerNothingSelected"> - 土地所有者è¨å®šãŒã§ãã¾ã›ã‚“: -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotSetLandOwnerMultipleRegions"> - 複数ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ãŒé¸æŠžã•ã‚ŒãŸãŸã‚ã€åœŸåœ°ã®æ‰€æœ‰æ¨©ã‚’å–å¾—ã§ãã¾ã›ã‚“。 -é¸æŠžã™ã‚‹é¢ç©ã‚’å°ã•ãã—ã¦ã€ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="ForceOwnerAuctionWarning"> - ã“ã®åŒºç”»ã¯ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã«å‡ºã•ã‚Œã¦ã„ã¾ã™ã€‚ 所有権を変更ã™ã‚‹ã¨ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã¯ã‚ャンセルã¨ãªã‚Šã€æ—¢ã«ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã«å‚åŠ ã—ã¦ã„ã‚‹ä½äººãŒã„ã‚Œã°ãã®äººã«è¿·æƒ‘ã‚’ã‹ã‘ã¦ã—ã¾ã„ã¾ã™ã€‚ -所有権を変更ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="CannotContentifyNothingSelected"> - コンテンツ化ã¯ä¸å¯èƒ½ã§ã™ï¼š -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotContentifyNoRegion"> - コンテンツ化ã¯ä¸å¯èƒ½ã§ã™ï¼š -土地ãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotReleaseLandNothingSelected"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotReleaseLandNoRegion"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -リージョンãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotBuyLandNothingSelected"> - 土地を購入ã§ãã¾ã›ã‚“: -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotBuyLandNoRegion"> - 土地を購入ã§ãã¾ã›ã‚“: -ã“ã®åœŸåœ°ãŒã‚るリージョンを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ - </notification> - <notification name="CannotCloseFloaterBuyLand"> - [APP_NAME] ãŒã“ã®å–å¼•ä¾¡æ ¼ã‚’è¦‹ç©ã‚‚ã‚‹ã¾ã§ã¯ã€åœŸåœ°ã®è³¼å…¥ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotDeedLandNothingSelected"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotDeedLandNoGroup"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -グループãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotDeedLandNoRegion"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -ã“ã®åœŸåœ°ãŒã‚るリージョンãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotDeedLandMultipleSelected"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -複数ã®åŒºç”»ãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã™ã€‚ - -区画を 1 ã¤é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotDeedLandWaitingForServer"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -サーãƒãƒ¼ã‹ã‚‰ã®æ‰€æœ‰æ¨©æƒ…å ±ã‚’å¾…ã£ã¦ã„ã¾ã™ã€‚ - -å†åº¦ã€è©¦ã¿ã¦ãã ã•ã„。 - </notification> - <notification name="CannotDeedLandNoTransfer"> - 土地をè²æ¸¡ã§ãã¾ã›ã‚“: -[REGION] ã§ã¯åœŸåœ°ã®è²æ¸¡ãŒè¨±ã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotReleaseLandWatingForServer"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -サーãƒãƒ¼ãŒåŒºç”»æƒ…å ±ã‚’æ›´æ–°ã™ã‚‹ã®ã‚’å¾…ã£ã¦ã„ã¾ã™ã€‚ - -ã‚‚ã†å°‘ã—後ã§ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotReleaseLandSelected"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -ã‚ãªãŸã¯ã€é¸æŠžã—ãŸåŒºç”»ã®ã™ã¹ã¦ã‚’所有ã—ã¦ã„ã¾ã›ã‚“。 - -区画を 1 ã¤é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotReleaseLandDontOwn"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -ã‚ãªãŸã¯ã“ã®åœŸåœ°ã‚’手放ã™ã“ã¨ã‚’許å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。 -ã‚ãªãŸã®åŒºç”»ã¯ç·‘色ã§è¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="CannotReleaseLandRegionNotFound"> - 土地を放棄ã§ãã¾ã›ã‚“: -ã“ã®åœŸåœ°ãŒã‚るリージョンãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotReleaseLandNoTransfer"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -[REGION] ã§ã¯åœŸåœ°ã®è²æ¸¡ãŒè¨±ã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotReleaseLandPartialSelection"> - åœŸåœ°ã‚’ç ´æ£„ã§ãã¾ã›ã‚“: -区画全体をé¸æŠžã—ã¦ç ´æ£„ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - -区画全体をé¸æŠžã™ã‚‹ã‹ã€ã¾ãŸã¯ã€ã¾ãšæœ€åˆã«åŒºç”»ã‚’分割ã—ã¦ãã ã•ã„。 - </notification> - <notification name="ReleaseLandWarning"> - ã‚ãªãŸã¯ã€[AREA] 平方メートルã®åœŸåœ°ã‚’ç ´æ£„ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -ã“ã®åŒºç”»ã‚’ç ´æ£„ã™ã‚‹ã¨ã‚ãªãŸã®åœŸåœ°ã§ã¯ãªããªã‚Šã¾ã™ãŒã€ -L$ ã¯è¿”金ã•ã‚Œã¾ã›ã‚“。 - -åœŸåœ°ã‚’ç ´æ£„ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNothingSelected"> - 土地を分割ã§ãã¾ã›ã‚“: - -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotDivideLandPartialSelection"> - 土地を分割ã§ãã¾ã›ã‚“: - -区画全体ãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã™ã€‚ -区画ã®ä¸€éƒ¨ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="LandDivideWarning"> - ã“ã®åœŸåœ°ã‚’分割ã™ã‚‹ã¨ã€2 ã¤ã®åŒºç”»ã«åˆ¥ã‚Œã¾ã™ã€‚ -区画ã”ã¨ã®è¨å®šãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚ ã“ã®æ“作を行ã†ã¨ã€ä¸€éƒ¨ã®è¨å®šãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã«ãƒªã‚»ãƒƒãƒˆã•ã‚Œã¾ã™ã€‚ - -土地ã®åˆ†å‰²æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNoRegion"> - 土地を分割ã§ãã¾ã›ã‚“: -ã“ã®åœŸåœ°ãŒã‚るリージョンãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotJoinLandNoRegion"> - 土地を統åˆã§ãã¾ã›ã‚“: -ã“ã®åœŸåœ°ãŒã‚るリージョンãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="CannotJoinLandNothingSelected"> - 土地を統åˆã§ãã¾ã›ã‚“ã§ã—ãŸï¼š -区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="CannotJoinLandEntireParcelSelected"> - 土地を統åˆã§ãã¾ã›ã‚“: -区画㌠1 ã¤ã—ã‹é¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“。 - -両方ã®åŒºç”»ã‚’ã¾ãŸã„ã§åœŸåœ°ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="CannotJoinLandSelection"> - 土地を統åˆã§ãã¾ã›ã‚“: -区画を 1 ã¤ä»¥ä¸Šé¸æŠžã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - -両方ã®åŒºç”»ã‚’ã¾ãŸã„ã§åœŸåœ°ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="JoinLandWarning"> - ã“ã®åœŸåœ°ã‚’çµ±åˆã™ã‚‹ã¨ã€é¸æŠžã•ã‚ŒãŸé•·æ–¹å½¢ã«äº¤å·®ã™ã‚‹å…¨ã¦ã®åŒºç”»ã‚’基ã«ã—ã¦ã€å¤§ããªåŒºç”»ãŒ 1 ã¤ä½œæˆã•ã‚Œã¾ã™ã€‚ -æ–°ã—ã„区画ã®åå‰ã¨ã‚ªãƒ—ションをå†è¨å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - -土地を統åˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmNotecardSave"> - ã“ã®ã‚¢ã‚¤ãƒ†ãƒ をコピーã€è¡¨ç¤ºã™ã‚‹å‰ã«ã€ãƒŽãƒ¼ãƒˆã‚«ãƒ¼ãƒ‰ã®ä¿å˜ãŒå¿…è¦ã§ã™ã€‚ ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmItemCopy"> - ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’ã‚ãªãŸã®æŒã¡ç‰©ã«ã‚³ãƒ”ーã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="コピー"/> - </notification> - <notification name="ResolutionSwitchFail"> - 解åƒåº¦ã‚’ [RESX]x[RESY] ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="ErrorUndefinedGrasses"> - エラー:未定義ã®æ¤ç‰©ï¼š[SPECIES] - </notification> - <notification name="ErrorUndefinedTrees"> - エラー:未定義ã®æ¨¹æœ¨ï¼š[SPECIES] - </notification> - <notification name="CannotSaveWearableOutOfSpace"> - 「 [NAME] ã€ã‚’衣類ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«ä¿å˜ã§ãã¾ã›ã‚“。 -コンピューターã®ãƒ‡ã‚£ã‚¹ã‚¯ã‚¹ãƒšãƒ¼ã‚¹ã‚’å°‘ã—増やã—ã¦ã‹ã‚‰ã€ã‚‚ã†ä¸€åº¦ä¿å˜ã—ã¦ã¿ã¦ãã ã•ã„。 - </notification> - <notification name="CannotSaveToAssetStore"> - 「 [NAME] ã€ã‚’ä¿å˜ã§ãã¾ã›ã‚“。 -通常ã“ã‚Œã¯ä¸€æ™‚çš„ãªã‚¨ãƒ©ãƒ¼ã§ã™ã€‚ 数分後ã«ã‚‚ã†ä¸€åº¦ç€ç”¨ç‰©ã‚’カスタマイズ・ä¿å˜ã—ã¦ãã ã•ã„。 - </notification> - <notification name="YouHaveBeenLoggedOut"> - ã—ã¾ã£ãŸã€ [SECOND_LIFE] ã‹ã‚‰ãƒã‚°ã‚¢ã‚¦ãƒˆã•ã‚Œã¦ã—ã¾ã„ã¾ã—ãŸã€‚ - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="終了" yestext="IMã¨ãƒãƒ£ãƒƒãƒˆã‚’表示"/> - </notification> - <notification name="OnlyOfficerCanBuyLand"> - グループ用ã®åœŸåœ°ã®è³¼å…¥ãŒã§ãã¾ã›ã‚“: -ã‚ãªãŸã«ã¯ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªã‚°ãƒ«ãƒ¼ãƒ—ã®ãŸã‚ã«åœŸåœ°ã‚’購入ã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification label="フレンド登録" name="AddFriendWithMessage"> - フレンド登録ã™ã‚‹ã¨ã€ãŠäº’ã„ã®ç¾åœ¨åœ°ã®åœ°å›³ã¸ã®è¡¨ç¤ºè¨±å¯ã€ã‚ªãƒ³ãƒ©ã‚¤ãƒ³çŠ¶æ…‹ã®è¡¨ç¤ºè¨å®šãŒã§ãã¾ã™ã€‚ - -[NAME] ã«ãƒ•ãƒ¬ãƒ³ãƒ‰ã‚·ãƒƒãƒ—を申ã—出ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - フレンド登録ã—ã¦ãã‚Œã¾ã™ã‹ï¼Ÿ - </input> - <button name="Offer" text="OK"/> - <button name="Cancel" text="ã‚ャンセル"/> - </form> - </notification> - <notification label="アウトフィットをä¿å˜ã™ã‚‹" name="SaveOutfitAs"> - ç€ç”¨ä¸ã®ã‚¢ã‚¦ãƒˆãƒ•ã‚£ãƒƒãƒˆã‚’æ–°ã—ã„アウトフットã¨ã—ã¦ä¿å˜ï¼š - <form name="form"> - <input name="message"> - [DESC] (新) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="ã‚ャンセル"/> - </form> - </notification> - <notification label="ç€ç”¨ç‰©ã‚’ä¿å˜" name="SaveWearableAs"> - アイテムを別åã§æŒã¡ç‰©ã«ä¿å˜ï¼š - <form name="form"> - <input name="message"> - [DESC](新è¦ï¼‰ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification label="アウトフィットã®åå‰ã‚’変更ã™ã‚‹" name="RenameOutfit"> - æ–°ã—ã„アウトフィットã®åå‰ï¼š - <form name="form"> - <input name="new_name"> - [NAME] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="RemoveFromFriends"> - フレンドリストã‹ã‚‰ [NAME] を削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="RemoveMultipleFromFriends"> - フレンドリストã‹ã‚‰è¤‡æ•°ã®ãƒ•ãƒ¬ãƒ³ãƒ‰ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedPublicObjectsByUser"> - **[AVATAR_NAME]** -所有ã®ã™ã¹ã¦ã®ã‚¹ã‚¯ãƒªãƒ—トオブジェクトをã“ã®ã‚·ãƒ 内ã®ä»–ã®ã™ã¹ã¦ã®åœŸåœ°ã‹ã‚‰å‰Šé™¤ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedObjectsByUser"> - **[AVATAR_NAME]** -所有ã®ã™ã¹ã¦ã®ã‚¹ã‚¯ãƒªãƒ—トオブジェクトをã“ã®ã‚·ãƒ 内ã®ã™ã¹ã¦ã®åœŸåœ°ã‹ã‚‰å‰Šé™¤ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="GodDeleteAllObjectsByUser"> - **[AVATAR_NAME]** -所有ã®ã™ã¹ã¦ã®ã‚ªãƒ–ジェクト(スクリプトオブジェクトã¨éžã‚¹ã‚¯ãƒªãƒ—トオブジェクト)を -ã“ã®ã‚·ãƒ 内ã®ã™ã¹ã¦ã®åœŸåœ°ã‹ã‚‰å‰Šé™¤ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BlankClassifiedName"> - クラシファイドã®åå‰ã‚’指定ã—ã¦ãã ã•ã„。 - </notification> - <notification name="MinClassifiedPrice"> - 広告料ã¯æœ€ä½Ž L$ [MIN_PRICE] å¿…è¦ã§ã™ã€‚ - -金é¡ã‚’増やã—ã¦ãã ã•ã„。 - </notification> - <notification name="ConfirmItemDeleteHasLinks"> - ã“ã“ã«ãƒªãƒ³ã‚¯ã•ã‚ŒãŸã‚¢ã‚¤ãƒ†ãƒ ãŒå°‘ãªãã¨ã‚‚1ã¤ã‚ã‚Šã¾ã™ã€‚ ã“ã®ã‚¢ã‚¤ãƒ†ãƒ を削除ã™ã‚‹ã¨ã“ã“ã«ãƒªãƒ³ã‚¯ã•ã‚ŒãŸã‚‚ã®ãŒæ©Ÿèƒ½ã—ãªããªã‚Šã¾ã™ã€‚ リンクを先ã«å‰Šé™¤ã™ã‚‹ã“ã¨ã‚’å¼·ããŠå‹§ã‚ã—ã¾ã™ã€‚ - -ã“れらã®ã‚¢ã‚¤ãƒ†ãƒ を削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLock"> - é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã®ã†ã¡ã€å°‘ãªãã¨ã‚‚ 1 ã¤ãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopy"> - é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã®ã†ã¡ã€å°‘ãªãã¨ã‚‚ 1 ã¤ãŒã‚³ãƒ”ーã§ãã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoOwn"> - é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã®ã†ã¡ã€å°‘ãªãã¨ã‚‚ 1 ã¤ãŒã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopy"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ -å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã‚³ãƒ”ーã§ãã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoOwn"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ -å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopyNoOwn"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã‚³ãƒ”ーã§ãã¾ã›ã‚“。 -å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopyNoOwn"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ -å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã‚³ãƒ”ーã§ãã¾ã›ã‚“。 -å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 - -本当ã«å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLock"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ - -本当ã«ã“ã®ã¾ã¾å–得を続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeNoOwn"> - å–å¾—ã—よã†ã¨ã—ã¦ã„るオブジェクトã«ã¯ã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ãªã„オブジェクトãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ -ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ãªã„オブジェクトをå–å¾—ã™ã‚‹ã¨ã€æ¬¡ã®æ‰€æœ‰è€…ã®æ¨©é™ãŒãã®ã‚ªãƒ–ジェクトã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ -ãã®ãŸã‚ã€å°†æ¥ã€ä¿®æ£ã‚„コピーã®èƒ½åŠ›ãŒåˆ¶é™ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ - -本当ã«ã“ã®ã¾ã¾å–得を続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLockNoOwn"> - å°‘ãªãã¨ã‚‚ 1 ã¤ã®ã‚ªãƒ–ジェクトãŒãƒãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚ -å–å¾—ã—よã†ã¨ã—ã¦ã„るオブジェクトã«ã¯ã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ãªã„オブジェクトãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ -ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ãªã„オブジェクトをå–å¾—ã™ã‚‹ã¨ã€æ¬¡ã®æ‰€æœ‰è€…ã®æ¨©é™ãŒãã®ã‚ªãƒ–ジェクトã«é©ç”¨ã•ã‚Œã¾ã™ã€‚ -ãã®ãŸã‚ã€å°†æ¥ã€ç·¨é›†ã‚„コピーã®èƒ½åŠ›ãŒåˆ¶é™ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ -ã“ã®é¸æŠžå†…容ã®ã¾ã¾ã§ç¶šè¡Œã™ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ãŒã€ - -本当ã«ã“ã®ã¾ã¾å–得を続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="CantBuyLandAcrossMultipleRegions"> - 複数ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ãŒé¸æŠžã•ã‚ŒãŸãŸã‚ã€åœŸåœ°ã‚’購入ã§ãã¾ã›ã‚“。 - -é¸æŠžã™ã‚‹é¢ç©ã‚’å°ã•ãã—ã¦ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="DeedLandToGroup"> - ã“ã®åŒºç”»ã®è²æ¸¡ã«éš›ã—ã¦ã¯ã€ -ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ãŒå分ãªåœŸåœ°ã‚¯ãƒ¬ã‚¸ãƒƒãƒˆã‚’ä¿æœ‰ãŠã‚ˆã³ç¶æŒã—ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ -土地ã®è³¼å…¥ä¾¡æ ¼ã¯ã€æ‰€æœ‰è€…ã«è¿”金ã•ã‚Œã¾ã›ã‚“。è²æ¸¡ã•ã‚ŒãŸåŒºç”»ãŒå£²ã‚Œã‚‹ã¨ã€å£²ä¸Šé‡‘é¡ã¯ã‚°ãƒ«ãƒ¼ãƒ—メンãƒãƒ¼ã«å‡ç‰ã«åˆ†é…ã•ã‚Œã¾ã™ã€‚ - -ã“ã® [AREA] 平方メートルã®åœŸåœ°ã‚’ã€ã‚°ãƒ«ãƒ¼ãƒ— -「 [GROUP_NAME] ã€ã«è²æ¸¡ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="DeedLandToGroupWithContribution"> - ã“ã®åŒºç”»ãŒè²æ¸¡ã•ã‚Œã‚‹ã¨ã€ã‚°ãƒ«ãƒ¼ãƒ—ã¯ãã®åœŸåœ°åˆ©ç”¨æ–™ã¨ã—ã¦å分ãªæ®‹é«˜ã‚’ç¶æŒã—ã¦ã„ãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ -è²æ¸¡ã«ã¯åŒæ™‚ã« [NAME] ã‹ã‚‰ã‚°ãƒ«ãƒ¼ãƒ—ã¸ã®åœŸåœ°ã®è²¢çŒ®ãŒå«ã¾ã‚Œã¾ã™ã€‚ -土地ã®è³¼å…¥ä¾¡æ ¼ã¯æ‰€æœ‰è€…ã«è¿”金ã•ã‚Œã¾ã›ã‚“。è²æ¸¡ã•ã‚ŒãŸåŒºç”»ãŒå£²å´ã•ã‚Œã‚‹ã¨ã€è²©å£²ä¾¡æ ¼ã¯ã‚°ãƒ«ãƒ¼ãƒ—メンãƒãƒ¼ã®é–“ã§å‡ç‰ã«åˆ†é…ã•ã‚Œã¾ã™ã€‚ - -ã“ã® [AREA] m² ã®åœŸåœ°ã‚’ [GROUP_NAME] ã¨ã„ã†ã‚°ãƒ«ãƒ¼ãƒ—ã«è²æ¸¡ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="DisplaySetToSafe"> - -safe オプションを指定ã—ãŸã®ã§ã€ -表示è¨å®šã¯ã‚»ãƒ¼ãƒ•ãƒ¬ãƒ™ãƒ«ã«è¨å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="DisplaySetToRecommended"> - 表示è¨å®šã¯ã€ã‚ãªãŸã®ã‚·ã‚¹ãƒ†ãƒ 構æˆã«åŸºã¥ã„ã¦æŽ¨å¥¨ã•ã‚ŒãŸãƒ¬ãƒ™ãƒ«ã«è¨å®šã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="ErrorMessage"> - [ERROR_MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarMovedDesired"> - 目的地ã¯ç¾åœ¨ã”利用ã„ãŸã ã‘ã¾ã›ã‚“。 -è¿‘ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ç§»å‹•ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarMovedLast"> - å‰å›žã„ãŸå ´æ‰€ã¯ç¾åœ¨ã”利用ã„ãŸã ã‘ã¾ã›ã‚“。 -è¿‘ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ç§»å‹•ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarMovedHome"> - ホームãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã¯ç¾åœ¨ã”利用ã„ãŸã ã‘ã¾ã›ã‚“。 -è¿‘ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ç§»å‹•ã—ã¾ã—ãŸã€‚ -æ–°ãŸã«ãƒ›ãƒ¼ãƒ ã‚’è¨å®šã—ç›´ã™å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 - </notification> - <notification name="ClothingLoading"> - ç¾åœ¨è¡£é¡žã‚’ダウンãƒãƒ¼ãƒ‰ä¸ã§ã™ã€‚ -ã“ã®ã¾ã¾ [SECOND_LIFE] を通常通りã”使用ã„ãŸã ã‘ã¾ã™ã€‚他人ã‹ã‚‰ã¯ã‚ãªãŸã¯æ£ã—ã表示ã•ã‚Œã¾ã™ã€‚ - <form name="form"> - <ignore name="ignore" text="衣類ãŒãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã•ã‚Œã‚‹ã¾ã§æ™‚é–“ãŒã‹ã‹ã£ã¦ã„ã‚‹ã¨ã"/> - </form> - </notification> - <notification name="FirstRun"> - [APP_NAME] ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãŒå®Œäº†ã—ã¾ã—ãŸã€‚ - -[SECOND_LIFE] を使ã£ãŸã“ã¨ãŒãªã„å ´åˆã¯ã€ãƒã‚°ã‚¤ãƒ³ã™ã‚‹å‰ã«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®ä½œæˆã‚’è¡Œã£ã¦ãã ã•ã„。 -[http://join.secondlife.com/?lang=ja-JP] ã§æ–°ã—ã„アカウントを作æˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="続行" yestext="æ–°è¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ..."/> - </notification> - <notification name="LoginPacketNeverReceived"> - 接続ãŒãªã‹ãªã‹ã§ãã¾ã›ã‚“。 ãŠä½¿ã„ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆæŽ¥ç¶šã‹ã€[SECOND_LIFE_GRID] ã®å•é¡Œã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ - -インターãƒãƒƒãƒˆæŽ¥ç¶šã‚’確èªã—ã¦ã‹ã‚‰æ•°åˆ†å¾Œã«å†æŽ¥ç¶šã™ã‚‹ã‹ã€ãƒ˜ãƒ«ãƒ—をクリックã—㦠[SUPPORT_SITE] ã‚’ã”覧ã«ãªã‚‹ã‹ã€ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã‚’クリックã—ã¦ãƒ›ãƒ¼ãƒ ã«ç§»å‹•ã—ã¦ã¿ã¦ãã ã•ã„。 - <url name="url"> - http://jp.secondlife.com/support/ - </url> - <form name="form"> - <button name="OK" text="OK"/> - <button name="Help" text="ヘルプ"/> - <button name="Teleport" text="テレãƒãƒ¼ãƒˆ"/> - </form> - </notification> - <notification name="WelcomeChooseSex"> - ã¾ã‚‚ãªãã‚ãªãŸã®ã‚¢ãƒã‚¿ãƒ¼ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ - -矢å°ã‚ーを使用ã—ã¦æ©ãã¾ã™ã€‚ -ヘルプãŒå¿…è¦ãªã¨ãã‚„ [SECOND_LIFE] ã«ã¤ã„ã¦çŸ¥ã‚ŠãŸã„ã¨ãã¯ã€ -F1 ã‚ーを押ã—ã¦ãã ã•ã„。 -男性ã‚ã‚‹ã„ã¯å¥³æ€§ã®ã‚¢ãƒã‚¿ãƒ¼ã‚’é¸æŠžã—ã¦ãã ã•ã„。 -ã‚ãªãŸã®æ±ºå®šã¯å¾Œã§å¤‰æ›´ã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="女性" yestext="男性"/> - </notification> - <notification name="CantTeleportToGrid"> - ç¾åœ¨ã®ã‚°ãƒªãƒƒãƒ‰ï¼ˆ[CURRENT_GRID])ã¨ã¯ã‚°ãƒªãƒƒãƒ‰ï¼ˆ[GRID])ãŒç•°ãªã‚‹ãŸã‚ã€[SLURL] ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ ビューワを閉ã˜ã¦ã‹ã‚‰ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GeneralCertificateError"> - サーãƒãƒ¼ã«æŽ¥ç¶šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -[REASON] - -サブジェクトå: [SUBJECT_NAME_STRING] -発行元: [ISSUER_NAME_STRING] -有効日: [VALID_FROM] -次ã®æ›´æ–°æ—¥ï¼š [VALID_TO] -MD5 フィンガープリント: [SHA1_DIGEST] -SHA1 フィンガープリント: [MD5_DIGEST] -ã‚ー使用法: [KEYUSAGE] -æ‹¡å¼µã‚ー使用法: [EXTENDEDKEYUSAGE] -サブジェクトã‚ーèªè˜åˆ¥å: [SUBJECTKEYIDENTIFIER] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TrustCertificateError"> - ã“ã®ã‚µãƒ¼ãƒãƒ¼ã®èªè¨¼æ©Ÿé–¢ã¯ä¸æ˜Žã§ã™ã€‚ - -èªè¨¼æƒ…å ±ï¼š -サブジェクトå: [SUBJECT_NAME_STRING] -発行元: [ISSUER_NAME_STRING] -有効日: [VALID_FROM] -次ã®æ›´æ–°æ—¥ï¼š [VALID_TO] -MD5 フィンガープリント: [SHA1_DIGEST] -SHA1 フィンガープリント: [MD5_DIGEST] -ã‚ー使用法: [KEYUSAGE] -æ‹¡å¼µã‚ー使用法: [EXTENDEDKEYUSAGE] -サブジェクトã‚ーèªè˜åˆ¥å: [SUBJECTKEYIDENTIFIER] - -ã“ã®èªè¨¼å±€ã‚’ä¿¡é ¼ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="信用ã™ã‚‹"/> - </notification> - <notification name="NotEnoughCurrency"> - [NAME] L$[PRICE] 残高ä¸è¶³ã®ãŸã‚実行ä¸å¯ã§ã™ã€‚ - </notification> - <notification name="GrantedModifyRights"> - [NAME] ã¯ã€ã‚ãªãŸã«ã‚ªãƒ–ジェクトã®ç·¨é›†æ¨©é™ã‚’与ãˆã¾ã—ãŸã€‚ - </notification> - <notification name="RevokedModifyRights"> - [NAME] ã®ã‚ªãƒ–ジェクトを編集ã™ã‚‹æ¨©é™ã¯å–り消ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="FlushMapVisibilityCaches"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã®åœ°å›³ã®ã‚ャッシュを消去ã—ã¾ã™ã€‚ -デãƒãƒƒã‚°ç›®çš„ã®ã¿ã«ä¾¿åˆ©ãªæ“作ã§ã™ã€‚ -(作æˆä¸ã¯ 5 分間経ã¤ã¨ã€å…¨å“¡ã®åœ°å›³ãŒå†åº¦ãƒã‚°ã‚¤ãƒ³å¾Œã«æ›´æ–°ã•ã‚Œã¾ã™ï¼‰ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyOneObjectOnly"> - 一度㫠1 ã¤ä»¥ä¸Šã®ã‚ªãƒ–ジェクトを買ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“。 オブジェクトを 1 ã¤ã ã‘é¸ã‚“ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="OnlyCopyContentsOfSingleItem"> - 一度ã«è¤‡æ•°ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ä¸èº«ã‚’コピーã§ãã¾ã›ã‚“。 -オブジェクトを 1 ã¤ã ã‘é¸æŠžã—ã¦ã€ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="KickUsersFromRegion"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ã„ã‚‹å…¨ã¦ã®ä½äººã‚’ホームã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="EstateObjectReturn"> - [USER_NAME] ãŒæ‰€æœ‰ã—ã¦ã„るオブジェクトを返å´ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="InvalidTerrainBitDepth"> - 地域テクスãƒãƒ£ã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸï¼š -地形テクスãƒãƒ£[TEXTURE_NUM]ã¯ã€ç„¡åŠ¹ã®ãƒ“ット深度[TEXTURE_BIT_DEPTH]ã§ã™ã€‚ - -テクスãƒãƒ£[TEXTURE_NUM]ã‚’24ビット512x512ã‹ãれ以下ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã¨äº¤æ›ã—ã€ã€Œé©ç”¨ã€ã‚’å†åº¦ã‚¯ãƒªãƒƒã‚¯ã—ã¦ãã ã•ã„。 - </notification> - <notification name="InvalidTerrainSize"> - 地域テクスãƒãƒ£ã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸï¼š -地形テクスãƒãƒ£ã€Œ [TEXTURE_NUM] ã€ã¯ã€[TEXTURE_SIZE_X]x[TEXTURE_SIZE_Y] ã§ã¯å¤§ãã™ãŽã¾ã™ã€‚ - -「 [TEXTURE_NUM] ã€ã‚’ 24 ビット 512x512 ã‹ãれ以下ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã¨äº¤æ›ã—ã€ã€Œé©ç”¨ã€ã‚’å†åº¦ã‚¯ãƒªãƒƒã‚¯ã—ã¦ãã ã•ã„。 - </notification> - <notification name="RawUploadStarted"> - アップãƒãƒ¼ãƒ‰ã‚’開始ã—ã¾ã—ãŸã€‚ 接続速度ã«ã‚ˆã£ã¦ã¯ã€æœ€å¤§ 2 分間ã‹ã‹ã‚Šã¾ã™ã€‚ - </notification> - <notification name="ConfirmBakeTerrain"> - ç¾åœ¨ã®åœ°å½¢ã‚’構築ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -ã“ã®æ“作を行ã†ã¨ã€ç¾åœ¨ã®åœ°å½¢ãŒä¸Šæ˜‡ãƒ»ä¸‹é™ã®åˆ¶é™ç¯„囲ã®ä¸å¿ƒã¨ãªã‚Šã€ã€Œå¾©å…ƒã€ãƒ„ールã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã«ãªã‚Šã¾ã™ã€‚ -æ“作を続行ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="MaxAllowedAgentOnRegion"> - 許å¯ä½äººã¯ [MAX_AGENTS] 人ã¾ã§ã§ã™ã€‚ - </notification> - <notification name="MaxBannedAgentsOnRegion"> - ç¦æ¢ä½äººã¯ [MAX_BANNED] 人ã¾ã§ã§ã™ã€‚ - </notification> - <notification name="MaxAgentOnRegionBatch"> - [NUM_ADDED] 個ã®ã‚¨ãƒ¼ã‚¸ã‚§ãƒ³ãƒˆã‚’è¿½åŠ ã—よã†ã¨ã—ã¦å¤±æ•—ã—ã¾ã—ãŸï¼š [MAX_AGENTS] [LIST_TYPE] 制é™ã‚’ [NUM_EXCESS] 個超éŽã—ã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="MaxAllowedGroupsOnRegion"> - 許å¯ã‚°ãƒ«ãƒ¼ãƒ—㯠[MAX_GROUPS] グループã¾ã§ã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="構築ã™ã‚‹"/> - </notification> - <notification name="MaxManagersOnRegion"> - ä¸å‹•ç”£ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã¯ [MAX_MANAGER] 人ã¾ã§ã§ã™ã€‚ - </notification> - <notification name="OwnerCanNotBeDenied"> - ä¸å‹•ç”£ã‚ªãƒ¼ãƒŠãƒ¼ã‚’ä¸å‹•ç”£ã®ã€Œç¦æ¢ä½äººã€ãƒªã‚¹ãƒˆã«è¿½åŠ ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CanNotChangeAppearanceUntilLoaded"> - 衣類ãŠã‚ˆã³ã‚·ã‚§ã‚¤ãƒ—ãŒèªã¿è¾¼ã¾ã‚Œã‚‹ã¾ã§ã¯ã€å®¹å§¿ã®å¤‰æ›´ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="ClassifiedMustBeAlphanumeric"> - クラシファイド広告ã®åå‰ã¯ã€ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã‹æ•°å—ã§å§‹ã‚ã¾ã™ã€‚å¥èªç‚¹ã§ã¯å§‹ã‚られã¾ã›ã‚“。 - </notification> - <notification name="CantSetBuyObject"> - オブジェクトãŒè²©å£²å¯¾è±¡ã§ã¯ãªã„ãŸã‚ã€ã‚ªãƒ–ジェクトã®è³¼å…¥ãŒã§ãã¾ã›ã‚“。 -販売対象ã®ã‚ªãƒ–ジェクトを指定ã—ã¦ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="FinishedRawDownload"> - æœªåŠ å·¥ã®åœ°å½¢ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ダウンãƒãƒ¼ãƒ‰ã—ã¾ã—ãŸï¼š -[DOWNLOAD_PATH] - </notification> - <notification name="DownloadWindowsMandatory"> - [APP_NAME] ã®æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -[APP_NAME] ã‚’ã”利用ã«ãªã‚‹ã«ã¯ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadWindows"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadWindowsReleaseForDownload"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadLinuxMandatory"> - [APP_NAME] ã®æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -[APP_NAME] ã‚’ã”利用ã«ãªã‚‹ã«ã¯ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadLinux"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="続ã‘ã‚‹" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadLinuxReleaseForDownload"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="続ã‘ã‚‹" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadMacMandatory"> - [APP_NAME] ã®æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -[APP_NAME] ã‚’ã”利用ã«ãªã‚‹ã«ã¯ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã™ã€‚ - -ã‚ãªãŸã®ã‚¢ãƒ—リケーションフォルダã«ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="終了" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadMac"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - -ã‚ãªãŸã®ã‚¢ãƒ—リケーションフォルダã«ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="DownloadMacReleaseForDownload"> - [APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã”利用å¯èƒ½ã§ã™ã€‚ -[MESSAGE] -ã“ã®ã‚¢ãƒƒãƒ—デートã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒ‘フォーマンスå‘上ã®ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ - -ã‚ãªãŸã®ã‚¢ãƒ—リケーションフォルダã«ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンãƒãƒ¼ãƒ‰"/> - </notification> - <notification name="FailedUpdateInstall"> - ビューワã®ã‚¢ãƒƒãƒ—デートをインストールä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ -http://secondlife.com/download ã‹ã‚‰æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ダウンãƒãƒ¼ãƒ‰ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FailedRequiredUpdateInstall"> - å¿…è¦ãªã‚¢ãƒƒãƒ—デートをインストールã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -[APP_NAME] ãŒã‚¢ãƒƒãƒ—デートã•ã‚Œã‚‹ã¾ã§ãƒã‚°ã‚¤ãƒ³ã§ãã¾ã›ã‚“。 - -http://secondlife.com/download ã‹ã‚‰æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ダウンãƒãƒ¼ãƒ‰ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="終了"/> - </notification> - <notification name="UpdaterServiceNotRunning"> - ãŠä½¿ã„ã® Second Life ã«å¿…è¦ãªã‚¢ãƒƒãƒ—デートãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“。 - -ã“ã®ã‚¢ãƒƒãƒ—デートã¯ã€http://www.secondlife.com/downloads ã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¦ã€ä»Šã™ãインストールã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了" yestext="今ã™ãダウンãƒãƒ¼ãƒ‰ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«"/> - </notification> - <notification name="DownloadBackgroundTip"> - ãŠä½¿ã„ã® [APP_NAME] ã«å¿…è¦ãªã‚¢ãƒƒãƒ—デートをダウンãƒãƒ¼ãƒ‰ã—ã¾ã—ãŸã€‚ -ãƒãƒ¼ã‚¸ãƒ§ãƒ³ [VERSION] [[RELEASE_NOTES_FULL_URL] ã“ã®ã‚¢ãƒƒãƒ—デートã«é–¢ã™ã‚‹æƒ…å ±] - <usetemplate name="okcancelbuttons" notext="後ã§å®Ÿè¡Œ" yestext="今ã™ãインストールã—㦠[APP_NAME] ã‚’å†èµ·å‹•"/> - </notification> - <notification name="DownloadBackgroundDialog"> - ãŠä½¿ã„ã® [APP_NAME] ã«å¿…è¦ãªã‚¢ãƒƒãƒ—デートをダウンãƒãƒ¼ãƒ‰ã—ã¾ã—ãŸã€‚ -ãƒãƒ¼ã‚¸ãƒ§ãƒ³ [VERSION] [[RELEASE_NOTES_FULL_URL] ã“ã®ã‚¢ãƒƒãƒ—デートã«é–¢ã™ã‚‹æƒ…å ±] - <usetemplate name="okcancelbuttons" notext="後ã§å®Ÿè¡Œ" yestext="今ã™ãインストールã—㦠[APP_NAME] ã‚’å†èµ·å‹•"/> - </notification> - <notification name="RequiredUpdateDownloadedVerboseDialog"> - å¿…è¦ãªã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã®ã‚¢ãƒƒãƒ—デートをダウンãƒãƒ¼ãƒ‰ã—ã¾ã—ãŸã€‚ -ãƒãƒ¼ã‚¸ãƒ§ãƒ³ [VERSION] - -アップデートをインストールã™ã‚‹ã«ã¯ [APP_NAME] ã‚’å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RequiredUpdateDownloadedDialog"> - アップデートをインストールã™ã‚‹ã«ã¯ [APP_NAME] ã‚’å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeedObjectToGroup"> - ã“ã®ã‚ªãƒ–ジェクトをè²æ¸¡ã™ã‚‹ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã¯ä»¥ä¸‹ã®ã“ã¨ãŒå¯èƒ½ã§ã™ï¼š -* オブジェクトã«æ”¯æ‰•ã‚れ㟠L$ ã‚’å—é ˜ã—ã¾ã™ã€‚ - <usetemplate ignoretext="オブジェクトをグループã«è²æ¸¡ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="å–り消ã—" yestext="è²æ¸¡"/> - </notification> - <notification name="WebLaunchExternalTarget"> - Web ブラウザを開ã„ã¦ã“ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を表示ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ブラウザを起動ã—㦠Web ページを見るã¨ã" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="WebLaunchJoinNow"> - [http://jp.secondlife.com/account/ マイアカウント] ページã«ç§»å‹•ã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’管ç†ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ブラウザを起動ã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’管ç†ã™ã‚‹ã¨ã" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="WebLaunchSecurityIssues"> - [SECOND_LIFE] Wiki ã§ã€ã‚»ã‚ュリティå•é¡Œã‚’å ±å‘Šã™ã‚‹æ–¹æ³•ã‚’ã”覧ãã ã•ã„。 - <usetemplate ignoretext="ブラウザを起動ã—ã¦ã‚»ã‚ュリティå•é¡Œã®å ±å‘Šã®ä»•æ–¹ã‚’確èªã™ã‚‹ã¨ã" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="WebLaunchQAWiki"> - [SECOND_LIFE] å“質ä¿è¨¼é–¢é€£ Wiki ã‚’ã”覧ãã ã•ã„。 - <usetemplate ignoretext="ブラウザを起動ã—㦠QA Wiki を見るã¨ã" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="WebLaunchPublicIssue"> - [SECOND_LIFE] ã®ãƒ‘ブリックå•é¡Œãƒˆãƒ©ãƒƒã‚«ãƒ¼ã§ã€ -ãƒã‚°ã‚„ãã®ä»–ã®å•é¡Œã‚’å ±å‘Šã§ãã¾ã™ã€‚ - <usetemplate ignoretext="ブラウザを起動ã—ã¦ãƒ‘ブリックå•é¡Œãƒˆãƒ©ãƒƒã‚«ãƒ¼ã‚’使用ã™ã‚‹ã¨ã" name="okcancelignore" notext="ã‚ャンセル" yestext="ページã¸è¡Œã"/> - </notification> - <notification name="WebLaunchSupportWiki"> - Linden å…¬å¼ãƒ–ãƒã‚°ã§ã€æœ€æ–°ã®ãƒ‹ãƒ¥ãƒ¼ã‚¹ã‚„æƒ…å ±ã‚’å…¥æ‰‹ã—ã¦ãã ã•ã„。 - <usetemplate ignoretext="ブラウザを起動ã—ã¦å…¬å¼ãƒ–ãƒã‚°ã‚’見るã¨ã" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLGuide"> - スクリプトガイドを開ãã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ブラウザを起動ã—ã¦ã‚¹ã‚¯ãƒªãƒ—トガイドを見るã¨ã" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLWiki"> - LSL ãƒãƒ¼ã‚¿ãƒ«ã§ã‚¹ã‚¯ãƒªãƒ—トã«é–¢ã™ã‚‹æƒ…å ±ã‚’ç¢ºèªã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ブラウザを起動ã—㦠LSL ãƒãƒ¼ã‚¿ãƒ«ã‚’見るã¨ã" name="okcancelignore" notext="å–り消ã—" yestext="ページã«ç§»å‹•"/> - </notification> - <notification name="ReturnToOwner"> - é¸æŠžã—ãŸã‚ªãƒ–ジェクトをã€æ‰€æœ‰è€…ã«è¿”å´ã—ã¾ã™ã‹ï¼Ÿ -「å†è²©ãƒ»ãƒ—レゼントå¯ã€ã®è²æ¸¡ã•ã‚ŒãŸã‚ªãƒ–ジェクトã¯ã€ä»¥å‰ã®æ‰€æœ‰è€…ã«è¿”å´ã•ã‚Œã¾ã™ã€‚ - -*è¦å‘Š* 「å†è²©ãƒ»ãƒ—レゼントä¸å¯ã€ã®è²æ¸¡ã•ã‚ŒãŸã‚ªãƒ–ジェクトã¯ã€å‰Šé™¤ã•ã‚Œã¾ã™ï¼ - <usetemplate ignoretext="オブジェクトを所有者ã«è¿”å´ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="GroupLeaveConfirmMember"> - ç¾åœ¨ã‚ãªãŸã¯ [GROUP] ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã™ã€‚ -ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—を抜ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmKick"> - 本当ã«ä½äººå…¨å“¡ã‚’グリッドã‹ã‚‰è¿½ã„出ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="ä½äººå…¨å“¡ã‚’追ã„出ã™"/> - </notification> - <notification name="MuteLinden"> - リンデンをブãƒãƒƒã‚¯ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotStartAuctionAlreadyForSale"> - æ—¢ã«å£²ã‚Šå‡ºã—ä¸ã®åŒºç”»ãªã®ã§ã‚ªãƒ¼ã‚¯ã‚·ãƒ§ãƒ³ã«ã‹ã‘ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 オークションã«ã‹ã‘ãŸã„å ´åˆã¯å£²ã‚Šå‡ºã—è¨å®šã‚’解除ã—ã¦ã‹ã‚‰è¡Œã£ã¦ãã ã•ã„。 - </notification> - <notification label="åå‰ã§ã®ã‚ªãƒ–ジェクトã®ãƒ–ãƒãƒƒã‚¯ã«å¤±æ•—ã—ã¾ã—ãŸ" name="MuteByNameFailed"> - ã“ã®åå‰ã¯æ—¢ã«ãƒ–ãƒãƒƒã‚¯æ¸ˆã¿ã§ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RemoveItemWarn"> - コンテンツを削除ã™ã‚‹ã¨ã€è¨±å¯ãŒã‚ã£ã¦ã‚‚オブジェクトã«æ傷を与ãˆã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ -削除を続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="CantOfferCallingCard"> - ç¾åœ¨ã‚³ãƒ¼ãƒªãƒ³ã‚°ã‚«ãƒ¼ãƒ‰ã‚’é€ã‚Œã¾ã›ã‚“。数分後ã«ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CantOfferFriendship"> - ç¾åœ¨ãƒ•ãƒ¬ãƒ³ãƒ‰ã‚·ãƒƒãƒ—ã‚’é€ã‚Œã¾ã›ã‚“。数分後ã«ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="BusyModeSet"> - å–ã‚Šè¾¼ã¿ä¸ãƒ¢ãƒ¼ãƒ‰ã«ãªã‚Šã¾ã—ãŸã€‚ -ãƒãƒ£ãƒƒãƒˆã¨ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。 å—ä¿¡ã™ã‚‹ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«ã¯å–ã‚Šè¾¼ã¿ä¸è¿”ç”メッセージãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ テレãƒãƒ¼ãƒˆã®ã‚ªãƒ•ã‚¡ãƒ¼ã¯å—ã‘å–ã‚Šæ‹’å¦ã¨ãªã‚Šã¾ã™ã€‚ アイテムã®ã‚ªãƒ•ã‚¡ãƒ¼ã¯ã™ã¹ã¦ã”ã¿ç®±ã«å…¥ã‚Šã¾ã™ã€‚ - <usetemplate ignoretext="ãƒã‚°ã‚¤ãƒ³çŠ¶æ…‹ã‚’å–ã‚Šè¾¼ã¿ä¸ãƒ¢ãƒ¼ãƒ‰ã«å¤‰æ›´ã™ã‚‹ã¨ã" name="okignore" yestext="OK"/> - </notification> - <notification name="JoinedTooManyGroupsMember"> - åŠ å…¥ã§ãるグループã®æœ€å¤§é™ã«é”ã—ã¾ã—ãŸã€‚ ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«åŠ å…¥ã™ã‚‹ãŸã‚ã«ä»–ã®ã‚°ãƒ«ãƒ¼ãƒ—を脱退ã™ã‚‹ã‹ã€ã“ã®ç”³ã—入れをæ–ã£ã¦ãã ã•ã„。 -[NAME] ãŒã‚ãªãŸã‚’グループã®ãƒ¡ãƒ³ãƒãƒ¼ã¨ã—ã¦å‹§èª˜ã—ã¦ã„ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="辞退" yestext="å‚åŠ "/> - </notification> - <notification name="JoinedTooManyGroups"> - åŠ å…¥ã§ãるグループã®æœ€å¤§é™ã«é”ã—ã¾ã—ãŸã€‚ æ–°ã—ãグループã«å‚åŠ ã€ã¾ãŸã¯ä½œæˆã™ã‚‹å‰ã«ã€ã©ã‚Œã‹ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰æŠœã‘ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="KickUser"> - ã©ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æ·»ãˆã¦ã“ã®ä½äººã‚’追ã„出ã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - ã‚ãªãŸã¯ç®¡ç†è€…ã«ã‚ˆã‚Šãƒã‚°ã‚ªãƒ•ã•ã‚Œã¾ã—ãŸã€‚ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="KickAllUsers"> - ã©ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ã¤ã‘ã¦ã‚°ãƒªãƒƒãƒ‰ã«ã„る全員を追ã„出ã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - ã‚ãªãŸã¯ç®¡ç†è€…ã«ã‚ˆã‚Šãƒã‚°ã‚ªãƒ•ã•ã‚Œã¾ã—ãŸã€‚ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="FreezeUser"> - ã©ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æ·»ãˆã¦ã“ã®ä½äººã‚’フリーズã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - ã‚ãªãŸã¯ãƒ•ãƒªãƒ¼ã‚ºã•ã‚Œã¦ã„ã¾ã™ã€‚ å‹•ãã“ã¨ã‚‚ãƒãƒ£ãƒƒãƒˆã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã›ã‚“。 管ç†è€…㌠IM ã§ã‚ãªãŸã«é€£çµ¡ã—ã¾ã™ã€‚ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="UnFreezeUser"> - ã©ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æ·»ãˆã¦ã“ã®ä½äººã®ãƒ•ãƒªãƒ¼ã‚ºã‚’解除ã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - ã‚‚ã†ãƒ•ãƒªãƒ¼ã‚ºã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="SetDisplayNameSuccess"> - [DISPLAY_NAME] ã•ã‚“〠- -ç¾å®Ÿã®ä¸–ç•Œã¨åŒã˜ãã€Second Life ã§ã‚‚æ–°ã—ã„åå‰ãŒæµ¸é€ã™ã‚‹ã«ã¯æ™‚é–“ãŒã‹ã‹ã‚Šã¾ã™ã€‚オブジェクトã€ã‚¹ã‚¯ãƒªãƒ—トã€æ¤œç´¢ãªã©ã§åå‰ãŒæ›´æ–°ã•ã‚Œã‚‹ã¾ã§ã«ï¼ˆ[http://wiki.secondlife.com/wiki/Setting_your_display_name your name to update])数日ã‹ã‹ã‚Šã¾ã™ã®ã§ã”了承ãã ã•ã„。 - </notification> - <notification name="SetDisplayNameBlocked"> - 申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ç¾åœ¨è¡¨ç¤ºåã¯å¤‰æ›´ã§ãã¾ã›ã‚“。システムã®ã‚¨ãƒ©ãƒ¼ã ã¨æ€ã‚ã‚Œã‚‹å ´åˆã¯ã€ã‚µãƒãƒ¼ãƒˆã«ãŠå•ã„åˆã‚ã›ãã ã•ã„。 - </notification> - <notification name="SetDisplayNameFailedLength"> - 申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ãã®åå‰ã¯é•·ã™ãŽã¾ã™ã€‚表示åã¯æœ€é•· [LENGTH] æ–‡å—ã¾ã§ã§ã™ã€‚ - -ã‚‚ã†å°‘ã—çŸã„åå‰ã‚’ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="SetDisplayNameFailedGeneric"> - 申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€è¡¨ç¤ºåã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ã‚ã¨ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="SetDisplayNameMismatch"> - 入力ã—ãŸè¡¨ç¤ºåãŒä¸€è‡´ã—ã¾ã›ã‚“。もã†ä¸€åº¦å…¥åŠ›ã—ã¦ãã ã•ã„。 - </notification> - <notification name="AgentDisplayNameUpdateThresholdExceeded"> - ã—ã°ã‚‰ãã¯è¡¨ç¤ºåを変更ã§ãã¾ã›ã‚“。 - -http://wiki.secondlife.com/wiki/Setting_your_display_name ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 - -ã‚ã¨ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="AgentDisplayNameSetBlocked"> - 申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚ŒãŸåå‰ã¯ç¦å¥ã‚’å«ã‚€ãŸã‚ã«è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ - -別ã®åå‰ã‚’ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="AgentDisplayNameSetInvalidUnicode"> - è¨å®šã—よã†ã¨ã™ã‚‹è¡¨ç¤ºåã«ã¯ä½¿ãˆãªã„æ–‡å—ãŒå«ã¾ã‚Œã¾ã™ã€‚ - </notification> - <notification name="AgentDisplayNameSetOnlyPunctuation"> - 表示åã«ã¯å¥èªç‚¹ä»¥å¤–ã®æ–‡å—ã‚’å«ã‚€å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="DisplayNameUpdate"> - [OLD_NAME] ([SLID]) 㯠[NEW_NAME] ã«å¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="OfferTeleport"> - 次ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’æ·»ãˆã¦ç¾åœ¨åœ°ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã‚’é€ã‚Šã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - [REGION] ã«æ¥ã¾ã›ã‚“ã‹ï¼Ÿ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="OfferTeleportFromGod"> - ç¾åœ¨åœ°ã«ä½äººã‚’ゴッドサモンã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <input name="message"> - [REGION] ã«æ¥ã¾ã›ã‚“ã‹ï¼Ÿ - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="TeleportFromLandmark"> - ã“ã®ã¾ã¾ <nolink>[LOCATION]</nolink> ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ランドマークã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ãŸã„ã‹ã©ã†ã‹ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="テレãƒãƒ¼ãƒˆ"/> - </notification> - <notification name="TeleportToPick"> - [PICK] ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ピックã®å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ãŸã„ã‹ã©ã†ã‹ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="テレãƒãƒ¼ãƒˆ"/> - </notification> - <notification name="TeleportToClassified"> - [CLASSIFIED] ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="クラシファイド広告ã®å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ãŸã„ã‹ã©ã†ã‹ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="テレãƒãƒ¼ãƒˆ"/> - </notification> - <notification name="TeleportToHistoryEntry"> - [HISTORY_ENTRY] ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="å±¥æ´ã®å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ãŸã„ã‹ã©ã†ã‹ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="テレãƒãƒ¼ãƒˆ"/> - </notification> - <notification label="ã‚ãªãŸã®ä¸å‹•ç”£å†…ã®å…¨å“¡ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ä¿¡" name="MessageEstate"> - 今ã‚ãªãŸã®ä¸å‹•ç”£ã«ã„る人全員ã«é€ã‚‹ã€çŸã„メッセージを入力ã—ã¦ãã ã•ã„。 - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification label="Lindenã®ä¸å‹•ç”£ã‚’変更" name="ChangeLindenEstate"> - リンデンãŒæ‰€æœ‰ã™ã‚‹ã‚¨ã‚¹ãƒ†ãƒ¼ãƒˆï¼ˆãƒ¡ã‚¤ãƒ³ãƒ©ãƒ³ãƒ‰ã€ãƒ†ã‚£ãƒ¼ãƒ³ã‚°ãƒªãƒƒãƒ‰ã€ã‚ªãƒªã‚¨ãƒ³ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ãªã©ï¼‰ã‚’変更ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ - -ä½äººã®ä½“験ã«æ ¹æœ¬çš„ã«å½±éŸ¿ã‚’与ãˆã‚‹ãŸã‚ã€éžå¸¸ã«å±é™ºãªè¡Œç‚ºã§ã™ã€‚ メインランドã§ã¯ã€ä½•åƒã¨ã„ã†ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ãŒå¤‰æ›´ã«ã‚ˆã‚‹å½±éŸ¿ã‚’å—ã‘ã€ãã®ãŸã‚スペースサーãƒãƒ¼ã«è² æ‹…ã‚’ã‹ã‘ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ - -ãã‚Œã§ã‚‚続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification label="Lindenã®ä¸å‹•ç”£ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’変更" name="ChangeLindenAccess"> - ã‚ãªãŸã¯ãƒªãƒ³ãƒ‡ãƒ³æ‰€æœ‰ã®ä¸å‹•ç”£ï¼ˆãƒ¡ã‚¤ãƒ³ãƒ©ãƒ³ãƒ‰ã€ãƒ†ã‚£ãƒ¼ãƒ³ã‚°ãƒªãƒƒãƒ‰ã€ã‚ªãƒªã‚¨ãƒ³ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ãªã©ï¼‰ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒªã‚¹ãƒˆã‚’変更ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ - -ã“ã®è¡Œç‚ºã¯ã€Œå±é™ºã€ã§ã‚ã‚Šã€ã‚°ãƒªãƒƒãƒ‰ã‹ã‚‰ã‚ªãƒ–ジェクトやãŠé‡‘ã®è»¢é€ã‚’ã‚‚ãŸã‚‰ã™ãƒãƒƒã‚ングを引ãèµ·ã“ã™å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€å®Œå…¨ã«ãれをæ„図ã—ãŸå ´åˆã®ã¿è¡Œã†ã¹ãã‚‚ã®ã§ã™ã€‚ -ã“ã‚Œã«ã‚ˆã‚Šå¤šæ•°ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ãŒå¤‰æ›´ã•ã‚Œã€ã‚¹ãƒšãƒ¼ã‚¹ã‚µãƒ¼ãƒãƒ¼ã«æ‚ªå½±éŸ¿ãŒç”Ÿã˜ã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateAllowedAgentAdd"> - ã“ã®ä¸å‹•ç”£é™å®šã®è¨±å¯ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ ãã‚Œã¨ã‚‚ [ALL_ESTATES] ã®è¨±å¯ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateAllowedAgentRemove"> - ã“ã®ä¸å‹•ç”£é™å®šã®è¨±å¯ãƒªã‚¹ãƒˆã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ ãã‚Œã¨ã‚‚ã€[ALL_ESTATES] ã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateAllowedGroupAdd"> - ã“ã®ä¸å‹•ç”£é™å®šã®ã‚°ãƒ«ãƒ¼ãƒ—許å¯ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ ãã‚Œã¨ã‚‚ [ALL_ESTATES] ã®ã‚°ãƒ«ãƒ¼ãƒ—許å¯ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateAllowedGroupRemove"> - ã“ã®ä¸å‹•ç”£é™å®šã®è¨±å¯ãƒªã‚¹ãƒˆã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ ãã‚Œã¨ã‚‚ã€[ALL_ESTATES] ã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateBannedAgentAdd"> - ã“ã®ä¸å‹•ç”£é™å®šã§ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã—ã¾ã™ã‹ï¼Ÿ ãã‚Œã¨ã‚‚ [ALL_ESTATE] ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æ‹’å¦ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateBannedAgentRemove"> - ã“ã®ä½äººãŒã€ã“ã®ä¸å‹•ç”£é™å®šã€ã¾ãŸã¯ [ALL_ESTATES] ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ã€ç¦æ¢ãƒªã‚¹ãƒˆã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateManagerAdd"> - ã“ã®ä¸å‹•ç”£é™å®šã€ã¾ãŸã¯ [ALL_ESTATES] ã®ä¸å‹•ç”£ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã‚’è¿½åŠ ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ä¸å‹•ç”£ã‚’é¸æŠž" name="EstateManagerRemove"> - ä¸å‹•ç”£ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã‚’ã€ã“ã®ä¸å‹•ç”£é™å®šã€ã¾ãŸã¯ [ALL_ESTATES] ã‹ã‚‰ã€å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="å–り消ã—" name="yesnocancelbuttons" notext="ã™ã¹ã¦ã®ä¸å‹•ç”£" yestext="ã“ã®ä¸å‹•ç”£"/> - </notification> - <notification label="ã‚ックを確èª" name="EstateKickUser"> - ã“ã®ä¸å‹•ç”£ã‹ã‚‰ [EVIL_USER] を追ã„出ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="EstateChangeCovenant"> - ä¸å‹•ç”£ç´„款を変更ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ã¸ã¯å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 年齢を確èªã™ã‚‹éš›ã®æƒ…å ±ã«ä¸è¶³ãŒã‚ã£ãŸãŸã‚ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ - -最新ビューワãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ã‚’ã”確èªãã ã•ã„。ã“ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã§ã®ã‚¢ã‚¯ã‚»ã‚¹ã«é–¢ã™ã‚‹è©³ç´°ã¯ãƒŠãƒ¬ãƒƒã‚¸ãƒ™ãƒ¼ã‚¹ã‚’ã”覧ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked_KB"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ã¸ã¯å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - -ナレッジベースを開ãレーティング区分ã«ã¤ã„ã¦å¦ã³ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/ja - </url> - <usetemplate ignoretext="レーティング区分ã®åˆ¶é™ã®ãŸã‚ã€ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«å…¥ã‚‹ã“ã¨ãŒã§ããªã„ã¨ã" name="okcancelignore" notext="é–‰ã˜ã‚‹" yestext="ナレッジベースを開ã"/> - </notification> - <notification name="RegionEntryAccessBlocked_Notify"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ã¸ã¯å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - </notification> - <notification name="RegionEntryAccessBlocked_Change"> - レーティング区分ã«é–¢ã™ã‚‹è¨å®šã«ã‚ˆã‚Šã€ãã®åœ°åŸŸï¼ˆãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼‰ã«ã¯ç«‹ã¡å…¥ã‚Œã¾ã›ã‚“。 - -ãã®åœ°åŸŸã«å…¥ã‚‹ã«ã¯ã€ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã®è¨å®šã‚’変更ã—ã¦ãã ã•ã„。変更ã™ã‚‹ã¨ã€[REGIONMATURITY]ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®æ¤œç´¢ã‚„アクセスãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚変更内容を元ã«æˆ»ã™ã«ã¯ã€ãƒŸãƒ¼ > 環境è¨å®š > 一般をé¸æŠžã—ã¦ãã ã•ã„。 - <form name="form"> - <button name="OK" text="環境è¨å®šã®å¤‰æ›´"/> - <button default="true" name="Cancel" text="é–‰ã˜ã‚‹"/> - <ignore name="ignore" text="é¸æŠžã—ãŸãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ãŒåŽŸå› ã§ã€ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«å…¥ã‚Œãªã„ã¨ã"/> - </form> - </notification> - <notification name="PreferredMaturityChanged"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†è¨å®šã¯ç¾åœ¨ [RATING] ã§ã™ã€‚ - </notification> - <notification name="LandClaimAccessBlocked"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 年齢を確èªã™ã‚‹éš›ã®æƒ…å ±ã«ä¸è¶³ãŒã‚ã£ãŸãŸã‚ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ - -最新ビューワãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ã‚’ã”確èªãã ã•ã„。ã“ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã§ã®ã‚¢ã‚¯ã‚»ã‚¹ã«é–¢ã™ã‚‹è©³ç´°ã¯ãƒŠãƒ¬ãƒƒã‚¸ãƒ™ãƒ¼ã‚¹ã‚’ã”覧ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandClaimAccessBlocked_KB"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - -ナレッジベースを開ãレーティング区分ã«ã¤ã„ã¦å¦ã³ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/ja - </url> - <usetemplate ignoretext="レーティング区分ã®åˆ¶é™ã®ãŸã‚ã€ã“ã®åœŸåœ°ã‚’å–å¾—ã§ãã¾ã›ã‚“" name="okcancelignore" notext="é–‰ã˜ã‚‹" yestext="ナレッジベースを開ã"/> - </notification> - <notification name="LandClaimAccessBlocked_Notify"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="LandClaimAccessBlocked_Change"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†è¨å®šã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - -「è¨å®šã‚’変更ã€ã‚’クリックã—ã¦ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã‚’上ã’ã‚‹ã¨ã€å…¥ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ ã‚ãªãŸã¯ä»Šå¾Œ [REGIONMATURITY] コンテンツã®æ¤œç´¢åŠã³ã‚¢ã‚¯ã‚»ã‚¹ãŒå¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚ ã‚ã¨ã§è¨å®šã‚’å…ƒã«æˆ»ã—ãŸã„å ´åˆã¯ã€ã€Œç·¨é›†ã€ï¼žã€Œç’°å¢ƒè¨å®šã€ã‚’ã”覧ãã ã•ã„。 - <usetemplate ignoretext="é¸æŠžã—ãŸãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ãŒåŽŸå› ã§ã€åœŸåœ°ã‚’å–å¾—ã§ããªã„ã¨ã" name="okcancelignore" notext="é–‰ã˜ã‚‹" yestext="è¨å®šã®å¤‰æ›´"/> - </notification> - <notification name="LandBuyAccessBlocked"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’購入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 年齢を確èªã™ã‚‹éš›ã®æƒ…å ±ã«ä¸è¶³ãŒã‚ã£ãŸãŸã‚ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚ - -最新ビューワãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ã‚’ã”確èªãã ã•ã„。ã“ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã§ã®ã‚¢ã‚¯ã‚»ã‚¹ã«é–¢ã™ã‚‹è©³ç´°ã¯ãƒŠãƒ¬ãƒƒã‚¸ãƒ™ãƒ¼ã‚¹ã‚’ã”覧ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandBuyAccessBlocked_KB"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’購入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - -ナレッジベースを開ãレーティング区分ã«ã¤ã„ã¦å¦ã³ã¾ã™ã‹ï¼Ÿ - <url name="url"> - http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/ja - </url> - <usetemplate ignoretext="レーティング区分ã®åˆ¶é™ã®ãŸã‚ã€ã“ã®åœŸåœ°ã‚’購入ã§ãã¾ã›ã‚“" name="okcancelignore" notext="é–‰ã˜ã‚‹" yestext="ナレッジベースを開ã"/> - </notification> - <notification name="LandBuyAccessBlocked_Notify"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’購入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="LandBuyAccessBlocked_Change"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†è¨å®šã«ã‚ˆã‚Šã€ã“ã®åœŸåœ°ã‚’購入ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - -「è¨å®šã‚’変更ã€ã‚’クリックã—ã¦ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã‚’上ã’ã‚‹ã¨ã€å…¥ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ ã‚ãªãŸã¯ä»Šå¾Œ [REGIONMATURITY] コンテンツã®æ¤œç´¢åŠã³ã‚¢ã‚¯ã‚»ã‚¹ãŒå¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚ ã‚ã¨ã§è¨å®šã‚’å…ƒã«æˆ»ã—ãŸã„å ´åˆã¯ã€ã€Œç·¨é›†ã€ï¼žã€Œç’°å¢ƒè¨å®šã€ã‚’ã”覧ãã ã•ã„。 - <usetemplate ignoretext="é¸æŠžã—ãŸãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ãŒåŽŸå› ã§ã€åœŸåœ°ã‚’購入ã§ããªã„ã¨ã" name="okcancelignore" notext="é–‰ã˜ã‚‹" yestext="è¨å®šã®å¤‰æ›´"/> - </notification> - <notification name="TooManyPrimsSelected"> - é¸æŠžã—ãŸãƒ—リムãŒå¤šã™ãŽã¾ã™ã€‚ [MAX_PRIM_COUNT] 個é¸æŠžã™ã‚‹ã‹ã€ãƒ—リム数を減らã—ã¦ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemImportingEstateCovenant"> - ä¸å‹•ç”£ç´„款ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆæ™‚ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemAddingEstateManager"> - æ–°ã—ã„ä¸å‹•ç”£ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã®è¿½åŠ ã«é–¢ã™ã‚‹å•é¡Œï¼š -ã„ãšã‚Œã‹ã®ä¸å‹•ç”£ã®ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ãƒªã‚¹ãƒˆãŒæº€æ¯ã«ãªã£ã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="ProblemAddingEstateGeneric"> - ä¸å‹•ç”£ãƒªã‚¹ãƒˆã®è¿½åŠ ã«é–¢ã™ã‚‹å•é¡Œï¼š -ã„ãšã‚Œã‹ã®ä¸å‹•ç”£ã®ãƒªã‚¹ãƒˆãŒæº€æ¯ã«ãªã£ã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="UnableToLoadNotecardAsset"> - ç¾åœ¨ãƒŽãƒ¼ãƒˆã‚«ãƒ¼ãƒ‰ã®ã‚¢ã‚»ãƒƒãƒˆ ID ã‚’èªã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NotAllowedToViewNotecard"> - è¦æ±‚ã—ãŸã‚¢ã‚»ãƒƒãƒˆ ID ã«é–¢ã™ã‚‹ãƒŽãƒ¼ãƒˆã‚«ãƒ¼ãƒ‰ã‚’閲覧ã™ã‚‹ã«ã¯ã€æ¨©é™ãŒä¸å分ã§ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MissingNotecardAssetID"> - ノートカード用ã®ã‚¢ã‚»ãƒƒãƒˆ ID ãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ç™»éŒ²ã•ã‚Œã¦ã„ã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PublishClassified"> - 注æ„:クラシファイド広告ã®æ–™é‡‘ã¯æ‰•ã„戻ã—ã•ã‚Œã¾ã›ã‚“。 - -L$ [AMOUNT] ã§ã€ã“ã®ã‚¯ãƒ©ã‚·ãƒ•ã‚¡ã‚¤ãƒ‰åºƒå‘Šã‚’今ã™ã公開ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="SetClassifiedMature"> - ã“ã®åºƒå‘Šã«ã€ŒModerateã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯å«ã¾ã‚Œã¦ã„ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="SetGroupMature"> - ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã€ŒModerateã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã‹ï¼Ÿ - <usetemplate canceltext="ã‚ャンセル" name="yesnocancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification label="å†èµ·å‹•ã‚’確èª" name="ConfirmRestart"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ 2 分後ã«å†èµ·å‹•ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification label="ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ä¿¡" name="MessageRegion"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ã„る人全員ã«é€ã‚‹çŸã„メッセージを入力ã—ã¦ãã ã•ã„。 - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification label="地域ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†æŒ‡å®šå¤‰æ›´æ¸ˆã¿" name="RegionMaturityChange"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ï¼ˆåœ°åŸŸï¼‰ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ãŒã‚¢ãƒƒãƒ—デートã•ã‚Œã¾ã—ãŸã€‚ -地図ã«å¤‰æ›´ãŒåæ˜ ã•ã‚Œã‚‹ã¾ã§æ•°åˆ†ã‹ã‹ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ - -Adult 専用リージョンã«å…¥ã‚‹ã«ã¯ã€ä½äººã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŒå¹´é½¢ç¢ºèªã‹æ”¯æ‰•æ–¹æ³•ã®ã„ãšã‚Œã‹ã§ã€Œç¢ºèªæ¸ˆã¿ã€ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 - </notification> - <notification label="ボイスãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ä¸ä¸€è‡´" name="VoiceVersionMismatch"> - [APP_NAME] ã®ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯ã€ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ãŠã‘るボイスãƒãƒ£ãƒƒãƒˆã®äº’æ›æ€§ãŒã‚ã‚Šã¾ã›ã‚“。 ボイスãƒãƒ£ãƒƒãƒˆã‚’æ£å¸¸ã«è¡Œã†ãŸã‚ã«ã¯ã€[APP_NAME] ã®ã‚¢ãƒƒãƒ—デートãŒå¿…è¦ã§ã™ã€‚ - </notification> - <notification label="オブジェクトを購入ã§ãã¾ã›ã‚“" name="BuyObjectOneOwner"> - 複数ã®æ‰€æœ‰è€…ã‹ã‚‰åŒæ™‚ã«ã‚ªãƒ–ジェクトを購入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 -å˜ä¸€ã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã€ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification label="コンテンツを購入ã§ãã¾ã›ã‚“" name="BuyContentsOneOnly"> - 一度ã«è¤‡æ•°ã®ã‚ªãƒ–ジェクトã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯è³¼å…¥ã§ãã¾ã›ã‚“。 -é¸æŠžã™ã‚‹ã‚ªãƒ–ジェクトを1ã¤ã ã‘ã«ã—ã¦ã€ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification label="コンテンツを購入ã§ãã¾ã›ã‚“" name="BuyContentsOneOwner"> - 複数ã®æ‰€æœ‰è€…ã‹ã‚‰åŒæ™‚ã«ã‚ªãƒ–ジェクトを購入ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 -å˜ä¸€ã®ã‚ªãƒ–ジェクトをé¸æŠžã—ã€ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="BuyOriginal"> - オリジナルã®ã‚ªãƒ–ジェクトを [OWNER] ã‹ã‚‰ L$ [PRICE] ã§è³¼å…¥ã—ã¾ã™ã‹ï¼Ÿ -購入ã™ã‚‹ã¨ã€ã‚ãªãŸãŒã‚ªãƒ–ジェクトã®æ‰€æœ‰è€…ã¨ãªã‚Šã¾ã™ã€‚ -å¯èƒ½ãªæ“作ã¯ã€ -ä¿®æ£ï¼š[MODIFYPERM]ã€ã‚³ãƒ”ー:[COPYPERM]〠-å†è²©ãƒ»ãƒ—レゼント:[RESELLPERM] ã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyOriginalNoOwner"> - L$ [PRICE] ã§ã‚ªãƒªã‚¸ãƒŠãƒ«ã®ã‚ªãƒ–ジェクトを購入ã—ã¾ã™ã‹ï¼Ÿ -購入ã™ã‚‹ã¨ã€ã‚ãªãŸãŒã‚ªãƒ–ジェクトã®æ‰€æœ‰è€…ã¨ãªã‚Šã¾ã™ã€‚ -å¯èƒ½ãªæ“作ã¯ã€ -ä¿®æ£ï¼š[MODIFYPERM]ã€ã‚³ãƒ”ー:[COPYPERM]〠-å†è²©ãƒ»ãƒ—レゼント:[RESELLPERM] ã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyCopy"> - コピーを [OWNER] ã‹ã‚‰ L$ [PRICE] ã§è³¼å…¥ã—ã¾ã™ã‹ï¼Ÿ -購入ã—ãŸã‚ªãƒ–ジェクトã¯ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚ -å¯èƒ½ãªæ“作ã¯ã€ -ä¿®æ£ï¼š[MODIFYPERM]ã€ã‚³ãƒ”ー:[COPYPERM]〠-å†è²©ãƒ»ãƒ—レゼント:[RESELLPERM] ã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyCopyNoOwner"> - L$ [PRICE] ã§ã‚³ãƒ”ーを購入ã—ã¾ã™ã‹ï¼Ÿ -購入ã—ãŸã‚ªãƒ–ジェクトã¯ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚ -å¯èƒ½ãªæ“作ã¯ã€ -ä¿®æ£ï¼š[MODIFYPERM]ã€ã‚³ãƒ”ー:[COPYPERM]〠-å†è²©ãƒ»ãƒ—レゼント:[RESELLPERM] ã§ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyContents"> - ä¸èº«ã‚’ [OWNER] ã‹ã‚‰ L$ [PRICE] ã§è³¼å…¥ã—ã¾ã™ã‹ï¼Ÿ -購入ã—ãŸä¸èº«ã¯ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="BuyContentsNoOwner"> - L$ [PRICE] ã§ä¸èº«ã‚’購入ã—ã¾ã™ã‹ï¼Ÿ -購入ã—ãŸä¸èº«ã¯ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmPurchase"> - ã“ã®å–引ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šè¡Œã‚ã‚Œã¾ã™ï¼š -[ACTION] - -購入を続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ConfirmPurchasePassword"> - ã“ã®å–引ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šè¡Œã‚ã‚Œã¾ã™ï¼š -[ACTION] - -購入を続ã‘ã¾ã™ã‹ï¼Ÿ -パスワードをå†å…¥åŠ›ã—ã€ã€Œ OK ã€ã‚’クリックã—ã¦ãã ã•ã„。 - <form name="form"> - <input name="message"/> - <button name="ConfirmPurchase" text="OK"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="SetPickLocation"> - メモ: -本ピックã®ä½ç½®ã‚’æ›´æ–°ã—ã¾ã—ãŸãŒã€ -ä»–ã®è©³ç´°ã¯å…ƒã®å€¤ã®ã¾ã¾ã«ãªã‚Šã¾ã™ã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromObject"> - 「コピーä¸å¯ã€ã®æŒã¡ç‰©ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã—ã¾ã—ãŸã€‚ -ã“れらã®ã‚¢ã‚¤ãƒ†ãƒ ã¯ã‚³ãƒ”ーã•ã‚Œãªã„ã¾ã¾ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ç§»å‹•ã•ã‚Œã¾ã™ã€‚ - - -アイテムを動ã‹ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="「コピーä¸å¯ã€ã®ã‚¢ã‚¤ãƒ†ãƒ をオブジェクトã‹ã‚‰å‹•ã‹ã™å‰ã®è¦å‘Š" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromScriptedObject"> - 「コピーä¸å¯ã€ã®æŒã¡ç‰©ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã—ã¾ã—ãŸã€‚ -ã“れらã®ã‚¢ã‚¤ãƒ†ãƒ ã¯ã‚³ãƒ”ーã•ã‚Œãšã«ã€ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«ç§»å‹•ã•ã‚Œã¾ã™ã€‚ -ã“ã®ã‚ªãƒ–ジェクトã¯ã‚¹ã‚¯ãƒªãƒ—ト付ããªã®ã§ã€ã€ŒæŒã¡ç‰©ã€ã«ç§»å‹•ã•ã›ã‚‹ã¨ -スクリプトã«èª¤å‹•ä½œãŒèµ·ãã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ - -æŒã¡ç‰©ã‚¢ã‚¤ãƒ†ãƒ を移動ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="スクリプト入りã®ã‚ªãƒ–ジェクトを壊ã™æã‚Œã®ã‚る「コピーä¸å¯ã€ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’å‹•ã‹ã™å‰ã®è¦å‘Š" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ClickActionNotPayable"> - è¦å‘Šï¼š クリックã§ã€Œã‚ªãƒ–ジェクトã«æ”¯æ‰•ã†ã€è¨å®šã‚’ã—ã¾ã—ãŸã€‚スクリプト㫠money()イベントãŒè¿½åŠ ã•ã‚Œã‚‹ã¨å‹•ä½œã—ã¾ã™ã€‚ - <form name="form"> - <ignore name="ignore" text="オブジェクトを作æˆä¸ã«ã€money() スクリプトを入れãšã«ã€Œã‚ªãƒ–ジェクトã«æ”¯æ‰•ã†ã€ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’è¨å®šã—ãŸã¨ã"/> - </form> - </notification> - <notification name="OpenObjectCannotCopy"> - ã“ã®ã‚ªãƒ–ジェクトã«ã¯ã€ã‚ãªãŸãŒã‚³ãƒ”ーã§ãるアイテムã¯ã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="WebLaunchAccountHistory"> - [http://jp.secondlife.com/account/ マイアカウント] ページã«ç§»å‹•ã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå±¥æ´ã‚’確èªã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ブラウザを起動ã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå±¥æ´ã‚’見るã¨ã" name="okcancelignore" notext="å–り消ã—" yestext="ページã«ç§»å‹•"/> - </notification> - <notification name="ConfirmQuit"> - 終了ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="終了時ã®ç¢ºèª" name="okcancelignore" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification name="DeleteItems"> - [QUESTION] - <usetemplate ignoretext="アイテムを削除ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="HelpReportAbuseEmailLL"> - ã“ã®ãƒ„ールを利用ã—㦠[http://secondlife.com/corporate/tos.php 利用è¦ç´„] ã‚„ [http://jp.secondlife.com/corporate/cs.php コミュニティスタンダード] ã®é•åã‚’å ±å‘Šã—ã¦ãã ã•ã„。 - -å ±å‘Šã•ã‚ŒãŸå«ŒãŒã‚‰ã›ã¯ã™ã¹ã¦èª¿æŸ»ãƒ»è§£æ±ºã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseSelectCategory"> - å«ŒãŒã‚‰ã›å ±å‘Šã®ã‚«ãƒ†ã‚´ãƒªã‚’é¸æŠžã—ã¦ãã ã•ã„。 -カテゴリをé¸æŠžã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€å«ŒãŒã‚‰ã›å ±å‘Šã®å‡¦ç†ã‚„ä¿ç®¡ã«å¤§å¤‰å½¹ç«‹ã¡ã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseAbuserNameEmpty"> - å«ŒãŒã‚‰ã›è¡Œç‚ºã‚’ã—ãŸäººã®åå‰ã‚’入力ã—ã¦ãã ã•ã„。 -æ£ç¢ºãªæƒ…å ±ã®å…¥åŠ›ã«ã‚ˆã‚Šã€å«ŒãŒã‚‰ã›å ±å‘Šã®å‡¦ç†ã‚„ä¿ç®¡ã«å¤§å¤‰å½¹ç«‹ã¡ã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseAbuserLocationEmpty"> - å«ŒãŒã‚‰ã›ãŒã‚ã£ãŸå ´æ‰€ã‚’入力ã—ã¦ãã ã•ã„。 -æ£ç¢ºãªæƒ…å ±ã®å…¥åŠ›ã«ã‚ˆã‚Šã€å«ŒãŒã‚‰ã›å ±å‘Šã®å‡¦ç†ã‚„ä¿ç®¡ã«å¤§å¤‰å½¹ç«‹ã¡ã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseSummaryEmpty"> - å«ŒãŒã‚‰ã›ã®æ¦‚è¦ã‚’入力ã—ã¦ãã ã•ã„。 -æ£ç¢ºãªæ¦‚è¦ã®å…¥åŠ›ã«ã‚ˆã‚Šã€ -å«ŒãŒã‚‰ã›å ±å‘Šã®å‡¦ç†ã‚„ä¿ç®¡ã«å¤§å¤‰å½¹ç«‹ã¡ã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseDetailsEmpty"> - å«ŒãŒã‚‰ã›ã®è©³ç´°ãªèª¬æ˜Žã‚’入力ã—ã¦ãã ã•ã„。 -åå‰ã‚„å«ŒãŒã‚‰ã›ã®è©³ç´°ã‚’ã€ã§ãã‚‹ã ã‘具体的ã«å…¥åŠ›ã—ã¦ãã ã•ã„。 - -æ£ç¢ºãªèª¬æ˜Žã®å…¥åŠ›ã«ã‚ˆã‚Šã€ -å«ŒãŒã‚‰ã›å ±å‘Šã®å‡¦ç†ã‚„ä¿ç®¡ã«å¤§å¤‰å½¹ç«‹ã¡ã¾ã™ã€‚ - </notification> - <notification name="HelpReportAbuseContainsCopyright"> - ã“ã‚“ã«ã¡ã¯ã€ - -知的財産権ã®ä¾µå®³ã‚’å ±å‘Šã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ æ£ç¢ºã«å ±å‘Šã™ã‚‹ãŸã‚ã«ã€ä»¥ä¸‹ã‚’ã”確èªãã ã•ã„: - -(1) å«ŒãŒã‚‰ã›ã®å ±å‘Šã®æ‰‹é † ä½äººãŒ [SECOND_LIFE] ã®æ¨©é™ã‚·ã‚¹ãƒ†ãƒ を悪用ã—ã¦ã„ã‚‹ã®ã‚’見ã¤ã‘ãŸã‚‰ã€å«ŒãŒã‚‰ã›ã®å ±å‘Šã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°ã€CopyBot ã‚„ä¼¼ãŸã‚ˆã†ãªã‚³ãƒ”ーツールを使用ã—ã¦çŸ¥çš„財産権を侵害ã—ã¦ã„ã‚‹å ´åˆã§ã™ã€‚ 担当ãƒãƒ¼ãƒ ã¯èª¿æŸ»ã‚’è¡Œã„ã€[SECOND_LIFE] [http://secondlife.com/corporate/tos.php 利用è¦ç´„] ã‚„ [http://jp.secondlife.com/corporate/cs.php コミュニティスタンダード] ã«é•åã™ã‚‹è¡Œç‚ºã«å¯¾ã™ã‚‹é©åˆ‡ãªå‡¦ç½°ã‚’下ã—ã¾ã™ã€‚ ãŸã ã—ã€æ‹…当ãƒãƒ¼ãƒ 㯠[SECOND_LIFE] ã®ä¸–ç•Œã‹ã‚‰ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を削除ã—ã¦æ¬²ã—ã„ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¯å¿œã˜ã¾ã›ã‚“。 - -(2) DMCA ã¾ãŸã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®æ’¤åŽ»ã®æ‰‹é † コンテンツを [SECOND_LIFE] ã‹ã‚‰å‰Šé™¤ã—ã¦æ¬²ã—ã„ã¨ã„ã†ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ã™ã‚‹ã«ã¯ã€å¼Šç¤¾ [http://secondlife.com/corporate/dmca.php DMCA ãƒãƒªã‚·ãƒ¼] ã§æ示ã•ã‚Œã¦ã„ã‚‹ã¨ãŠã‚Šã€æœ‰åŠ¹ãªä¾µå®³ã®é€šçŸ¥ã‚’æ出ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。. - -ã“ã®ã¾ã¾å«ŒãŒã‚‰ã›ã®å ±å‘Šã‚’続ã‘ãŸã„å ´åˆã¯ã€ã“ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ã¦å ±å‘Šã‚’é€ã£ã¦ãã ã•ã„。 「コピー Bot åŠã³æ¨©é™ã®æ‚ªç”¨ã€ã®ã‚«ãƒ†ã‚´ãƒªã‚’é¸ã‚“ã æ–¹ãŒé©åˆ‡ã®å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ - -ã”å”力ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ - -Linden Lab - </notification> - <notification name="FailedRequirementsCheck"> - 以下ã®å¿…è¦ãªã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãŒã€[FLOATER] ã‹ã‚‰æŠœã‘è½ã¡ã¦ã„ã¾ã™ -[COMPONENTS] - </notification> - <notification label="æ—¢å˜ã®ä»˜å±žå“ã‚’ç½®æ›" name="ReplaceAttachment"> - 体ã®ã“ã®éƒ¨ä½ã«ã¯æ—¢ã«ã‚ªãƒ–ジェクトãŒè£…ç€ã•ã‚Œã¦ã„ã¾ã™ã€‚ -é¸æŠžã•ã‚ŒãŸã‚ªãƒ–ジェクトã¨ç½®ãæ›ãˆã¾ã™ã‹ï¼Ÿ - <form name="form"> - <ignore name="ignore" save_option="true" text="装ç€ã—ã¦ã„るアイテムã¨é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ を入れ替ãˆã‚‹ã¨ã"/> - <button ignore="自動的ã«äº¤æ›" name="Yes" text="OK"/> - <button ignore="交æ›ã—ãªã„" name="No" text="ã‚ャンセル"/> - </form> - </notification> - <notification label="å–ã‚Šè¾¼ã¿ä¸ã®è¦å‘Š" name="BusyModePay"> - ç¾åœ¨ã€ã€Œå–ã‚Šè¾¼ã¿ä¸ã€ãƒ¢ãƒ¼ãƒ‰ã®ãŸã‚ã€æ”¯æ‰•ã„ã¨å¼•ãæ›ãˆã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’å—ã‘å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - -ã“ã®å–引を行ã†ãŸã‚ã«ã€Œå–ã‚Šè¾¼ã¿ä¸ã€ã®è¨å®šã‚’解除ã—ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <ignore name="ignore" save_option="true" text="å–ã‚Šè¾¼ã¿ä¸ãƒ¢ãƒ¼ãƒ‰æ™‚ã«æ”¯æ‰•ã‚’ã™ã‚‹ã¨ã"/> - <button ignore="常ã«ã€Œå–ã‚Šè¾¼ã¿ä¸ã€ã®è¨å®šã‚’解除" name="Yes" text="OK"/> - <button ignore="常ã«ã€Œå–ã‚Šè¾¼ã¿ä¸ã€ã®è¨å®šã‚’継続" name="No" text="ã‚ャンセル"/> - </form> - </notification> - <notification name="ConfirmDeleteProtectedCategory"> - 「 [FOLDERNAME] 〠ã¯ã€ã‚·ã‚¹ãƒ†ãƒ フォルダã§ã™ã€‚ システムフォルダを削除ã™ã‚‹ã¨ä¸å®‰å®šã«ãªã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ 続ã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="システムフォルダを削除ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmEmptyTrash"> - ã”ã¿ç®±ã®ä¸èº«ã‚’ã™ã¹ã¦å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="æŒã¡ç‰©ã®ã”ã¿ç®±ãƒ•ã‚©ãƒ«ãƒ€ã‚’空ã«ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmClearBrowserCache"> - トラベルã€Webã€æ¤œç´¢ã®å±¥æ´ã‚’ã™ã¹ã¦å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="ConfirmClearCookies"> - 本当ã«ã‚¯ãƒƒã‚ーをクリアã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="ã¯ã„"/> - </notification> - <notification name="ConfirmClearMediaUrlList"> - ä¿å˜ã•ã‚ŒãŸ URL ã®ãƒªã‚¹ãƒˆã‚’消去ã—ã¾ã™ã€‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="ã¯ã„"/> - </notification> - <notification name="ConfirmEmptyLostAndFound"> - 紛失物ã®ä¸èº«ã‚’ã™ã¹ã¦å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="紛失物フォルダを空ã«ã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="CopySLURL"> - 次㮠SLurl ãŒã‚¯ãƒªãƒƒãƒ—ボードã«ã‚³ãƒ”ーã•ã‚Œã¾ã—ãŸï¼š - [SLURL] - -Web ページã«ãƒªãƒ³ã‚¯ã™ã‚‹ã¨ã€ä»–人ãŒã“ã®å ´æ‰€ã«ç°¡å˜ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚Web ブラウザã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãƒãƒ¼ã«è²¼ã‚Šä»˜ã‘ã¦è©¦ã—ã¦ã¿ã¦ãã ã•ã„。 - <form name="form"> - <ignore name="ignore" text="クリップボード㫠SLurl をコピーã™ã‚‹ã¨ã"/> - </form> - </notification> - <notification name="WLSavePresetAlert"> - ä¿å˜ã•ã‚ŒãŸäº‹å‰è¨å®šã‚’上書ãã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="WLDeletePresetAlert"> - 「 [SKY] ã€ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="WLNoEditDefault"> - デフォルトã®è¨å®šã‚’編集ã—ãŸã‚Šå‰Šé™¤ã—ãŸã‚Šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="WLMissingSky"> - ã“ã®ãƒ‡ã‚¤ã‚µã‚¤ã‚¯ãƒ«ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ¬¡ã®å˜åœ¨ã—ãªã„「空ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å‚ç…§ã—ã¦ã„ã¾ã™ï¼š [SKY]。 - </notification> - <notification name="PPSaveEffectAlert"> - ãƒã‚¹ãƒˆãƒ—ãƒã‚»ã‚¹åŠ¹æžœãŒå˜åœ¨ã—ã¾ã™ã€‚ 上書ãã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="NewSkyPreset"> - æ–°ã—ã„空ã®åå‰ã‚’指定ã—ã¦ãã ã•ã„。 - <form name="form"> - <input name="message"> - æ–°ã—ã„事å‰è¨å®š - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="ã‚ャンセル"/> - </form> - </notification> - <notification name="ExistsSkyPresetAlert"> - 事å‰è¨å®šãŒã™ã§ã«å˜åœ¨ã—ã¾ã™ï¼ - </notification> - <notification name="NewWaterPreset"> - æ–°ã—ã„æ°´ã®äº‹å‰è¨å®šã®åå‰ã‚’指定ã—ã¦ãã ã•ã„。 - <form name="form"> - <input name="message"> - æ–°ã—ã„事å‰è¨å®š - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="ã‚ャンセル"/> - </form> - </notification> - <notification name="ExistsWaterPresetAlert"> - 事å‰è¨å®šãŒã™ã§ã«å˜åœ¨ã—ã¾ã™ï¼ - </notification> - <notification name="WaterNoEditDefault"> - デフォルトã®è¨å®šã‚’編集ã—ãŸã‚Šå‰Šé™¤ã—ãŸã‚Šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="ChatterBoxSessionStartError"> - [RECIPIENT] ã¨æ–°ã—ã„ãƒãƒ£ãƒƒãƒˆã‚’開始ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ChatterBoxSessionEventError"> - [EVENT] -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ForceCloseChatterBoxSession"> - [NAME] ã¨ã®ãƒãƒ£ãƒƒãƒˆã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’é–‰ã˜ã¾ã™ã€‚ -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="Cannot_Purchase_an_Attachment"> - オブジェクトãŒå–り付ã‘られã¦ã„ã‚‹ã¾ã¾ã§ã¯è³¼å…¥ã§ãã¾ã›ã‚“。 - </notification> - <notification label="引ã出ã—許å¯ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã¤ã„ã¦" name="DebitPermissionDetails"> - ã“ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’許å¯ã™ã‚‹ã¨ã€ã‚¹ã‚¯ãƒªãƒ—トã§ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‹ã‚‰ãƒªãƒ³ãƒ‡ãƒ³ãƒ‰ãƒ«ã‚’引ã出ã›ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚ -ã“ã®è¨±å¯ã‚’å–り消ã™ã«ã¯ã€ã‚ªãƒ–ジェクトã®æ‰€æœ‰è€…ãŒã‚ªãƒ–ジェクトを削除ã™ã‚‹ã‹ã€ã‚ªãƒ–ジェクトã®ã‚¹ã‚¯ãƒªãƒ—トをリセットã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AutoWearNewClothing"> - 作æˆã™ã‚‹è¡£é¡žã‚’自動的ã«è£…ç€ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="「容姿ã€ã‚’編集ä¸ã«ã€ä½œæˆã™ã‚‹è¡£é¡žã‚’装ç€ã™ã‚‹ã¨ã" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="NotAgeVerified"> - 年齢確èªã‚’済ã¾ã›ã¦ã„ãªã„ã¨ã“ã®åŒºç”»ã‚’訪れるã“ã¨ãŒã§ãã¾ã›ã‚“。 [SECOND_LIFE] サイトã§å¹´é½¢ã®ç¢ºèªã‚’è¡Œã„ã¾ã™ã‹ï¼Ÿ - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/verification.php?lang=ja - </url> - <usetemplate ignoretext="å¹´é½¢ã®ç¢ºèªã‚’済ã¾ã›ã¦ã„ãªã„ã¨ã" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="Cannot enter parcel: no payment info on file"> - æ”¯æ‰•æƒ…å ±ãŒç™»éŒ²ã•ã‚Œã¦ã„ãªã„ã¨ã“ã®ã‚¨ãƒªã‚¢ã‚’訪れるã“ã¨ãŒã§ãã¾ã›ã‚“。 [SECOND_LIFE] サイトã§ç™»éŒ²ã‚’è¡Œã„ã¾ã™ã‹ï¼Ÿ - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/index.php?lang=ja - </url> - <usetemplate ignoretext="æ”¯æ‰•æƒ…å ±ãŒç™»éŒ²ã•ã‚Œã¦ã„ãªã„ã¨ã" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="MissingString"> - æ–‡å—列 [STRING_NAME] ㌠strings.xml ã«å«ã¾ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="SystemMessageTip"> - [MESSAGE] - </notification> - <notification name="IMSystemMessageTip"> - [MESSAGE] - </notification> - <notification name="Cancelled"> - å–り消ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="CancelledSit"> - 座るã®ã‚’ã‚„ã‚ã¾ã—ãŸã€‚ - </notification> - <notification name="CancelledAttach"> - 添付ãŒå–り消ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="ReplacedMissingWearable"> - æ¬ è½ã—ã¦ã„る衣類や身体部ä½ã‚’デフォルトã«ç½®ãæ›ãˆã¾ã™ã€‚ - </notification> - <notification name="GroupNotice"> - 件å: [SUBJECT]ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ï¼š [MESSAGE] - </notification> - <notification name="FriendOnline"> - [NAME] ã¯ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ä¸ã§ã™ - </notification> - <notification name="FriendOffline"> - [NAME] ã¯ã‚ªãƒ•ãƒ©ã‚¤ãƒ³ä¸ã§ã™ - </notification> - <notification name="AddSelfFriend"> - 残念ãªãŒã‚‰è‡ªåˆ†è‡ªèº«ã‚’フレンド登録ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="UploadingAuctionSnapshot"> - インワールド㨠Web サイトã®ã‚¹ãƒŠãƒƒãƒ—ショットをアップãƒãƒ¼ãƒ‰ä¸ã§ã™... -(所è¦æ™‚間:約 5 分) - </notification> - <notification name="UploadPayment"> - アップãƒãƒ¼ãƒ‰ã« L$ [AMOUNT] 支払ã„ã¾ã—ãŸã€‚ - </notification> - <notification name="UploadWebSnapshotDone"> - Web サイトã®ã‚¹ãƒŠãƒƒãƒ—ショットãŒã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="UploadSnapshotDone"> - インワールドã§ã®ã‚¹ãƒŠãƒƒãƒ—ショットã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ãŒå®Œäº†ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="TerrainDownloaded"> - raw 地形ãŒãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã•ã‚Œã¾ã—㟠- </notification> - <notification name="GestureMissing"> - ジェスãƒãƒ£ãƒ¼ã® [NAME] ãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="UnableToLoadGesture"> - [NAME] ã¨ã„ã†ã‚¸ã‚§ã‚¹ãƒãƒ£ãƒ¼ã‚’èªã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="LandmarkMissing"> - データベースã«ãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="UnableToLoadLandmark"> - ランドマークをèªã¿è¾¼ã‚ã¾ã›ã‚“。 ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="CapsKeyOn"> - CapsLock ã‚ーãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã¾ã™ã€‚ -パスワードã«å½±éŸ¿ã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 - </notification> - <notification name="NotecardMissing"> - ノートカードãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="NotecardNoPermissions"> - ã“ã®ãƒŽãƒ¼ãƒˆã‚«ãƒ¼ãƒ‰ã‚’見る権é™ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="RezItemNoPermissions"> - オブジェクトを Rez ã™ã‚‹ã«ã¯æ¨©é™ãŒä¸è¶³ã—ã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="UnableToLoadNotecard"> - ノートカードをèªã¿è¾¼ã‚ã¾ã›ã‚“。ã‚ã¨ã§å†åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="ScriptMissing"> - データベースã«ã‚¹ã‚¯ãƒªãƒ—トãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="ScriptNoPermissions"> - スクリプトを閲覧ã™ã‚‹ã«ã¯æ¨©é™ãŒä¸å分ã§ã™ã€‚ - </notification> - <notification name="UnableToLoadScript"> - スクリプトをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“。 ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 - </notification> - <notification name="IncompleteInventory"> - ã‚ãªãŸã®æä¾›ã™ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯ã€ãƒãƒ¼ã‚«ãƒ«ã§ã¯ã¾ã 全部æƒã£ã¦ã„ã¾ã›ã‚“。 -ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="CannotModifyProtectedCategories"> - ä¿è·ã•ã‚ŒãŸã‚«ãƒ†ã‚´ãƒªã¯ä¿®æ£ã§ãã¾ã›ã‚“。 - </notification> - <notification name="CannotRemoveProtectedCategories"> - ä¿è·ã•ã‚ŒãŸã‚«ãƒ†ã‚´ãƒªã¯å‰Šé™¤ã§ãã¾ã›ã‚“。 - </notification> - <notification name="UnableToBuyWhileDownloading"> - オブジェクトデータã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ä¸ã¯è³¼å…¥ã§ãã¾ã›ã‚“。 -ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="UnableToLinkWhileDownloading"> - オブジェクトデータã®ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ä¸ã¯ãƒªãƒ³ã‚¯ã§ãã¾ã›ã‚“。 -ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="CannotBuyObjectsFromDifferentOwners"> - オブジェクトã¯ä¸€åº¦ã«ä¸€äººã®æ‰€æœ‰è€…ã‹ã‚‰è³¼å…¥ã§ãã¾ã™ã€‚ -オブジェクトを 1 ã¤ã ã‘é¸ã‚“ã§ãã ã•ã„。 - </notification> - <notification name="ObjectNotForSale"> - ã“ã®ã‚ªãƒ–ジェクトã¯è²©å£²å¯¾è±¡ã§ã¯ã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="EnteringGodMode"> - レベル [LEVEL] ã®ã‚´ãƒƒãƒ‰ãƒ¢ãƒ¼ãƒ‰ã«å…¥ã‚Šã¾ã™ - </notification> - <notification name="LeavingGodMode"> - レベル [LEVEL] ã®ã‚´ãƒƒãƒ‰ãƒ¢ãƒ¼ãƒ‰ã‚’解除ã—ã¾ã™ - </notification> - <notification name="CopyFailed"> - ã“れをコピーã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="InventoryAccepted"> - [NAME] ã¯ã€ã‚ãªãŸãŒæ¸¡ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’å—ã‘å–ã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="InventoryDeclined"> - [NAME] ã¯ã€æŒã¡ç‰©ã®æ供をæ–ã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="ObjectMessage"> - [NAME]: [MESSAGE] - </notification> - <notification name="CallingCardAccepted"> - コーリングカードãŒå—ç†ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="CallingCardDeclined"> - コーリングカードãŒæ‹’å¦ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="TeleportToLandmark"> - ç”»é¢å³ã®ã€Œå ´æ‰€ã€ãƒ‘ãƒãƒ«ã‚’é–‹ã„ã¦ã€ã€Œãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã€ã‚¿ãƒ–ã‚’é¸ã¶ã¨ã€[NAME] ã¨ã„ã£ãŸå ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã§ãã¾ã™ã€‚ -好ããªãƒ©ãƒ³ãƒ‰ãƒžãƒ¼ã‚¯ã‚’クリックã—ã¦é¸ã³ã€æ¬¡ã«ãƒ‘ãƒãƒ«ä¸‹ã®ã€Œãƒ†ãƒ¬ãƒãƒ¼ãƒˆã€ã‚’クリックã—ã¾ã™ã€‚ -(ランドマークをダブルクリックã€ã¾ãŸã¯å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œãƒ†ãƒ¬ãƒãƒ¼ãƒˆã€ã‚’é¸ã‚“ã§ã‚‚åŒã˜ã§ã™ã€‚) - </notification> - <notification name="TeleportToPerson"> - ç”»é¢å³ã®ã€Œäººã€ãƒ‘ãƒãƒ«ã‚’é–‹ã„ã¦ã€[NAME] ã¨ã„ã£ãŸä½äººã«é€£çµ¡ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ -リストã‹ã‚‰ä½äººã‚’é¸æŠžã—ã¦ã€ãƒ‘ãƒãƒ«ä¸‹ã®ã€ŒIMã€ã‚’クリックã—ã¾ã™ã€‚ -(リストã®åå‰ã‚’ダブルクリックã€ã¾ãŸã¯å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€ŒIMã€ã‚’é¸ã‚“ã§ã‚‚åŒã˜ã§ã™ã€‚) - </notification> - <notification name="CantSelectLandFromMultipleRegions"> - サーãƒãƒ¼ã®å¢ƒç•Œã‚’越ãˆã¦åœŸåœ°ã‚’é¸æŠžã™ã‚‹ã“ã¨ã§ãã¾ã›ã‚“。 -ã‚‚ã£ã¨å°ã•ãªåœŸåœ°ã‚’é¸æŠžã—ã¦ãã ã•ã„。 - </notification> - <notification name="SearchWordBanned"> - コミュニティスタンダードã«æ˜Žè¨˜ã•ã‚Œã¦ã„るコンテンツ制é™ã«ã‚ˆã‚Šã€ã‚ãªãŸã®æ¤œç´¢èªžã®ä¸€éƒ¨ãŒé™¤å¤–ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="NoContentToSearch"> - å°‘ãªãã¨ã‚‚ã©ã‚Œã‹ä¸€ã¤ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ç¨®é¡žã‚’é¸æŠžã—ã¦æ¤œç´¢ã‚’è¡Œã£ã¦ãã ã•ã„。(Generalã€Moderateã€Adult) - </notification> - <notification name="SystemMessage"> - [MESSAGE] - </notification> - <notification name="PaymentReceived"> - [MESSAGE] - </notification> - <notification name="PaymentSent"> - [MESSAGE] - </notification> - <notification name="EventNotification"> - イベント通知: - -[NAME] -[DATE] - <form name="form"> - <button name="Details" text="詳細"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="TransferObjectsHighlighted"> - ã“ã®åŒºç”»ã®è³¼å…¥è€…ã«å—ã‘渡ã•ã‚Œã‚‹ã‚ªãƒ–ジェクトã¯ã€ã™ã¹ã¦åŒºç”»ä¸Šã§å¼·èª¿è¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚ - - -*å—ã‘渡ã•ã‚Œã‚‹æ¨¹æœ¨ã‚„æ¤ç‰©ã¯ã€å¼·èª¿è¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã›ã‚“。 - <form name="form"> - <button name="Done" text="完了"/> - </form> - </notification> - <notification name="DeactivatedGesturesTrigger"> - åŒã˜ãƒˆãƒªã‚¬ãƒ¼ã§ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ã—ãªã„ジェスãƒãƒ£ãƒ¼ï¼š -[NAMES] - </notification> - <notification name="NoQuickTime"> - Apple ã® QuickTime ソフトウェアãŒãŠä½¿ã„ã®ã‚·ã‚¹ãƒ†ãƒ ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ãªã„よã†ã§ã™ã€‚ -ストリーミングメディアをサãƒãƒ¼ãƒˆã™ã‚‹åŒºç”»ã§è¦‹ãŸã„å ´åˆã¯ã€[http://www.apple.com/jp/quicktime QuickTime サイト] ã‹ã‚‰ QuickTime プレイヤーをインストールã—ã¦ãã ã•ã„。 - </notification> - <notification name="NoPlugin"> - 「 [MIME_TYPE] ã€ã® MIME タイプを扱ã†ãƒ¡ãƒ‡ã‚£ã‚¢ãƒ—ラグインãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ ã“ã®ã‚¿ã‚¤ãƒ—ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã¯ã”利用ã„ãŸã ã‘ã¾ã›ã‚“。 - </notification> - <notification name="MediaPluginFailed"> - 次ã®ãƒ¡ãƒ‡ã‚£ã‚¢ãƒ—ラグインãŒå®Ÿè¡Œã§ãã¾ã›ã‚“ã§ã—ãŸï¼š - [PLUGIN] - -プラグインをインストールã—ãªãŠã™ã‹ã€å•é¡ŒãŒè§£æ±ºã—ãªã„å ´åˆã¯ãƒ¡ãƒ¼ã‚«ãƒ¼ã«ãŠå•ã„åˆã‚ã›ãã ã•ã„。 - <form name="form"> - <ignore name="ignore" text="メディアプラグインã®å®Ÿè¡Œã«å¤±æ•—ã—ãŸã¨ã"/> - </form> - </notification> - <notification name="OwnedObjectsReturned"> - é¸æŠžã—ãŸåœŸåœ°ã®åŒºç”»ä¸Šã«ã‚ã£ãŸã‚ãªãŸã®ã‚ªãƒ–ジェクトã¯ã€ã™ã¹ã¦ã‚ãªãŸã®ã€ŒæŒã¡ç‰©ã€ã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="OtherObjectsReturned"> - [NAME] ãŒæ‰€æœ‰ã™ã‚‹ã€é¸æŠžã—ãŸåŒºç”»ã«ã‚るオブジェクトã¯ã€æ‰€æœ‰è€…ã®æŒã¡ç‰©ã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="OtherObjectsReturned2"> - 「 [NAME] ã€ã¨ã„ã†åå‰ã®ä½äººãŒæ‰€æœ‰ã™ã‚‹ã€é¸æŠžã—ãŸåŒºç”»ä¸Šã®ã‚ªãƒ–ジェクトã¯ã€æœ¬äººã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="GroupObjectsReturned"> - é¸æŠžã—ãŸåŒºç”»ä¸Šã®ã€[GROUPNAME] ã¨ã„ã†ã‚°ãƒ«ãƒ¼ãƒ—ã¨å…±æœ‰ã—ã¦ã„ãŸã‚ªãƒ–ジェクトã¯ã€ãã‚Œãžã‚Œã®æ‰€æœ‰è€…ã®ã€ŒæŒã¡ç‰©ã€ã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ -è²æ¸¡ã•ã‚Œã¦ã„ãŸã€Œå†è²©ãƒ»ãƒ—レゼントå¯ã€ã®ã‚ªãƒ–ジェクトã¯ã€ä»¥å‰ã®æ‰€æœ‰è€…ã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ -グループã«è²æ¸¡ã•ã‚Œã¦ã„ãŸã€Œå†è²©ãƒ»ãƒ—レゼントä¸å¯ã€ã®ã‚ªãƒ–ジェクトã¯ã€å‰Šé™¤ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="UnOwnedObjectsReturned"> - é¸æŠžã—ãŸåœŸåœ°ã®åŒºç”»ä¸Šã®ã€ã‚ãªãŸã®æ‰€æœ‰ç‰©ã§ã¯ã€Œãªã‹ã£ãŸã€ã‚ªãƒ–ジェクトã¯ã€æœ¬æ¥ã®æ‰€æœ‰è€…ã«è¿”å´ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="ServerObjectMessage"> - [NAME] ã‹ã‚‰ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ï¼š -<nolink>[MSG]</nolink> - </notification> - <notification name="NotSafe"> - ã“ã®åœŸåœ°ã§ã¯ãƒ€ãƒ¡ãƒ¼ã‚¸ãŒæœ‰åŠ¹ã§ã™ã€‚ -ケガをã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 æ»ã‚“ã§ã—ã¾ã£ãŸå ´åˆã¯ã€Œãƒ›ãƒ¼ãƒ ã€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="NoFly"> - ã“ã®ã‚¨ãƒªã‚¢ã§ã¯é£›è¡ŒãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ -ã“ã“ã§ã¯é£›ã¹ã¾ã›ã‚“。 - </notification> - <notification name="PushRestricted"> - ã“ã®ã‚¨ãƒªã‚¢ã§ã¯ãƒ—ッシュãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ 土地所有者以外ã¯ä»–人をプッシュã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="NoVoice"> - ã“ã®ã‚¨ãƒªã‚¢ã§ã¯ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆãŒç„¡åŠ¹ã§ã™ã€‚ 誰ã‹ãŒè©±ã—ã¦ã„ã‚‹ã®ã‚’èžãã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="NoBuild"> - ã“ã®ã‚¨ãƒªã‚¢ã§ã¯åˆ¶ä½œãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ オブジェクトを制作ã—ãŸã‚Š Rez ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="ScriptsStopped"> - 管ç†è€…ãŒã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚¹ã‚¯ãƒªãƒ—トを一時åœæ¢ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="ScriptsNotRunning"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã‚¹ã‚¯ãƒªãƒ—トã®ä½¿ç”¨ãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="NoOutsideScripts"> - ã“ã®åœŸåœ°ã§ã¯ã€å¤–部ã®ã‚¹ã‚¯ãƒªãƒ—トãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ - -土地所有者ã®ã‚‚ã®ä»¥å¤–ã¯ã‚¹ã‚¯ãƒªãƒ—トãŒå®Ÿè¡Œã•ã‚Œã¾ã›ã‚“。 - </notification> - <notification name="ClaimPublicLand"> - ãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«ã„ãªã„ã¨å…¬å…±ã®åœŸåœ°ã‚’å–å¾—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 - </notification> - <notification name="RegionTPAccessBlocked"> - ã‚ãªãŸã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã«ã‚ˆã‚Šãã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã¸ã¯å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 年齢確èªã‚’è¡Œã†ã‹ã€æœ€æ–°ãƒ“ューワをインストールã—ã¦ãã ã•ã„。 - -ç¾åœ¨ã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†ã§ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªã‚¨ãƒªã‚¢ã«é–¢ã™ã‚‹è©³ç´°ã¯ãƒŠãƒ¬ãƒƒã‚¸ãƒ™ãƒ¼ã‚¹ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 - </notification> - <notification name="URBannedFromRegion"> - ã‚ãªãŸã¯ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã¸ã®ç«‹å…¥ãŒç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification name="NoTeenGridAccess"> - ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã§ã¯ãƒ†ã‚£ãƒ¼ãƒ³ã‚°ãƒªãƒƒãƒ‰ã«æŽ¥ç¶šã§ãã¾ã›ã‚“。 - </notification> - <notification name="ImproperPaymentStatus"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«å…¥ã‚‹ãŸã‚ã«é©ã—ãŸæ”¯æ‰•ã„ステータスãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="MustGetAgeRgion"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«å…¥ã‚‹ãŸã‚ã«ã¯ã€å¹´é½¢ç¢ºèªã‚’済ã¾ã›ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="MustGetAgeParcel"> - ã“ã®åŒºç”»ã«å…¥ã‚‹ãŸã‚ã«ã¯ã€å¹´é½¢ç¢ºèªã‚’済ã¾ã›ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification name="NoDestRegion"> - 目的地ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="NotAllowedInDest"> - 目的地ã«å…¥ã‚‹è¨±å¯ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="RegionParcelBan"> - ç«‹å…¥ç¦æ¢ã•ã‚ŒãŸåŒºç”»ã‚’横æ–ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 別ã®æ–¹æ³•ã‚’ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="TelehubRedirect"> - テレãƒãƒ–ã«è»¢é€ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="CouldntTPCloser"> - ã“れ以上目的地ã«è¿‘ã„å ´æ‰€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="TPCancelled"> - テレãƒãƒ¼ãƒˆãŒã‚ャンセルã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="FullRegionTryAgain"> - å…¥ã‚ã†ã¨ã—ã¦ã„るリージョンã¯ç¾åœ¨æº€å“¡ã§ã™ã€‚ -ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰å†åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="GeneralFailure"> - よãã‚る失敗 - </notification> - <notification name="RoutedWrongRegion"> - ç•°ãªã‚‹ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã«è¿‚回ã•ã‚Œã¾ã—ãŸã€‚ ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="NoValidAgentID"> - エージェント ID ãŒç„¡åŠ¹ã§ã™ã€‚ - </notification> - <notification name="NoValidSession"> - セッション ID ãŒç„¡åŠ¹ã§ã™ã€‚ - </notification> - <notification name="NoValidCircuit"> - 回路コードãŒç„¡åŠ¹ã§ã™ã€‚ - </notification> - <notification name="NoValidTimestamp"> - タイムスタンプãŒç„¡åŠ¹ã§ã™ã€‚ - </notification> - <notification name="NoPendingConnection"> - 接続を生æˆã§ãã¾ã›ã‚“。 - </notification> - <notification name="InternalUsherError"> - 内部エラーãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ - </notification> - <notification name="NoGoodTPDestination"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€é©åˆ‡ãªãƒ†ãƒ¬ãƒãƒ¼ãƒˆç›®çš„地ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="InternalErrorRegionResolver"> - 内部エラーãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ - </notification> - <notification name="NoValidLanding"> - 有効ãªç€åœ°ç‚¹ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="NoValidParcel"> - 有効ãªåŒºç”»ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="ObjectGiveItem"> - [NAME_SLURL] ãŒæ‰€æœ‰ã™ã‚‹ <nolink>[OBJECTFROMNAME]</nolink> ã¨ã„ã†åå‰ã®ã‚ªãƒ–ジェクトãŒã€ã‚ãªãŸã« <nolink>[ITEM_SLURL]</nolink> を渡ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã“ã®ã‚¢ã‚¤ãƒ†ãƒ を使ã†ã«ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã¸ã®åˆ‡ã‚Šæ›¿ãˆãŒå¿…è¦ã§ã™ã€‚アドãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ãƒã‚°ã‚¤ãƒ³ã—ãªãŠã™ã¨ã€ã‚ãªãŸã®æŒã¡ç‰©ã«ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒè¦‹ã¤ã‹ã‚Šã¾ã™ã€‚アドãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã«ã¯ã€ã“ã®ã‚¢ãƒ—リケーションを終了ã—ã¦å†èµ·å‹•ã—ã€ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§ãƒ¢ãƒ¼ãƒ‰è¨å®šã‚’変更ã—ã¦ãã ã•ã„。 - <form name="form"> - <button name="Keep" text="アイテムをå—ã‘å–ã‚‹"/> - <button name="Discard" text="アイテムを拒å¦ã™ã‚‹"/> - <button name="Mute" text="オブジェクトをブãƒãƒƒã‚¯ã™ã‚‹"/> - </form> - </notification> - <notification name="UserGiveItem"> - [NAME_SLURL] 㯠[ITEM_SLURL] を渡ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã“ã®ã‚¢ã‚¤ãƒ†ãƒ を使ã†ã«ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã¸ã®åˆ‡ã‚Šæ›¿ãˆãŒå¿…è¦ã§ã™ã€‚アドãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ãƒã‚°ã‚¤ãƒ³ã—ãªãŠã™ã¨ã€ã‚ãªãŸã®æŒã¡ç‰©ã«ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒè¦‹ã¤ã‹ã‚Šã¾ã™ã€‚アドãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã«ã¯ã€ã“ã®ã‚¢ãƒ—リケーションを終了ã—ã¦å†èµ·å‹•ã—ã€ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§ãƒ¢ãƒ¼ãƒ‰è¨å®šã‚’変更ã—ã¦ãã ã•ã„。 - <form name="form"> - <button name="Show" text="アイテムをå—ã‘å–ã‚‹"/> - <button name="Discard" text="アイテムを拒å¦ã™ã‚‹"/> - <button name="Mute" text="ユーザーをブãƒãƒƒã‚¯ã™ã‚‹"/> - </form> - </notification> - <notification name="GodMessage"> - [NAME] - -[MESSAGE] - </notification> - <notification name="JoinGroup"> - [MESSAGE] - <form name="form"> - <button name="Join" text="å‚åŠ "/> - <button name="Decline" text="辞退"/> - <button name="Info" text="æƒ…å ±"/> - </form> - </notification> - <notification name="TeleportOffered"> - [NAME_SLURL] ã¯ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã§ã‚ãªãŸã‚’呼んã§ã„ã¾ã™ã€‚ - -[MESSAGE] - [MATURITY_STR] <icon>[MATURITY_ICON]</icon> - <form name="form"> - <button name="Teleport" text="テレãƒãƒ¼ãƒˆ"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="TeleportOfferSent"> - [TO_NAME] ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã‚’é€ã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="GotoURL"> - [MESSAGE] -[URL] - <form name="form"> - <button name="Later" text="ã‚ã¨ã§"/> - <button name="GoNow..." text="今ã™ãè¡Œã"/> - </form> - </notification> - <notification name="OfferFriendship"> - [NAME_SLURL] ã¯ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã‚’申ã—込んã§ã„ã¾ã™ã€‚ - -[MESSAGE] - -(デフォルトè¨å®šã ã¨ãŠäº’ã„ã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³çŠ¶æ…‹ã‚’見るã“ã¨ãŒã§ãã¾ã™ï¼‰ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="辞退"/> - </form> - </notification> - <notification name="FriendshipOffered"> - [TO_NAME] ã«ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã‚’申ã—出ã¾ã—ãŸã€‚ - </notification> - <notification name="OfferFriendshipNoMessage"> - [NAME_SLURL] ã¯ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã‚’申ã—込んã§ã„ã¾ã™ã€‚ - -(デフォルトè¨å®šã ã¨ãŠäº’ã„ã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³çŠ¶æ…‹ã‚’見るã“ã¨ãŒã§ãã¾ã™ï¼‰ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="æ‹’å¦"/> - </form> - </notification> - <notification name="FriendshipAccepted"> - [NAME]ã¯ã€ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã‚’å—ã‘入れã¾ã—ãŸã€‚ - </notification> - <notification name="FriendshipDeclined"> - [NAME]ã¯ã€ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã‚’æ–ã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="FriendshipAcceptedByMe"> - フレンドã®ç™»éŒ²ä¾é ¼ãŒæ‰¿èªã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="FriendshipDeclinedByMe"> - フレンドã®ç™»éŒ²ä¾é ¼ãŒæ‹’å¦ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="OfferCallingCard"> - [NAME] ãŒã‚³ãƒ¼ãƒªãƒ³ã‚°ã‚«ãƒ¼ãƒ‰ã‚’渡ãã†ã¨ã—ã¦ã„ã¾ã™ã€‚ -ã‚ãªãŸã®æŒã¡ç‰©ã«ãƒ–ックマークãŒè¿½åŠ ã•ã‚Œã€ã“ã®ä½äººã«ç´ æ—©ã IM ã‚’é€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="辞退"/> - </form> - </notification> - <notification name="RegionRestartMinutes"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã¯ [SECONDS] 分後ã«å†èµ·å‹•ã•ã‚Œã¾ã™ã€‚ -ã“ã®ã¾ã¾ã“ã“ã«ã„ã‚‹ã¨ãƒã‚°ã‚¢ã‚¦ãƒˆã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="RegionRestartSeconds"> - ã“ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã¯ [SECONDS] 秒後ã«å†èµ·å‹•ã•ã‚Œã¾ã™ã€‚. -ã“ã®ã¾ã¾ã“ã“ã«ã„ã‚‹ã¨ãƒã‚°ã‚¢ã‚¦ãƒˆã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="LoadWebPage"> - Web ページ [URL] ã‚’ãƒãƒ¼ãƒ‰ã—ã¾ã™ã‹ï¼Ÿ - -[MESSAGE] - -é€ä¿¡å…ƒã®ã‚ªãƒ–ジェクト:<nolink>[OBJECTNAME]</nolink>ã€æ‰€æœ‰è€…:[NAME]? - <form name="form"> - <button name="Gotopage" text="ページã«ç§»å‹•"/> - <button name="Cancel" text="å–り消ã—"/> - </form> - </notification> - <notification name="FailedToFindWearableUnnamed"> - データベース㫠[TYPE] ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—㟠- </notification> - <notification name="FailedToFindWearable"> - データベース㫠[DESC] ã¨ã„ã†åå‰ã® [TYPE] ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="InvalidWearable"> - ç€ç”¨ã—よã†ã¨ã—ã¦ã„るアイテムã¯ã‚ãªãŸã®ãƒ“ューワã§ã¯èªã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“。 [APP_NAME] ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’アップグレードã—ã¦ã‹ã‚‰ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’ç€ç”¨ã—ã¦ãã ã•ã„。 - </notification> - <notification name="ScriptQuestion"> - [NAME] ãŒæ‰€æœ‰ã™ã‚‹ã€Œ<nolink>[OBJECTNAME]</nolink>〠ã¨ã„ã†ã‚ªãƒ–ジェクトãŒã€æ¬¡ã®ã“ã¨ã‚’ã—よã†ã¨ã—ã¦ã„ã¾ã™ï¼š - -[QUESTIONS] -よã‚ã—ã„ã§ã™ã‹ï¼Ÿ - <form name="form"> - <button name="Yes" text="ã¯ã„"/> - <button name="No" text="ã„ã„ãˆ"/> - <button name="Mute" text="ブãƒãƒƒã‚¯"/> - </form> - </notification> - <notification name="ScriptQuestionCaution"> - [NAME] ãŒæ‰€æœ‰ã™ã‚‹ã€Œ<nolink>[OBJECTNAME]</nolink>〠ã¨ã„ã†ã‚ªãƒ–ジェクトãŒã€æ¬¡ã®ã“ã¨ã‚’ã—よã†ã¨ã—ã¦ã„ã¾ã™ï¼š - -[QUESTIONS] -ã“ã®ã‚ªãƒ–ジェクトや制作者を信用ã§ããªã„å ´åˆã¯ã€ã“ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’æ‹’å¦ã—ã¦ãã ã•ã„。 - -リクエストをå—ã‘ã¾ã™ã‹ï¼Ÿ - <form name="form"> - <button name="Grant" text="許å¯"/> - <button name="Deny" text="æ‹’å¦"/> - <button name="Details" text="詳細..."/> - </form> - </notification> - <notification name="ScriptDialog"> - [NAME] ã®ã€Œ<nolink>[TITLE]</nolink>〠-[MESSAGE] - <form name="form"> - <button name="Ignore" text="無視ã™ã‚‹"/> - </form> - </notification> - <notification name="ScriptDialogGroup"> - [GROUPNAME] ã®ã€Œ<nolink>[TITLE]</nolink>〠-[MESSAGE] - <form name="form"> - <button name="Ignore" text="無視ã™ã‚‹"/> - </form> - </notification> - <notification name="BuyLindenDollarSuccess"> - ãŠæ”¯æ‰•ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ - -ã‚ãªãŸã® L$ 残高ã¯ã€å‡¦ç†ãŒå®Œäº†ã™ã‚‹ã¨ã‚¢ãƒƒãƒ—デートã•ã‚Œã¾ã™ã€‚ 処ç†ã« 20 分以上ã‹ã‹ã£ãŸå ´åˆã€ãŠå–り引ããŒã‚ャンセルã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ ãã®å ´åˆã¯ã€è³¼å…¥é‡‘é¡ã¯ã‚ãªãŸã® US$ 残高ã«è¿½åŠ ã•ã‚Œã¾ã™ã€‚ - -[http://secondlife.com/account/ マイアカウント] ã®å–引履æ´ãƒšãƒ¼ã‚¸ã§ã€æ”¯æ‰•çŠ¶æ³ã‚’確èªã§ãã¾ã™ã€‚ - </notification> - <notification name="FirstOverrideKeys"> - ã‚ãªãŸã®ç§»å‹•ã‚ーをオブジェクトãŒæ“作ã—ã¦ã„ã¾ã™ã€‚ -矢å°ã‹ AWSD ã®ã‚ーã§å‹•ä½œã‚’確èªã—ã¦ãã ã•ã„。 -銃ãªã©ã®ã‚ªãƒ–ジェクトã ã¨ã€ä¸€äººç§°è¦–点ã«å¤‰æ›´ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ -M ã‚ーを押ã—ã¦å¤‰æ›´ã—ã¾ã™ã€‚ - </notification> - <notification name="FirstSandbox"> - ã“ã“ã¯ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ã‚¨ãƒªã‚¢ã§ã™ã€‚ä½äººãŒåˆ¶ä½œã‚’å¦ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚ - -ã“ã“ã§åˆ¶ä½œã•ã‚ŒãŸã‚‚ã®ã¯æ™‚é–“ãŒçµŒã¤ã¨å‰Šé™¤ã•ã‚Œã¾ã™ã€‚制作ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œå–ã‚‹ã€ã‚’é¸ã³ã€æŒã¡ç‰©ã«å…¥ã‚Œã¦ãŠæŒã¡å¸°ã‚Šã™ã‚‹ã®ã‚’ãŠå¿˜ã‚Œãªã。 - </notification> - <notification name="MaxListSelectMessage"> - ã“ã®ãƒªã‚¹ãƒˆã‹ã‚‰ [MAX_SELECT] 個ã¾ã§ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã§ãã¾ã™ã€‚ - </notification> - <notification name="VoiceInviteP2P"> - [NAME] ãŒã‚ãªãŸã‚’ボイスãƒãƒ£ãƒƒãƒˆã‚³ãƒ¼ãƒ«ã«æ‹›å¾…ã—ã¦ã„ã¾ã™ã€‚ -å—ã‘入れるをクリックã™ã‚‹ã‹ã€æ–ã‚‹å ´åˆã¯æ‹’å¦ã‚’クリックã—ã¦ãã ã•ã„。 ブãƒãƒƒã‚¯ã‚’クリックã™ã‚‹ã¨ã€ã“ã®ç™ºä¿¡è€…をブãƒãƒƒã‚¯ã—ã¾ã™ã€‚ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="æ‹’å¦"/> - <button name="Mute" text="ブãƒãƒƒã‚¯"/> - </form> - </notification> - <notification name="AutoUnmuteByIM"> - [NAME] ã¯ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ã‘å–ã‚Šã€è‡ªå‹•çš„ã«ãƒ–ãƒãƒƒã‚¯ãŒè§£é™¤ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="AutoUnmuteByMoney"> - [NAME] ã¯ãŠé‡‘ã‚’å—ã‘å–ã‚Šã€è‡ªå‹•çš„ã«ãƒ–ãƒãƒƒã‚¯ãŒè§£é™¤ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="AutoUnmuteByInventory"> - [NAME] ã¯æŒã¡ç‰©ã‚’å—ã‘å–ã‚Šã€è‡ªå‹•çš„ã«ãƒ–ãƒãƒƒã‚¯ãŒè§£é™¤ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="VoiceInviteGroup"> - [NAME] 㯠[GROUP] ã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã‚³ãƒ¼ãƒ«ã«å‚åŠ ã—ã¾ã—ãŸã€‚ -å—ã‘入れるをクリックã™ã‚‹ã‹ã€æ–ã‚‹å ´åˆã¯æ‹’å¦ã‚’クリックã—ã¦ãã ã•ã„。 ブãƒãƒƒã‚¯ã‚’クリックã™ã‚‹ã¨ã€ã“ã®ç™ºä¿¡è€…をブãƒãƒƒã‚¯ã—ã¾ã™ã€‚ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="æ‹’å¦"/> - <button name="Mute" text="ブãƒãƒƒã‚¯"/> - </form> - </notification> - <notification name="VoiceInviteAdHoc"> - [NAME] 㯠コンファレンスãƒãƒ£ãƒƒãƒˆã®ã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã‚³ãƒ¼ãƒ«ã«å‚åŠ ã—ã¾ã—ãŸã€‚ -å—ã‘入れるをクリックã™ã‚‹ã‹ã€æ–ã‚‹å ´åˆã¯æ‹’å¦ã‚’クリックã—ã¦ãã ã•ã„。 ブãƒãƒƒã‚¯ã‚’クリックã™ã‚‹ã¨ã€ã“ã®ç™ºä¿¡è€…をブãƒãƒƒã‚¯ã—ã¾ã™ã€‚ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="æ‹’å¦"/> - <button name="Mute" text="ブãƒãƒƒã‚¯"/> - </form> - </notification> - <notification name="InviteAdHoc"> - [NAME] ãŒã‚ãªãŸã‚’コンファレンスãƒãƒ£ãƒƒãƒˆã«æ‹›å¾…ã—ã¦ã„ã¾ã™ã€‚ -å—ã‘入れるをクリックã™ã‚‹ã‹ã€æ–ã‚‹å ´åˆã¯æ‹’å¦ã‚’クリックã—ã¦ãã ã•ã„。 ブãƒãƒƒã‚¯ã‚’クリックã™ã‚‹ã¨ã€ã“ã®ç™ºä¿¡è€…をブãƒãƒƒã‚¯ã—ã¾ã™ã€‚ - <form name="form"> - <button name="Accept" text="å—ã‘入れる"/> - <button name="Decline" text="æ‹’å¦"/> - <button name="Mute" text="ブãƒãƒƒã‚¯"/> - </form> - </notification> - <notification name="VoiceChannelFull"> - ã‚ãªãŸãŒå‚åŠ ã—よã†ã¨ã—ã¦ã„るボイスコール [VOICE_CHANNEL_NAME] ã¯ã€å‚åŠ è€…ãŒæœ€å¤§é™ã«é”ã—ã¾ã—ãŸã€‚後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="ProximalVoiceChannelFull"> - ã“ã®ã‚¨ãƒªã‚¢ã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã¯ã€æ··é›‘ã®ãŸã‚容é‡ã‚’超ãˆã¦ã—ã¾ã£ã¦ã„ã¾ã™ã€‚申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ä»–ã®ã‚¨ãƒªã‚¢ã§ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã‚’ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="VoiceChannelDisconnected"> - [VOICE_CHANNEL_NAME] ã¸ã®æŽ¥ç¶šãŒåˆ‡ã‚Œã¾ã—ãŸã€‚ 「近ãã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã€ã«å†æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="VoiceChannelDisconnectedP2P"> - [VOICE_CHANNEL_NAME] ãŒã‚³ãƒ¼ãƒ«ã‚’終了ã—ã¾ã—ãŸã€‚ 「近ãã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã€ã«å†æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="P2PCallDeclined"> - [VOICE_CHANNEL_NAME] ãŒã‚ãªãŸã®ã‚³ãƒ¼ãƒ«ã‚’æ‹’å¦ã—ã¾ã—ãŸã€‚ 「近ãã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã€ã«å†æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="P2PCallNoAnswer"> - [VOICE_CHANNEL_NAME] ã¯ã‚ãªãŸã®ã‚³ãƒ¼ãƒ«ã‚’å—ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 「近ãã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã€ã«å†æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="VoiceChannelJoinFailed"> - [VOICE_CHANNEL_NAME] ã¸ã®æŽ¥ç¶šã«å¤±æ•—ã—ã¾ã—ãŸã€‚ã‚ã¨ã§å†åº¦ãŠè©¦ã—ãã ã•ã„。 「近ãã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã€ã«å†æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="VoiceLoginRetry"> - ボイスãƒãƒ£ãƒ³ãƒãƒ«ã‚’作æˆã—ã¦ã„ã¾ã™ã€‚1 分ã»ã©ã‹ã‹ã‚Šã¾ã™ã€‚ - </notification> - <notification name="VoiceEffectsExpired"> - ボイスモーフィング効果ã®1ã¤ã¾ãŸã¯è¤‡æ•°ã®æœ‰åŠ¹æœŸé™ãŒçµ‚了ã—ã¾ã—ãŸã€‚期é™ã‚’延長・更新ã™ã‚‹ã«ã¯[[URL]ã“ã¡ã‚‰ã‚’クリック]ã—ã¦ãã ã•ã„。 - </notification> - <notification name="VoiceEffectsExpiredInUse"> - ボイスモーフィング効果ã®æœ‰åŠ¹æœŸé™ãŒçµ‚了ã—ãŸãŸã‚ã€ã‚ãªãŸã®é€šå¸¸ã®ãƒœã‚¤ã‚¹è¨å®šãŒé©ç”¨ã•ã‚Œã¾ã—ãŸã€‚期é™ã‚’延長・更新ã™ã‚‹ã«ã¯[[URL]ã“ã¡ã‚‰ã‚’クリック]ã—ã¦ãã ã•ã„。 - </notification> - <notification name="VoiceEffectsWillExpire"> - ボイスモーフィング効果ã®1ã¤ã¾ãŸã¯è¤‡æ•°ã®æœ‰åŠ¹æœŸé™ãŒ[INTERVAL]日以内ã«çµ‚了ã—ã¾ã™ã€‚期é™ã‚’延長・更新ã™ã‚‹ã«ã¯[[URL]ã“ã¡ã‚‰ã‚’クリック]ã—ã¦ãã ã•ã„。 - </notification> - <notification name="VoiceEffectsNew"> - æ–°ã—ã„ボイスモーフィング効果ãŒç™»å ´ï¼ - </notification> - <notification name="Cannot enter parcel: not a group member"> - 特定ã®ã‚°ãƒ«ãƒ¼ãƒ—メンãƒãƒ¼ã®ã¿ã“ã®ã‚¨ãƒªã‚¢ã‚’訪å•ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ - </notification> - <notification name="Cannot enter parcel: banned"> - ç«‹å…¥ç¦æ¢ã•ã‚Œã¦ã„ã‚‹ãŸã‚ã€åŒºç”»ã«å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - </notification> - <notification name="Cannot enter parcel: not on access list"> - アクセスリストã«å«ã¾ã‚Œã¦ã„ãªã„ãŸã‚ã€åŒºç”»ã«å…¥ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 - </notification> - <notification name="VoiceNotAllowed"> - ã‚ãªãŸã«ã¯ [VOICE_CHANNEL_NAME] ã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã«æŽ¥ç¶šã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。 - </notification> - <notification name="VoiceCallGenericError"> - [VOICE_CHANNEL_NAME] ã®ãƒœã‚¤ã‚¹ãƒãƒ£ãƒƒãƒˆã«æŽ¥ç¶šä¸ã«ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。 - </notification> - <notification name="UnsupportedCommandSLURL"> - クリックã—㟠SLurl ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。 - </notification> - <notification name="BlockedSLURL"> - 信用ã§ããªã„ブラウザã‹ã‚‰ SLurl ãŒé€ã‚‰ã‚Œã¦ããŸã®ã§ã€ã‚»ã‚ュリティã®ãŸã‚ブãƒãƒƒã‚¯ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="ThrottledSLURL"> - çŸæœŸé–“ã®ã‚ã„ã ã«ã€ä¿¡ç”¨ã§ããªã„ブラウザã‹ã‚‰è¤‡æ•°ã® SLurls ãŒé€ã‚‰ã‚Œã¦ãã¾ã—ãŸã€‚ -安全ã®ãŸã‚ã«æ•°ç§’間ブãƒãƒƒã‚¯ã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="IMToast"> - [MESSAGE] - <form name="form"> - <button name="respondbutton" text="è¿”ç”"/> - </form> - </notification> - <notification name="ConfirmCloseAll"> - ã™ã¹ã¦ã® IM ã‚’é–‰ã˜ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="ã™ã¹ã¦ã® IM ã‚’é–‰ã˜ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="AttachmentSaved"> - アタッãƒãƒ¡ãƒ³ãƒˆãŒä¿å˜ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="UnableToFindHelpTopic"> - ヘルプトピックãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ - </notification> - <notification name="ObjectMediaFailure"> - サーãƒãƒ¼ã‚¨ãƒ©ãƒ¼ï¼š メディアã®ã‚¢ãƒƒãƒ—デートã¾ãŸã¯å¤±æ•—。 -「[ERROR]〠- <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TextChatIsMutedByModerator"> - モデレーターãŒã‚ãªãŸã®æ–‡å—ãƒãƒ£ãƒƒãƒˆã‚’ミュートã—ã¾ã—ãŸã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="VoiceIsMutedByModerator"> - モデレーターãŒã‚ãªãŸã®ãƒœã‚¤ã‚¹ã‚’ミュートã—ã¾ã—ãŸã€‚ - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ConfirmClearTeleportHistory"> - テレãƒãƒ¼ãƒˆå±¥æ´ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="ã‚ャンセル" yestext="OK"/> - </notification> - <notification name="BottomTrayButtonCanNotBeShown"> - é¸æŠžã—ãŸãƒœã‚¿ãƒ³ã‚’ç¾åœ¨è¡¨ç¤ºã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。 -ã˜ã‚…ã†ã¶ã‚“ãªã‚¹ãƒšãƒ¼ã‚¹ãŒã§ãã‚Œã°ãƒœã‚¿ãƒ³ã¯è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ - </notification> - <notification name="ShareNotification"> - 共有ã™ã‚‹ä½äººã‚’é¸æŠžã—ã¾ã™ã€‚ - </notification> - <notification name="ShareItemsConfirmation"> - 次ã®ã‚¢ã‚¤ãƒ†ãƒ を共有ã—ã¾ã™ã‹ï¼Ÿ - -<nolink>[ITEMS]</nolink> - -次ã®ä½äººã¨å…±æœ‰ã—ã¾ã™ã‹ï¼Ÿ - -[RESIDENTS] - <usetemplate name="okcancelbuttons" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification name="ItemsShared"> - アイテムãŒå…±æœ‰ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="DeedToGroupFail"> - グループã¸ã®è²æ¸¡ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezNotification"> - (作æˆå¾Œ[EXISTENCE]秒経éŽï¼‰ -'[NAME]'ã¨ã„ã†ã‚¢ãƒã‚¿ãƒ¼ã¯[TIME]秒後ã«å§¿ã‚’ç¾ã‚ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezSelfBakedDoneNotification"> - (作æˆå¾Œ[EXISTENCE]秒経éŽï¼‰ -アウトフィットã®ãƒ™ãƒ¼ã‚¯ã¯[TIME]秒後ã«å®Œäº†ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezSelfBakedUpdateNotification"> - (作æˆå¾Œ[EXISTENCE]秒経éŽï¼‰ -容姿ã®æ›´æ–°ã¯[TIME]秒後ã«é€ä¿¡ã•ã‚Œã¾ã—ãŸã€‚ -[STATUS] - </notification> - <notification name="AvatarRezCloudNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ NAME ã€ãŒã‚¯ãƒ©ã‚¦ãƒ‰ã«ãªã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezArrivedNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ NAME ã€ãŒç¾ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezLeftCloudNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ [NAME] ã€ãŒ [TIME] 秒ã§ã‚¯ãƒ©ã‚¦ãƒ‰çŠ¶æ…‹ã‹ã‚‰å‡ºç¾ã—ã¾ã™ã€‚ - </notification> - <notification name="AvatarRezEnteredAppearanceNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ NAME ã€ãŒå®¹å§¿ç·¨é›†ãƒ¢ãƒ¼ãƒ‰ã«å…¥ã‚Šã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezLeftAppearanceNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ NAME ã€ãŒå®¹å§¿ç·¨é›†ãƒ¢ãƒ¼ãƒ‰ã‚’解除ã—ã¾ã—ãŸã€‚ - </notification> - <notification name="NoConnect"> - [PROTOCOL] [HOSTID]を使ã£ã¦æŽ¥ç¶šã§ãã¾ã›ã‚“。 -ãŠä½¿ã„ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚„ファイアウォールã®è¨å®šã‚’確èªã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NoVoiceConnect"> - ボイスサーãƒãƒ¼ã«æŽ¥ç¶šã§ãã¾ã›ã‚“: - -[HOSTID] - -ボイスãƒãƒ£ãƒƒãƒˆã«ã‚ˆã‚‹ã‚³ãƒŸãƒ¥ãƒ‹ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãŒåˆ©ç”¨ã§ãã¾ã›ã‚“。 -ãŠä½¿ã„ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚„ファイアウォールã®è¨å®šã‚’確èªã—ã¦ãã ã•ã„。 - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarRezLeftNotification"> - ( [EXISTENCE] 秒) -ã‚¢ãƒã‚¿ãƒ¼ã€Œ NAME ã€ãŒå®Œå…¨ã«èªã¿è¾¼ã¾ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezSelfBakedTextureUploadNotification"> - ( 作æˆå¾Œ[EXISTENCE]秒経éŽï¼‰ -'[BODYREGION]'ã®[RESOLUTION]ã®ãƒ™ãƒ¼ã‚¯ãƒ‰ãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯[TIME]秒後ã«ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="AvatarRezSelfBakedTextureUpdateNotification"> - ( 作æˆå¾Œ[EXISTENCE]秒経éŽï¼‰ -'[BODYREGION]'ã®[RESOLUTION]ã®ãƒ™ãƒ¼ã‚¯ãƒ‰ãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯[TIME]秒後ã«ãƒãƒ¼ã‚«ãƒ«ã«æ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚ - </notification> - <notification name="ConfirmLeaveCall"> - ã“ã®ã‚³ãƒ¼ãƒ«ã‹ã‚‰æŠœã‘ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="コールã‹ã‚‰æŠœã‘ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="ã„ã„ãˆ" yestext="ã¯ã„"/> - </notification> - <notification name="ConfirmMuteAll"> - グループコールã®å‚åŠ è€…å…¨å“¡ã‚’ãƒŸãƒ¥ãƒ¼ãƒˆã—ã¾ã—ãŸã€‚ -ã‚ã¨ã‹ã‚‰ã“ã®ã‚³ãƒ¼ãƒ«ã«å‚åŠ ã™ã‚‹ä½äººã‚‚ -ミュートã•ã‚Œã¾ã™ã€‚ã‚ãªãŸãŒã‚³ãƒ¼ãƒ«ã‚’終了ã—ã¦ã‚‚ä»–ã®å‚åŠ è€…ã®ãƒŸãƒ¥ãƒ¼ãƒˆçŠ¶æ…‹ãŒç¶šãã¾ã™ã€‚ - -全員をミュートã—ã¾ã™ã‹ï¼Ÿ - <usetemplate ignoretext="グループコールã®å‚åŠ è€…å…¨å“¡ã‚’ãƒŸãƒ¥ãƒ¼ãƒˆã™ã‚‹å‰ã®ç¢ºèª" name="okcancelignore" notext="å–り消ã—" yestext="OK"/> - </notification> - <notification label="ãƒãƒ£ãƒƒãƒˆ" name="HintChat"> - ãƒãƒ£ãƒƒãƒˆã«å‚åŠ ã™ã‚‹ã«ã¯ã€ç”»é¢ä¸‹ã®ãƒãƒ£ãƒƒãƒˆãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ãƒ†ã‚ストを入力ã—ã¾ã™ã€‚ - </notification> - <notification label="ç«‹ã¡ä¸ŠãŒã‚‹" name="HintSit"> - 座る姿勢ã‹ã‚‰ç«‹ã¡ä¸ŠãŒã‚‹ã«ã¯ã€ã€Œç«‹ã¡ä¸ŠãŒã‚‹ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¾ã™ã€‚ - </notification> - <notification label="話ã™" name="HintSpeak"> - 「スピーカーã€ãƒœã‚¿ãƒ³ã‚’クリックã™ã‚‹ã¨ã€ãƒžã‚¤ã‚¯ã®ã‚ªãƒ³ãƒ»ã‚ªãƒ•ãŒåˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã™ã€‚ - -上矢å°ã‚’クリックã™ã‚‹ã¨ã€ãƒœã‚¤ã‚¹ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ãƒ‘ãƒãƒ«ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ - -「スピーカーã€ãƒœã‚¿ãƒ³ã‚’éžè¡¨ç¤ºã«ã™ã‚‹ã¨ã€ãƒœã‚¤ã‚¹æ©Ÿèƒ½ã‚‚無効ã«ãªã‚Šã¾ã™ã€‚ - </notification> - <notification label="世界を探検" name="HintDestinationGuide"> - è¡Œã先ガイドã«ã¯æ•°å¤šãã®æŽ¢ç´¢å ´æ‰€ãŒå«ã¾ã‚Œã¾ã™ã€‚ã©ã“ã‹è¡Œã先を決ã‚ãŸã‚‰ã€ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã—ã¦æŽ¢ç´¢ã«å‡ºã‹ã‘ã¾ã—ょã†ã€‚ - </notification> - <notification label="サイドパãƒãƒ«" name="HintSidePanel"> - サイドパãƒãƒ«ã§ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã€æœã€ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«ãªã©ã«ã™ã°ã‚„ãアクセスã§ãã¾ã™ã€‚ - </notification> - <notification label="移動" name="HintMove"> - æ©è¡Œã‚„èµ°è¡Œã¯ã€ã€Œç§»å‹•ã€ãƒ‘ãƒãƒ«ã‚’é–‹ãã€çŸ¢å°ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ã«ã‚ˆã£ã¦æ“作ã—ã¾ã™ã€‚ã“ã®æ“作ã¯ã‚ーボードã®çŸ¢å°ã‚ーã§å®Ÿè¡Œã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ - </notification> - <notification label="" name="HintMoveClick"> - 1. クリックã—ã¦æ©è¡Œ -地é¢ã®ä¸€ç®‡æ‰€ã‚’クリックã™ã‚‹ã¨ã€ãã®å ´æ‰€ã¾ã§æ©ãã¾ã™ã€‚ - -2. クリック・ドラッグã§è¦–界を回転 -世界ã®ä¸€ç®‡æ‰€ã‚’クリックã—ã¦ãƒ‰ãƒ©ãƒƒã‚°ã™ã‚‹ã¨ã€è¦–ç•Œã®å‘ããŒå¤‰ã‚ã‚Šã¾ã™ã€‚ - </notification> - <notification label="表示å" name="HintDisplayName"> - 表示å(カスタマイズå¯èƒ½ï¼‰ã‚’è¨å®šã—ã¾ã™ã€‚ユーザーåã¯å›ºæœ‰ã§å¤‰æ›´ã§ãã¾ã›ã‚“ãŒã€ã“ã“ã§è¿½åŠ ã™ã‚‹è¡¨ç¤ºåã¯å¤‰æ›´å¯èƒ½ã§ã™ã€‚ä»–ã®ä½äººã®åå‰ã®è¡¨ç¤ºæ–¹æ³•ã¯ç’°å¢ƒè¨å®šã§å¤‰æ›´ã—ã¦ãã ã•ã„。 - </notification> - <notification label="表示" name="HintView"> - カメラã®è¦–点を変更ã™ã‚‹ã«ã¯ã€æ°´å¹³ãƒ»åž‚直コントãƒãƒ¼ãƒ«ã‚’使ã„ã¾ã™ã€‚Escape を押ã™ã‹ã€ã¾ãŸã¯æ©è¡Œã™ã‚‹ã¨ã€è¦–点ãŒãƒªã‚»ãƒƒãƒˆã•ã‚Œã¾ã™ã€‚ - </notification> - <notification label="インベントリ" name="HintInventory"> - æŒã¡ç‰©ã«ã¯ã‚ãªãŸã®ã‚¢ã‚¤ãƒ†ãƒ ãŒã™ã¹ã¦å«ã¾ã‚Œã¾ã™ã€‚æ–°ã—ãè¿½åŠ ã•ã‚ŒãŸã‚¢ã‚¤ãƒ†ãƒ ã¯ã€Œæœ€æ–°ã€ã‚¿ãƒ–ã«ä¸€è¦§è¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚ - </notification> - <notification label="ã‚ãªãŸã®ãƒªãƒ³ãƒ‡ãƒ³ãƒ‰ãƒ«" name="HintLindenDollar"> - ã“ã‚ŒãŒã‚ãªãŸã® L$ 残高ã§ã™ã€‚リンデンドルを購入ã™ã‚‹ã«ã¯ã€ŒL$ ã®è³¼å…¥ã€ã‚’クリックã—ã¾ã™ã€‚ - </notification> - <notification name="PopupAttempt"> - ãƒãƒƒãƒ—アップãŒãƒ–ãƒãƒƒã‚¯ã•ã‚Œã¾ã—ãŸã€‚ - <form name="form"> - <ignore name="ignore" text="å…¨ã¦ã®ãƒãƒƒãƒ—アップを有効ã«ã™ã‚‹"/> - <button name="open" text="ãƒãƒƒãƒ—アップウィンドウを開ã"/> - </form> - </notification> - <notification name="AuthRequest"> - 「[REALM]ã€ã«ã‚る「<nolink>[HOST_NAME]</nolink>ã€ã®ã‚µã‚¤ãƒˆã«ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼åã¨ãƒ‘スワードãŒå¿…è¦ã§ã™ã€‚ - <form name="form"> - <input name="username" text="ユーザーå"/> - <input name="password" text="パスワード"/> - <button name="ok" text="é€ä¿¡"/> - <button name="cancel" text="å–り消ã—"/> - </form> - </notification> - <notification label="" name="ModeChange"> - モードを変更ã™ã‚‹ã«ã¯çµ‚了ã—ã¦å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoClassifieds"> - クラシファイド広告ã®ä½œæˆã¨ç·¨é›†ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚終了ã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿãƒ¢ãƒ¼ãƒ‰ã¯ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§é¸æŠžã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoGroupInfo"> - グループã®ä½œæˆã¨ç·¨é›†ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚終了ã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿãƒ¢ãƒ¼ãƒ‰ã¯ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§é¸æŠžã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoPicks"> - ピックã®ä½œæˆã¨ç·¨é›†ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚終了ã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿãƒ¢ãƒ¼ãƒ‰ã¯ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§é¸æŠžã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoWorldMap"> - 世界地図ã®è¡¨ç¤ºã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚終了ã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿãƒ¢ãƒ¼ãƒ‰ã¯ãƒã‚°ã‚¤ãƒ³ç”»é¢ã§é¸æŠžã§ãã¾ã™ã€‚ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoVoiceCall"> - ボイスコールã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚ãƒã‚°ã‚¢ã‚¦ãƒˆã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoAvatarShare"> - 共有ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚ãƒã‚°ã‚¢ã‚¦ãƒˆã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <notification label="" name="NoAvatarPay"> - ä»–ã®ä½äººã¸ã®æ”¯æ‰•ã„ã¯ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿åˆ©ç”¨ã§ãã¾ã™ã€‚ãƒã‚°ã‚¢ã‚¦ãƒˆã—ã¦ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã‹ï¼Ÿ - <usetemplate name="okcancelbuttons" notext="終了ã—ãªã„" yestext="終了"/> - </notification> - <global name="UnsupportedCPU"> - - ã‚ãªãŸã® CPU ã®é€Ÿåº¦ã¯å¿…é ˆå‹•ä½œç’°å¢ƒã®æ¡ä»¶ã‚’満ãŸã—ã¦ã„ã¾ã›ã‚“。 - </global> - <global name="UnsupportedGLRequirements"> - [APP_NAME] ã«å¿…è¦ãªãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ãŒãªã„よã†ã§ã™ã€‚ [APP_NAME] ã«ã¯ãƒžãƒ«ãƒãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ OpenGL グラフィックカードãŒå¿…è¦ã§ã™ã€‚ ãŠä½¿ã„ã®ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã‚«ãƒ¼ãƒ‰ã®æœ€æ–°ãƒ‰ãƒ©ã‚¤ãƒãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã‹ã©ã†ã‹ã€ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã®ã‚µãƒ¼ãƒ“スパックã¨ãƒ‘ッãƒãŒå…¥ã£ã¦ã„ã‚‹ã‹ã‚’ã”確èªãã ã•ã„。 - -ã“ã®å•é¡ŒãŒä½•åº¦ã‚‚èµ·ãã‚‹å ´åˆã¯ã€[SUPPORT_SITE] ã‚’ã”確èªãã ã•ã„。 - </global> - <global name="UnsupportedCPUAmount"> - 796 - </global> - <global name="UnsupportedRAMAmount"> - 510 - </global> - <global name="UnsupportedGPU"> - - ã‚ãªãŸã®ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯ã‚«ãƒ¼ãƒ‰ã¯å¿…é ˆå‹•ä½œç’°å¢ƒã®æ¡ä»¶ã‚’満ãŸã—ã¦ã„ã¾ã›ã‚“。 - </global> - <global name="UnsupportedRAM"> - - ã‚ãªãŸã®ã‚·ã‚¹ãƒ†ãƒ メモリã¯å¿…é ˆå‹•ä½œç’°å¢ƒã®æ¡ä»¶ã‚’満ãŸã—ã¦ã„ã¾ã›ã‚“。 - </global> - <global name="You can only set your 'Home Location' on your land or at a mainland Infohub."> - 自分ã®åœŸåœ°ã‚’ãŠæŒã¡ã®å ´åˆã€ã€Œãƒ›ãƒ¼ãƒ ã€ã«è¨å®šã§ãã¾ã™ã€‚ -ãŠæŒã¡ã§ãªã„å ´åˆã¯ã€åœ°å›³ã§ã€Œã‚¤ãƒ³ãƒ•ã‚©ãƒãƒ–ã€ã‚’ãŠæŽ¢ã—ãã ã•ã„。 - </global> - <global name="You died and have been teleported to your home location"> - æ»ã‚“ã§ã—ã¾ã£ãŸã®ã§ã€ãƒ›ãƒ¼ãƒ ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã•ã‚Œã¾ã—ãŸã€‚ - </global> -</notifications> diff --git a/indra/newview/skins/minimal/xui/ja/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/ja/panel_adhoc_control_panel.xml deleted file mode 100644 index 17e1283d240..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="コール" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="コール終了" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="ボイスコントãƒãƒ¼ãƒ«" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/ja/panel_bottomtray.xml deleted file mode 100644 index 13be2cea0af..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="マイクã®ã‚ªãƒ³ãƒ»ã‚ªãƒ•"/> - <string name="VoiceControlBtnToolTip" value="ボイスコントãƒãƒ¼ãƒ«ãƒ‘ãƒãƒ«ã®è¡¨ç¤ºãƒ»éžè¡¨ç¤º"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="話ã™" name="speak_btn" tool_tip="マイクã®ã‚ªãƒ³ãƒ»ã‚ªãƒ•ã‚’切り替ãˆã‚‹"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="サウンド環境è¨å®šã‚’変更ã™ã‚‹"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="ジェスãƒãƒ£ãƒ¼" name="Gesture" tool_tip="ã‚¢ãƒã‚¿ãƒ¼ã®å‹•ä½œã‚’èµ·ã“ã™"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="視界" name="camera_btn" tool_tip="カメラã®è§’度をコントãƒãƒ¼ãƒ«"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="è¡Œãå…ˆ" name="destination_btn" tool_tip="Second Life 内を旅行ã™ã‚‹"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="マイ ã‚¢ãƒã‚¿ãƒ¼" name="avatar_btn" tool_tip="容姿を変更ã™ã‚‹"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="人" name="show_people_button" tool_tip="Second Life ã§äººã‚’探ã™"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="show_profile_btn" tool_tip="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã‚’表示・編集"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="ãƒã‚¦ãƒ„ー" name="show_help_btn" tool_tip="Second Life ã®ãƒ˜ãƒ«ãƒ—æƒ…å ±ã‚’è¦‹ã‚‹"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="会話"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="通知"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/ja/panel_group_control_panel.xml deleted file mode 100644 index f7f575206ab..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="グループコール" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="コール終了" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="ボイスコントãƒãƒ¼ãƒ«ã‚’é–‹ã" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/ja/panel_im_control_panel.xml deleted file mode 100644 index 14c38c796f8..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="フレンド登録" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="テレãƒãƒ¼ãƒˆ" name="teleport_btn" tool_tip="ã“ã®äººã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã‚’é€ã‚Šã¾ã™"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="コール" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="コール終了" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="ブãƒãƒƒã‚¯" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="ブãƒãƒƒã‚¯è§£é™¤" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="コールã®éŸ³é‡" value="0.5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_login.xml b/indra/newview/skins/minimal/xui/ja/panel_login.xml deleted file mode 100644 index ac1fe455c7e..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_login.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://jp.secondlife.com/registration/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=ja - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - ユーザーãƒãƒ¼ãƒ : - </text> - <combo_box name="username_combo" tool_tip="登録時ã«è‡ªåˆ†ã§é¸ã‚“ã ユーザーå(例:bobsmith12ã€Steller Sunshineãªã©ï¼‰"/> - <text name="password_text"> - パスワード: - </text> - <check_box label="パスワードを記憶" name="remember_check"/> - <button label="ãƒã‚°ã‚¤ãƒ³" left_pad="30" name="connect_btn" width="60"/> - <text name="mode_selection_text"> - モード: - </text> - <combo_box name="mode_combo" tool_tip="モードをé¸æŠžã—ã¾ã™ã€‚ベーシックモードã§ã¯æŽ¢ç´¢ã‚„ãƒãƒ£ãƒƒãƒˆã‚’ã™ã°ã‚„ãç°¡å˜ã«å®Ÿè¡Œã§ãã€ã‚¢ãƒ‰ãƒãƒ³ã‚¹ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã€ã‚ˆã‚Šå¤šãã®æ©Ÿèƒ½ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚"> - <combo_box.item label="ベーシック" name="Basic"/> - <combo_box.item label="アドãƒãƒ³ã‚¹" name="Advanced"/> - </combo_box> - <text name="start_location_text"> - 開始地点: - </text> - <combo_box name="start_location_combo"> - <combo_box.item label="最後ã«ãƒã‚°ã‚¢ã‚¦ãƒˆã—ãŸå ´æ‰€" name="MyLastLocation"/> - <combo_box.item label="ホーム" name="MyHome"/> - <combo_box.item label="<地域åを入力>" name="Typeregionname"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - ãŠç”³ã—込㿠- </text> - <text name="forgot_password_text"> - ユーザーåã¾ãŸã¯ãƒ‘スワードをãŠå¿˜ã‚Œã§ã™ã‹ï¼Ÿ - </text> - <text name="login_help"> - ãƒã‚°ã‚¤ãƒ³ã®æ–¹æ³• - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/ja/panel_navigation_bar.xml deleted file mode 100644 index 0426c4fe9a1..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="å‰ã®å ´æ‰€ã¸æˆ»ã‚Šã¾ã™"/> - <pull_button name="forward_btn" tool_tip="次ã®å ´æ‰€ã¸é€²ã¿ã¾ã™"/> - <button name="home_btn" tool_tip="「ホームã€ã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆ"/> - <location_input label="å ´æ‰€" name="location_combo"/> - <search_combo_box label="検索" name="search_combo_box" tool_tip="検索"> - <combo_editor label="[SECOND_LIFE] を検索:" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="ランドマークをã“ã“ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ã€Second Lifeã®ãŠæ°—ã«å…¥ã‚Šã®å ´æ‰€ã«ç´ æ—©ãアクセスï¼"> - <label name="favorites_bar_label" tool_tip="ランドマークをã“ã“ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ã€Second Lifeã®ãŠæ°—ã«å…¥ã‚Šã®å ´æ‰€ã«ç´ æ—©ãアクセスï¼"> - ãŠæ°—ã«å…¥ã‚Šãƒãƒ¼ - </label> - <chevron_button name=">>" tool_tip="ãŠæ°—ã«å…¥ã‚Šã‚’ã‚‚ã£ã¨è¡¨ç¤º"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_people.xml b/indra/newview/skins/minimal/xui/ja/panel_people.xml deleted file mode 100644 index 5caeebc151d..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_people.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="人" name="people_panel"> - <string name="no_recent_people" value="最近交æµã—ãŸäººã¯ã„ã¾ã›ã‚“。一緒ã«ä½•ã‹ã™ã‚‹ä»²é–“ã‚’ãŠæŽ¢ã—ã§ã™ã‹ï¼Ÿä¸‹ã®ã€Œè¡Œã先ガイドã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。"/> - <string name="no_filtered_recent_people" value="ãã®åå‰ã§æœ€è¿‘交æµã—ãŸäººã¯ã„ã¾ã›ã‚“。"/> - <string name="no_one_near" value="è¿‘ãã«èª°ã‚‚ã„ã¾ã›ã‚“。一緒ã«ä½•ã‹ã™ã‚‹ä»²é–“ã‚’ãŠæŽ¢ã—ã§ã™ã‹ï¼Ÿä¸‹ã®ã€Œè¡Œã先ガイドã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。"/> - <string name="no_one_filtered_near" value="ãã®åå‰ã®äººã¯è¿‘ãã«ã„ã¾ã›ã‚“。"/> - <string name="no_friends_online" value="オンラインã®ãƒ•ãƒ¬ãƒ³ãƒ‰ã¯ã„ã¾ã›ã‚“"/> - <string name="no_friends" value="フレンドã¯ã„ã¾ã›ã‚“"/> - <string name="no_friends_msg"> - ä½äººã‚’å³ã‚¯ãƒªãƒƒã‚¯ã™ã‚‹ã¨ã€ãƒ•ãƒ¬ãƒ³ãƒ‰ç™»éŒ²ã§ãã¾ã™ã€‚ -一緒ã«ä½•ã‹ã™ã‚‹ä»²é–“ã‚’ãŠæŽ¢ã—ã§ã™ã‹ï¼Ÿä¸‹ã®ã€Œè¡Œã先ガイドã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。 - </string> - <string name="no_filtered_friends_msg"> - ãŠæŽ¢ã—ã®ã‚‚ã®ã¯è¦‹ã¤ã‹ã‚Šã¾ã—ãŸã‹ï¼Ÿä¸‹ã®ã€Œè¡Œã先ガイドã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„。 - </string> - <string name="people_filter_label" value="人をフィルター"/> - <string name="groups_filter_label" value="グループをフィルター"/> - <string name="no_filtered_groups_msg" value="ãŠæŽ¢ã—ã®ã‚‚ã®ã¯è¦‹ã¤ã‹ã‚Šã¾ã—ãŸã‹ï¼Ÿ [secondlife:///app/search/groups/[SEARCH_TERM] 検索] ã‚’ãŠè©¦ã—ãã ã•ã„。"/> - <string name="no_groups_msg" value="グループをãŠæŽ¢ã—ã§ã™ã‹ï¼Ÿ [secondlife:///app/search/groups 検索] ã‚’ãŠè©¦ã—ãã ã•ã„。"/> - <string name="MiniMapToolTipMsg" value="[地域](ダブルクリックã§åœ°å›³ã‚’é–‹ã。Shiftâ€ãƒ‰ãƒ©ãƒƒã‚°ã§æ°´å¹³ãƒ»åž‚直移動)"/> - <string name="AltMiniMapToolTipMsg" value="[地域](ダブルクリックã§ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã€‚Shiftâ€ãƒ‰ãƒ©ãƒƒã‚°ã§æ°´å¹³ãƒ»åž‚直移動)"/> - <filter_editor label="フィルター" name="filter_input"/> - <tab_container name="tabs"> - <panel label="è¿‘ã" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="nearby_view_sort_btn" tool_tip="オプション"/> - <button name="add_friend_btn" tool_tip="é¸æŠžã—ãŸä½äººã‚’フレンドリストã«ç™»éŒ²"/> - </panel> - </panel> - <panel label="マイ フレンド" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="オンライン"/> - <accordion_tab name="tab_all" title="全員"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="options_gear_btn_panel"> - <menu_button name="friends_viewsort_btn" tool_tip="オプションを表示ã—ã¾ã™"/> - </layout_panel> - <layout_panel name="add_btn_panel"> - <button name="add_btn" tool_tip="フレンド登録を申ã—出る"/> - </layout_panel> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="é¸æŠžã—ãŸäººã‚’フレンドリストã‹ã‚‰å‰Šé™¤"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="マイ グループ" name="groups_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="groups_viewsort_btn" tool_tip="オプション"/> - <button name="plus_btn" tool_tip="グループã«å‚åŠ / æ–°è¦ã‚°ãƒ«ãƒ¼ãƒ—を作æˆã—ã¾ã™"/> - <button name="activate_btn" tool_tip="é¸æŠžã—ãŸã‚°ãƒ«ãƒ¼ãƒ—をアクティブã«ã—ã¾ã™"/> - </panel> - </panel> - <panel label="最新" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="recent_viewsort_btn" tool_tip="オプション"/> - <button name="add_friend_btn" tool_tip="é¸æŠžã—ãŸä½äººã‚’フレンドリストã«ç™»éŒ²"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="view_profile_btn" tool_tip="写真ã€ã‚°ãƒ«ãƒ¼ãƒ—ã€ãã®ä»–ä½äººæƒ…å ±ã‚’è¡¨ç¤º"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="インスタントメッセージを開ãã¾ã™"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="コール" name="call_btn" tool_tip="ã“ã®ä½äººã«ã‚³ãƒ¼ãƒ«ã™ã‚‹"/> - </layout_panel> - <layout_panel name="share_btn_lp"> - <button label="共有" name="share_btn" tool_tip="「æŒã¡ç‰©ã€ã®ã‚¢ã‚¤ãƒ†ãƒ を共有ã™ã‚‹"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="テレãƒãƒ¼ãƒˆ" name="teleport_btn" tool_tip="テレãƒãƒ¼ãƒˆã‚’é€ã‚Šã¾ã™"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±" name="group_info_btn" tool_tip="ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±ã‚’è¡¨ç¤ºã—ã¾ã™"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="グループãƒãƒ£ãƒƒãƒˆ" name="chat_btn" tool_tip="ãƒãƒ£ãƒƒãƒˆã‚’開始ã—ã¾ã™"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="グループコール" name="group_call_btn" tool_tip="ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã‚³ãƒ¼ãƒ«ã™ã‚‹"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/ja/panel_side_tray_tab_caption.xml deleted file mode 100644 index d06db8ccb10..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="サイドパãƒãƒ«"/> - <button name="undock" tool_tip="切り離ã™"/> - <button name="dock" tool_tip="ドッã‚ング"/> - <button name="show_help" tool_tip="ヘルプを表示"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/ja/panel_status_bar.xml b/indra/newview/skins/minimal/xui/ja/panel_status_bar.xml deleted file mode 100644 index 163064484b8..00000000000 --- a/indra/newview/skins/minimal/xui/ja/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - 日曜日:月曜日:ç«æ›œæ—¥:水曜日:木曜日:金曜日:土曜日 - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - 1月:2月:3月:4月:5月:6月:7月:8月:9月:10月:11月:12月 - </panel.string> - <panel.string name="packet_loss_tooltip"> - パケットæ失 - </panel.string> - <panel.string name="bandwidth_tooltip"> - 帯域幅 - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [year, datetime, slt] [month, datetime, slt] [day, datetime, slt] ([weekday, datetime, slt]) - </panel.string> - <panel.string name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="クリックã—㦠L$ 残高を更新" value="L$20"/> - <button label="L$ ã®è³¼å…¥" name="buyL" tool_tip="クリックã—㦠L$ を購入ã—ã¾ã™"/> - </panel> - <text name="TimeText" tool_tip="ç¾åœ¨æ™‚刻(太平洋)"> - 24:00 AM PST - </text> - <button name="media_toggle_btn" tool_tip="ã™ã¹ã¦ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚’開始・åœæ¢ï¼ˆéŸ³æ¥½ã€ãƒ“デオã€Web ページ)"/> - <button name="volume_btn" tool_tip="ã‚°ãƒãƒ¼ãƒãƒ«éŸ³é‡è¨å®š"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/floater_camera.xml b/indra/newview/skins/minimal/xui/pl/floater_camera.xml deleted file mode 100644 index 5b9dd476160..00000000000 --- a/indra/newview/skins/minimal/xui/pl/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Obracaj kamerÄ™ wokół obiektu - </floater.string> - <floater.string name="zoom_tooltip"> - Najedź kamerÄ… w kierunku obiektu - </floater.string> - <floater.string name="move_tooltip"> - Poruszaj kamerÄ… w dół/górÄ™ oraz w prawo/lewo - </floater.string> - <floater.string name="camera_modes_title"> - Ustawienia - </floater.string> - <floater.string name="pan_mode_title"> - W prawo lub w lewo - </floater.string> - <floater.string name="presets_mode_title"> - Ustaw widok - </floater.string> - <floater.string name="free_mode_title"> - Zobacz obiekt - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Widok z przodu - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - PodglÄ…d grupy - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Widok z tyÅ‚u - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Widok obiektu - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Widok panoramiczny - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Najedź kamerÄ… w kierunku obiektu"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Obracaj kamerÄ™ wokoÅ‚ osi"/> - <slider_bar name="zoom_slider" tool_tip="Przybliż kamerÄ™ do ogniskowej"/> - <joystick_track name="cam_track_stick" tool_tip="Poruszaj kamerÄ… w górÄ™, w dół, w lewo i w prawo"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Ustaw widok"/> - <button label="" name="pan_btn" tool_tip="Kamera horyzontalna"/> - <button label="" name="avatarview_btn" tool_tip="Ustawienia"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/floater_help_browser.xml b/indra/newview/skins/minimal/xui/pl/floater_help_browser.xml deleted file mode 100644 index 66fde04f887..00000000000 --- a/indra/newview/skins/minimal/xui/pl/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="POMOC"> - <floater.string name="loading_text"> - Åadowanie... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/floater_media_browser.xml b/indra/newview/skins/minimal/xui/pl/floater_media_browser.xml deleted file mode 100644 index 02b7c6bc2be..00000000000 --- a/indra/newview/skins/minimal/xui/pl/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="PRZEGLÄ„DARKA MEDIÓW"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Wstecz" name="back"/> - <button label="Dalej" name="forward"/> - <button label="OdÅ›wież" name="reload"/> - <button label="Idź" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="przewiÅ„" name="rewind"/> - <button label="zatrzymaj" name="stop"/> - <button label="dalej" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="WyÅ›lij bieżącÄ… stronÄ™ do parceli" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Otwórz w przeglÄ…darce zewnÄ™trznej" name="open_browser"/> - <check_box label="Zawsze otwieraj w przeglÄ…darce zewnÄ™trznej" name="open_always"/> - <button label="Zamknij" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/pl/floater_nearby_chat.xml deleted file mode 100644 index 7dc3e1f22ef..00000000000 --- a/indra/newview/skins/minimal/xui/pl/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CZAT LOKALNY"> - <check_box label="TÅ‚umaczenie czatu (wspierane przez Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/floater_web_content.xml b/indra/newview/skins/minimal/xui/pl/floater_web_content.xml deleted file mode 100644 index e3096f1e54c..00000000000 --- a/indra/newview/skins/minimal/xui/pl/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Wstecz"/> - <button name="forward" tool_tip="Dalej"/> - <button name="stop" tool_tip="Zatrzymaj"/> - <button name="reload" tool_tip="OdÅ›wież stronÄ™"/> - <combo_box name="address" tool_tip="Wpisz URL tutaj"/> - <icon name="media_secure_lock_flag" tool_tip="Zabezpieczona przeglÄ…darka"/> - <button name="popexternal" tool_tip="Otwórz bieżący URL w zewnÄ™trznej przeglÄ…darce"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/inspect_avatar.xml b/indra/newview/skins/minimal/xui/pl/inspect_avatar.xml deleted file mode 100644 index 5e982c0185f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/inspect_avatar.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [AGE] - </string> - <string name="Details"> - [SL_PROFILE] - </string> - <text name="user_details"> - To jest mój opis w Second Life. - </text> - <slider name="volume_slider" tool_tip="Poziom gÅ‚oÅ›noÅ›ci" value="0.5"/> - <button label="Dodaj znajomość" name="add_friend_btn"/> - <button label="IM" name="im_btn"/> - <button label="Profil" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="WyÅ‚Ä…cz komunikacjÄ™ gÅ‚osowÄ…" name="disable_voice"/> - <button label="WÅ‚Ä…cz komunikacjÄ™ gÅ‚osowÄ…" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/inspect_object.xml b/indra/newview/skins/minimal/xui/pl/inspect_object.xml deleted file mode 100644 index 23d8ce77004..00000000000 --- a/indra/newview/skins/minimal/xui/pl/inspect_object.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Przez [CREATOR] - </string> - <string name="CreatorAndOwner"> - Twórca [CREATOR] -WÅ‚aÅ›ciciel [OWNER] - </string> - <string name="Price"> - L$[AMOUNT] - </string> - <string name="PriceFree"> - Darmowe! - </string> - <string name="Touch"> - Dotknij - </string> - <string name="Sit"> - UsiÄ…dź tutaj - </string> - <text name="object_name" value="Test Object Name That Is actually two lines and Really Long"/> - <text name="price_text"> - L$30,000 - </text> - <text name="object_description"> - This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really? - </text> - <button label="Kup" name="buy_btn"/> - <button label="ZapÅ‚ać" name="pay_btn"/> - <button label="Weź kopiÄ™" name="take_free_copy_btn"/> - <button label="Dotknij" name="touch_btn"/> - <button label="UsiÄ…dź tutaj" name="sit_btn"/> - <button label="Otwórz" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Zabezpiecz przeglÄ…danie"/> - <button label="WiÄ™cej" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/pl/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_add_wearable_gear.xml deleted file mode 100644 index 7c572b4fc93..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug daty" name="sort_by_most_recent"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug nazwy" name="sort_by_name"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug typu" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/pl/menu_attachment_other.xml deleted file mode 100644 index aacdad97e3e..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Zobacz profil" name="Profile..."/> - <menu_item_call label="Dodaj znajomość" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="ZadzwoÅ„" name="Call"/> - <menu_item_call label="ZaproÅ› do grupy" name="Invite..."/> - <menu_item_call label="Zablokuj" name="Avatar Mute"/> - <menu_item_call label="Raport" name="abuse"/> - <menu_item_call label="Unieruchom" name="Freeze..."/> - <menu_item_call label="Wyrzuć" name="Eject..."/> - <menu_item_call label="Debugowanie tekstur" name="Debug..."/> - <menu_item_call label="Przybliż" name="Zoom In"/> - <menu_item_call label="ZapÅ‚ać" name="Pay..."/> - <menu_item_call label="Sprawdź" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/pl/menu_attachment_self.xml deleted file mode 100644 index 163b3a231e2..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Dotknij" name="Attachment Object Touch"/> - <menu_item_call label="Edytuj" name="Edit..."/> - <menu_item_call label="OdÅ‚Ä…cz" name="Detach"/> - <menu_item_call label="UsiÄ…dź tutaj" name="Sit Down Here"/> - <menu_item_call label="WstaÅ„" name="Stand Up"/> - <menu_item_call label="Mój wyglÄ…d" name="Change Outfit"/> - <menu_item_call label="Edytuj mój strój" name="Edit Outfit"/> - <menu_item_call label="Edytuj mój ksztaÅ‚t" name="Edit My Shape"/> - <menu_item_call label="Moi znajomi" name="Friends..."/> - <menu_item_call label="Moje grupy" name="Groups..."/> - <menu_item_call label="Mój profil" name="Profile..."/> - <menu_item_call label="Debugowanie tekstur" name="Debug..."/> - <menu_item_call label="Opuść" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/pl/menu_avatar_icon.xml deleted file mode 100644 index e8d2b14231f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Profil" name="Show Profile"/> - <menu_item_call label="Czat/IM..." name="Send IM"/> - <menu_item_call label="Dodaj znajomość..." name="Add Friend"/> - <menu_item_call label="UsuÅ„..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/pl/menu_avatar_other.xml deleted file mode 100644 index dcf7921badc..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Zobacz profil" name="Profile..."/> - <menu_item_call label="Dodaj znajomość" name="Add Friend"/> - <menu_item_call label="IM" name="Send IM..."/> - <menu_item_call label="ZadzwoÅ„" name="Call"/> - <menu_item_call label="ZaproÅ› do grupy" name="Invite..."/> - <menu_item_call label="Zablokuj" name="Avatar Mute"/> - <menu_item_call label="Raport" name="abuse"/> - <menu_item_call label="Unieruchom" name="Freeze..."/> - <menu_item_call label="Wyrzuć" name="Eject..."/> - <menu_item_call label="Debugowanie tekstur" name="Debug..."/> - <menu_item_call label="Przybliż" name="Zoom In"/> - <menu_item_call label="ZapÅ‚ać" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/pl/menu_avatar_self.xml deleted file mode 100644 index d481475803b..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="UsiÄ…dź tu" name="Sit Down Here"/> - <menu_item_call label="WstaÅ„" name="Stand Up"/> - <context_menu label="Zdejmij" name="Take Off >"> - <context_menu label="Ubrania" name="Clothes >"> - <menu_item_call label="KoszulÄ™" name="Shirt"/> - <menu_item_call label="Spodnie" name="Pants"/> - <menu_item_call label="SpódnicÄ™" name="Skirt"/> - <menu_item_call label="Buty" name="Shoes"/> - <menu_item_call label="Skarpetki" name="Socks"/> - <menu_item_call label="KurtkÄ™" name="Jacket"/> - <menu_item_call label="RÄ™kawiczki" name="Gloves"/> - <menu_item_call label="Podkoszulek" name="Self Undershirt"/> - <menu_item_call label="BieliznÄ™" name="Self Underpants"/> - <menu_item_call label="Tatuaż" name="Self Tattoo"/> - <menu_item_call label="Ubranie alpha" name="Self Alpha"/> - <menu_item_call label="Wszystko" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="OdÅ‚Ä…cz" name="Object Detach"/> - <menu_item_call label="OdÅ‚Ä…cz wszystko" name="Detach All"/> - </context_menu> - <menu_item_call label="Mój wyglÄ…d" name="Chenge Outfit"/> - <menu_item_call label="Edytuj mój strój" name="Edit Outfit"/> - <menu_item_call label="Edytuj mój ksztaÅ‚t" name="Edit My Shape"/> - <menu_item_call label="Moi znajomi" name="Friends..."/> - <menu_item_call label="Moje grupy" name="Groups..."/> - <menu_item_call label="Mój profil" name="Profile..."/> - <menu_item_call label="Debugowanie tekstur" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/pl/menu_bottomtray.xml deleted file mode 100644 index 8da40dcedfb..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Rozmowy gÅ‚osowe aktywne" name="EnableVoiceChat"/> - <menu_item_check label="Przycisk gesturki" name="ShowGestureButton"/> - <menu_item_check label="Przycisk ruchu" name="ShowMoveButton"/> - <menu_item_check label="Przycisk widoku" name="ShowCameraButton"/> - <menu_item_check label="Przycisk zdjęć" name="ShowSnapshotButton"/> - <menu_item_check label="Buduj" name="ShowBuildButton"/> - <menu_item_check label="Szukaj" name="ShowSearchButton"/> - <menu_item_check label="Mapa" name="ShowWorldMapButton"/> - <menu_item_check label="Mini-Mapa" name="ShowMiniMapButton"/> - <menu_item_call label="Wytnij" name="NearbyChatBar_Cut"/> - <menu_item_call label="Kopiuj" name="NearbyChatBar_Copy"/> - <menu_item_call label="Wklej" name="NearbyChatBar_Paste"/> - <menu_item_call label="UsuÅ„" name="NearbyChatBar_Delete"/> - <menu_item_call label="Zaznacz wszystko" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/pl/menu_cof_attachment.xml deleted file mode 100644 index 4e5407601b4..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="OdÅ‚Ä…cz" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/pl/menu_cof_body_part.xml deleted file mode 100644 index ee60d3feb65..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="ZastÄ…p" name="replace"/> - <menu_item_call label="Edytuj" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/pl/menu_cof_clothing.xml deleted file mode 100644 index ad439001378..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Zdejmij" name="take_off"/> - <menu_item_call label="Edytuj" name="edit"/> - <menu_item_call label="ZastÄ…p" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_cof_gear.xml deleted file mode 100644 index 9fba39be1ac..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Nowe ubranie" name="COF.Gear.New_Clothes"/> - <menu label="Nowe części ciaÅ‚a" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_edit.xml b/indra/newview/skins/minimal/xui/pl/menu_edit.xml deleted file mode 100644 index 578e270fed0..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Edycja" name="Edit"> - <menu_item_call label="Cofnij" name="Undo"/> - <menu_item_call label="Powtórz" name="Redo"/> - <menu_item_call label="Wytnij" name="Cut"/> - <menu_item_call label="Kopiuj" name="Copy"/> - <menu_item_call label="Wklej" name="Paste"/> - <menu_item_call label="UsuÅ„" name="Delete"/> - <menu_item_call label="Powiel" name="Duplicate"/> - <menu_item_call label="Zaznacz wszystko" name="Select All"/> - <menu_item_call label="Odznacz" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_favorites.xml b/indra/newview/skins/minimal/xui/pl/menu_favorites.xml deleted file mode 100644 index 7310ff5c276..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teleportuj" name="Teleport To Landmark"/> - <menu_item_call label="Zobacz/Edytuj Ulubione miejsce" name="Landmark Open"/> - <menu_item_call label="Kopiuj SLurl" name="Copy slurl"/> - <menu_item_call label="Pokaż na mapie" name="Show On Map"/> - <menu_item_call label="Kopiuj" name="Landmark Copy"/> - <menu_item_call label="Wklej" name="Landmark Paste"/> - <menu_item_call label="UsuÅ„" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_gesture_gear.xml deleted file mode 100644 index a72dec22fc1..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Dodaj/UsuÅ„ z Ulubionych" name="activate"/> - <menu_item_call label="Kopiuj" name="copy_gesture"/> - <menu_item_call label="Wklej" name="paste"/> - <menu_item_call label="Kopiuj UUID" name="copy_uuid"/> - <menu_item_call label="Zapisz do obecnego zestawu ubrania" name="save_to_outfit"/> - <menu_item_call label="Edytuj" name="edit_gesture"/> - <menu_item_call label="Sprawdź" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_group_plus.xml b/indra/newview/skins/minimal/xui/pl/menu_group_plus.xml deleted file mode 100644 index 83be4d38c51..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="DoÅ‚Ä…cz do grupy..." name="item_join"/> - <menu_item_call label="Nowa grupa..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/pl/menu_hide_navbar.xml deleted file mode 100644 index 19d9510cd3f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Pokaż pasek Nawigacji" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Pokaż pasek Ulubionych" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Pokaż pasek mini-lokalizacji" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/pl/menu_im_well_button.xml deleted file mode 100644 index 207bc2211b3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Zamknij wszystkie" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/pl/menu_imchiclet_adhoc.xml deleted file mode 100644 index 4ead44878a3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="ZakoÅ„cz rozmowÄ™" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/pl/menu_imchiclet_group.xml deleted file mode 100644 index 2b9a362123b..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="O grupie" name="Show Profile"/> - <menu_item_call label="Pokaż sesjÄ™" name="Chat"/> - <menu_item_call label="ZakoÅ„cz rozmowÄ™" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/pl/menu_imchiclet_p2p.xml deleted file mode 100644 index 8924d6db3e1..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Zobacz profil" name="Show Profile"/> - <menu_item_call label="Dodaj znajomość" name="Add Friend"/> - <menu_item_call label="Pokaż sesjÄ™" name="Send IM"/> - <menu_item_call label="ZakoÅ„cz rozmowÄ™" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_inspect_avatar_gear.xml deleted file mode 100644 index 59560f236c2..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Zobacz profil" name="view_profile"/> - <menu_item_call label="Dodaj znajomość" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="ZadzwoÅ„" name="call"/> - <menu_item_call label="Teleportuj" name="teleport"/> - <menu_item_call label="ZaproÅ› do grupy" name="invite_to_group"/> - <menu_item_call label="Zablokuj" name="block"/> - <menu_item_call label="Odblokuj" name="unblock"/> - <menu_item_call label="Raport" name="report"/> - <menu_item_call label="Unieruchom" name="freeze"/> - <menu_item_call label="Wyrzuć" name="eject"/> - <menu_item_call label="Kopnij" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Debugowanie tekstur" name="debug"/> - <menu_item_call label="Znajdź na mapie" name="find_on_map"/> - <menu_item_call label="Przybliż" name="zoom_in"/> - <menu_item_call label="ZapÅ‚ać" name="pay"/> - <menu_item_call label="UdostÄ™pnij" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_inspect_object_gear.xml deleted file mode 100644 index c12bd490ff9..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Dotknij" name="touch"/> - <menu_item_call label="UsiÄ…dź" name="sit"/> - <menu_item_call label="ZapÅ‚ać" name="pay"/> - <menu_item_call label="Kup" name="buy"/> - <menu_item_call label="Weź" name="take"/> - <menu_item_call label="Weź kopiÄ™" name="take_copy"/> - <menu_item_call label="Otwórz" name="open"/> - <menu_item_call label="Edytuj" name="edit"/> - <menu_item_call label="Ubierz" name="wear"/> - <menu_item_call label="Dodaj" name="add"/> - <menu_item_call label="Raport" name="report"/> - <menu_item_call label="Zablokuj" name="block"/> - <menu_item_call label="Przybliż" name="zoom_in"/> - <menu_item_call label="UsuÅ„" name="remove"/> - <menu_item_call label="WiÄ™cej informacji" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_inspect_self_gear.xml deleted file mode 100644 index c4ef9761d9d..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="UsiÄ…dź tutaj" name="Sit Down Here"/> - <menu_item_call label="WstaÅ„" name="Stand Up"/> - <context_menu label="Zdejmij" name="Take Off >"> - <context_menu label="Ubranie" name="Clothes >"> - <menu_item_call label="Bluzka" name="Shirt"/> - <menu_item_call label="Spodnie" name="Pants"/> - <menu_item_call label="Spódnica" name="Skirt"/> - <menu_item_call label="Buty" name="Shoes"/> - <menu_item_call label="Skarpetki" name="Socks"/> - <menu_item_call label="Kurtka" name="Jacket"/> - <menu_item_call label="RÄ™kawiczki" name="Gloves"/> - <menu_item_call label="Podkoszulek" name="Self Undershirt"/> - <menu_item_call label="Bielizna" name="Self Underpants"/> - <menu_item_call label="Tatuaż" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Ubranie" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="OdÅ‚Ä…cz" name="Object Detach"/> - <menu_item_call label="OdÅ‚Ä…cz wszystko" name="Detach All"/> - </context_menu> - <menu_item_call label="ZmieÅ„ strój" name="Chenge Outfit"/> - <menu_item_call label="Edytuj mój strój" name="Edit Outfit"/> - <menu_item_call label="Edytuj mój ksztaÅ‚t" name="Edit My Shape"/> - <menu_item_call label="Znajomi" name="Friends..."/> - <menu_item_call label="Moje grupy" name="Groups..."/> - <menu_item_call label="Mój profil" name="Profile..."/> - <menu_item_call label="Debugowanie tekstur" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/pl/menu_inv_offer_chiclet.xml deleted file mode 100644 index 5ef0f2f7a48..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Zamknij" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inventory.xml b/indra/newview/skins/minimal/xui/pl/menu_inventory.xml deleted file mode 100644 index e47ffa0e188..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inventory.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="UdostÄ™pnij" name="Share"/> - <menu_item_call label="Kupuj" name="Task Buy"/> - <menu_item_call label="Otwórz" name="Task Open"/> - <menu_item_call label="Odtwarzaj" name="Task Play"/> - <menu_item_call label="WÅ‚aÅ›ciwoÅ›ci" name="Task Properties"/> - <menu_item_call label="ZmieÅ„ nazwÄ™" name="Task Rename"/> - <menu_item_call label="UsuÅ„" name="Task Remove"/> - <menu_item_call label="Opróżnij Kosz" name="Empty Trash"/> - <menu_item_call label="Opróżnij Folder Zgubione i odnalezione" name="Empty Lost And Found"/> - <menu_item_call label="Nowy folder" name="New Folder"/> - <menu_item_call label="Nowy skrypt" name="New Script"/> - <menu_item_call label="Nowa nota" name="New Note"/> - <menu_item_call label="Nowa gesturka" name="New Gesture"/> - <menu label="Nowe Ubranie" name="New Clothes"> - <menu_item_call label="Nowa koszula" name="New Shirt"/> - <menu_item_call label="Nowe spodnie" name="New Pants"/> - <menu_item_call label="Nowe buty" name="New Shoes"/> - <menu_item_call label="Nowe skarpety" name="New Socks"/> - <menu_item_call label="Nowa kurtka" name="New Jacket"/> - <menu_item_call label="Nowa spódnica" name="New Skirt"/> - <menu_item_call label="Nowe rÄ™kawiczki" name="New Gloves"/> - <menu_item_call label="Nowy podkoszulek" name="New Undershirt"/> - <menu_item_call label="Nowa bielizna" name="New Underpants"/> - <menu_item_call label="Nowa maska alpha" name="New Alpha Mask"/> - <menu_item_call label="Nowy tatuaż" name="New Tattoo"/> - </menu> - <menu label="Nowa Część CiaÅ‚a" name="New Body Parts"> - <menu_item_call label="Nowy ksztaÅ‚t" name="New Shape"/> - <menu_item_call label="Nowa skórka" name="New Skin"/> - <menu_item_call label="Nowe wÅ‚osy" name="New Hair"/> - <menu_item_call label="Nowe oczy" name="New Eyes"/> - </menu> - <menu label="ZmieÅ„ CzcionkÄ™" name="Change Type"> - <menu_item_call label="DomyÅ›lna" name="Default"/> - <menu_item_call label="RÄ™kawiczki" name="Gloves"/> - <menu_item_call label="Kurtka" name="Jacket"/> - <menu_item_call label="Spodnie" name="Pants"/> - <menu_item_call label="KsztaÅ‚t" name="Shape"/> - <menu_item_call label="Buty" name="Shoes"/> - <menu_item_call label="Koszula" name="Shirt"/> - <menu_item_call label="Spódnica" name="Skirt"/> - <menu_item_call label="Bielizna" name="Underpants"/> - <menu_item_call label="Podkoszulek" name="Undershirt"/> - </menu> - <menu_item_call label="Teleportuj" name="Landmark Open"/> - <menu_item_call label="Otwórz" name="Animation Open"/> - <menu_item_call label="Otwórz" name="Sound Open"/> - <menu_item_call label="ZmieÅ„ strój" name="Replace Outfit"/> - <menu_item_call label="Dodaj do stroju" name="Add To Outfit"/> - <menu_item_call label="UsuÅ„ obiekt" name="Purge Item"/> - <menu_item_call label="Przywróć obiekt" name="Restore Item"/> - <menu_item_call label="Otwórz" name="Open"/> - <menu_item_call label="Otwórz oryginalne" name="Open Original"/> - <menu_item_call label="WÅ‚aÅ›ciwoÅ›ci" name="Properties"/> - <menu_item_call label="ZmieÅ„ nazwÄ™" name="Rename"/> - <menu_item_call label="Kopiuj dane UUID" name="Copy Asset UUID"/> - <menu_item_call label="Kopiuj" name="Copy"/> - <menu_item_call label="Wklej" name="Paste"/> - <menu_item_call label="Wklej jako link" name="Paste As Link"/> - <menu_item_call label="UsuÅ„" name="Remove Link"/> - <menu_item_call label="UsuÅ„" name="Delete"/> - <menu_item_call label="Skasuj folder systemu" name="Delete System Folder"/> - <menu_item_call label="Rozpocznij konferencjÄ™ czatowÄ…" name="Conference Chat Folder"/> - <menu_item_call label="Odtwarzaj" name="Sound Play"/> - <menu_item_call label="O Miejscu" name="About Landmark"/> - <menu_item_call label="Używaj in-world" name="Animation Play"/> - <menu_item_call label="Odtwarzaj lokalnie" name="Animation Audition"/> - <menu_item_call label="WyÅ›lij IM" name="Send Instant Message"/> - <menu_item_call label="Teleportuj..." name="Offer Teleport..."/> - <menu_item_call label="Rozpocznij konferencjÄ™ czatowÄ…" name="Conference Chat"/> - <menu_item_call label="Aktywuj" name="Activate"/> - <menu_item_call label="Deaktywuj" name="Deactivate"/> - <menu_item_call label="Zapisz jako" name="Save As"/> - <menu_item_call label="OdÅ‚Ä…cz od siebie" name="Detach From Yourself"/> - <menu_item_call label="Załóż" name="Wearable And Object Wear"/> - <menu label="DoÅ‚Ä…cz do" name="Attach To"/> - <menu label="DoÅ‚Ä…cz do zaÅ‚Ä…czników HUD" name="Attach To HUD"/> - <menu_item_call label="Edytuj" name="Wearable Edit"/> - <menu_item_call label="Dodaj" name="Wearable Add"/> - <menu_item_call label="Zdejmij" name="Take Off"/> - <menu_item_call label="--brak opcji--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/pl/menu_inventory_add.xml deleted file mode 100644 index 4a56586aafc..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="ZaÅ‚aduj" name="upload"> - <menu_item_call label="obraz (L$[COST])..." name="Upload Image"/> - <menu_item_call label="dźwiÄ™k (L$[COST])..." name="Upload Sound"/> - <menu_item_call label="animacjÄ™ (L$[COST])..." name="Upload Animation"/> - <menu_item_call label="zbiór plików (L$[COST] za jeden plik)..." name="Bulk Upload"/> - <menu_item_call label="Ustaw domyÅ›lne pozwolenia Å‚adowania" name="perm prefs"/> - </menu> - <menu_item_call label="Nowy folder" name="New Folder"/> - <menu_item_call label="Nowy skrypt" name="New Script"/> - <menu_item_call label="Nowa nota" name="New Note"/> - <menu_item_call label="Nowa gesturka" name="New Gesture"/> - <menu label="Nowe Ubranie" name="New Clothes"> - <menu_item_call label="Nowa koszula" name="New Shirt"/> - <menu_item_call label="Nowe spodnie" name="New Pants"/> - <menu_item_call label="Nowe buty" name="New Shoes"/> - <menu_item_call label="Nowe skarpetki" name="New Socks"/> - <menu_item_call label="Nowa kurtka" name="New Jacket"/> - <menu_item_call label="Nowa spódnica" name="New Skirt"/> - <menu_item_call label="Nowe rÄ™kawiczki" name="New Gloves"/> - <menu_item_call label="Nowy podkoszulek" name="New Undershirt"/> - <menu_item_call label="Nowa bielizna" name="New Underpants"/> - <menu_item_call label="Nowa maska alpha" name="New Alpha"/> - <menu_item_call label="Nowy tatuaż" name="New Tattoo"/> - </menu> - <menu label="Nowa Część CiaÅ‚a" name="New Body Parts"> - <menu_item_call label="Nowy ksztaÅ‚t" name="New Shape"/> - <menu_item_call label="Nowa skórka" name="New Skin"/> - <menu_item_call label="Nowe wÅ‚osy" name="New Hair"/> - <menu_item_call label="Nowe oczy" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/pl/menu_inventory_gear_default.xml deleted file mode 100644 index 591c3a81d5f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_inventory_gear_default.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nowe okno Szafy" name="new_window"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug nazwy" name="sort_by_name"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug daty" name="sort_by_recent"/> - <menu_item_check label="Sortuj foldery zawsze wedÅ‚ug nazwy" name="sort_folders_by_name"/> - <menu_item_check label="Posortuj foldery systemowe od góry" name="sort_system_folders_to_top"/> - <menu_item_call label="Pokaż filtry" name="show_filters"/> - <menu_item_call label="Zresetuj filtry" name="reset_filters"/> - <menu_item_call label="Zamknij wszystkie foldery" name="close_folders"/> - <menu_item_call label="Opróżnij Zagubione i odnalezione" name="empty_lostnfound"/> - <menu_item_call label="Zapisz teksturÄ™ jako" name="Save Texture As"/> - <menu_item_call label="UdostÄ™pnij" name="Share"/> - <menu_item_call label="Znajdź oryginaÅ‚" name="Find Original"/> - <menu_item_call label="Znajdź wszystkie linki" name="Find All Links"/> - <menu_item_call label="Opróżnij Kosz" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_land.xml b/indra/newview/skins/minimal/xui/pl/menu_land.xml deleted file mode 100644 index cbfecaee568..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="O PosiadÅ‚oÅ›ci" name="Place Information..."/> - <menu_item_call label="UsiÄ…dź tutaj" name="Sit Here"/> - <menu_item_call label="Kup posiadÅ‚ość" name="Land Buy"/> - <menu_item_call label="Kup przepustkÄ™" name="Land Buy Pass"/> - <menu_item_call label="Buduj" name="Create"/> - <menu_item_call label="Edytuj teren" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_landmark.xml b/indra/newview/skins/minimal/xui/pl/menu_landmark.xml deleted file mode 100644 index aa5808390c4..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Kopiuj SLurl" name="copy"/> - <menu_item_call label="UsuÅ„" name="delete"/> - <menu_item_call label="Utwórz" name="pick"/> - <menu_item_call label="Dodaj do paska Ulubionych" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_login.xml b/indra/newview/skins/minimal/xui/pl/menu_login.xml deleted file mode 100644 index e50b6946411..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_login.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Ja" name="File"> - <menu_item_call label="Ustawienia" name="Preferences..."/> - <menu_item_call label="WyÅ‚Ä…cz [APP_NAME]" name="Quit"/> - </menu> - <menu label="Pomoc" name="Help"> - <menu_item_call label="[SECOND_LIFE]: Pomoc" name="Second Life Help"/> - <menu_item_call label="O [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Pokaż ustawienia debugowania" name="Show Debug Menu"/> - <menu label="Debug" name="Debug"> - <menu_item_call label="Ustawienia debugowania" name="Debug Settings"/> - <menu_item_call label="Ustawienia UI/kolor" name="UI/Color Settings"/> - <menu label="UI Testy" name="UI Tests"/> - <menu_item_call label="Ustaw rozmiar interfejsu..." name="Set Window Size..."/> - <menu_item_call label="WyÅ›wietl TOS" name="TOS"/> - <menu_item_call label="WyÅ›wietl wiadomość krytycznÄ…" name="Critical"/> - <menu_item_call label="Test przeglÄ…darki mediów" name="Web Browser Test"/> - <menu_item_call label="Test zawartoÅ›ci strony" name="Web Content Floater Test"/> - <menu_item_check label="Pokaż siatkÄ™" name="Show Grid Picker"/> - <menu_item_call label="Pokaż konsolÄ™ ZawiadomieÅ„" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/pl/menu_mini_map.xml b/indra/newview/skins/minimal/xui/pl/menu_mini_map.xml deleted file mode 100644 index 8f869654165..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom blisko" name="Zoom Close"/> - <menu_item_call label="Zoom Å›rednio" name="Zoom Medium"/> - <menu_item_call label="Zoom daleko" name="Zoom Far"/> - <menu_item_call label="Zoom domyÅ›lny" name="Zoom Default"/> - <menu_item_check label="Obróć mapÄ™" name="Rotate Map"/> - <menu_item_check label="Autocentrowanie" name="Auto Center"/> - <menu_item_call label="Zatrzymaj" name="Stop Tracking"/> - <menu_item_call label="Mapa Åšwiata" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_navbar.xml b/indra/newview/skins/minimal/xui/pl/menu_navbar.xml deleted file mode 100644 index 1d434670eee..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Pokaż współrzÄ™dne" name="Show Coordinates"/> - <menu_item_check label="Pokaż wÅ‚aÅ›ciwoÅ›ci posiadÅ‚oÅ›ci" name="Show Parcel Properties"/> - <menu_item_call label="Landmark" name="Landmark"/> - <menu_item_call label="Wytnij" name="Cut"/> - <menu_item_call label="Kopiuj" name="Copy"/> - <menu_item_call label="Wklej" name="Paste"/> - <menu_item_call label="UsuÅ„" name="Delete"/> - <menu_item_call label="Zaznacz wszystko" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/pl/menu_nearby_chat.xml deleted file mode 100644 index fe5bc6ba6f3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Pokaż osoby w pobliżu..." name="nearby_people"/> - <menu_item_check label="Pokaż zablokowany tekst" name="muted_text"/> - <menu_item_check label="WyÅ›wietlaj ikonki znajomych" name="show_buddy_icons"/> - <menu_item_check label="WyÅ›wietlaj imiona" name="show_names"/> - <menu_item_check label="WyÅ›wietlaj ikonki i imiona" name="show_icons_and_names"/> - <menu_item_call label="Rozmiar czcionki" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/pl/menu_notification_well_button.xml deleted file mode 100644 index bd3d42f9b1f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Zamknij" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_object.xml b/indra/newview/skins/minimal/xui/pl/menu_object.xml deleted file mode 100644 index 3da6c5c8905..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Dotknij" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Dotknij"/> - </menu_item_call> - <menu_item_call label="Edytuj" name="Edit..."/> - <menu_item_call label="Buduj" name="Build"/> - <menu_item_call label="Otwórz" name="Open"/> - <menu_item_call label="UsiÄ…dź tutaj" name="Object Sit"/> - <menu_item_call label="WstaÅ„" name="Object Stand Up"/> - <menu_item_call label="Sprawdź" name="Object Inspect"/> - <menu_item_call label="Przybliż" name="Zoom In"/> - <context_menu label="Załóż na" name="Put On"> - <menu_item_call label="Załóż" name="Wear"/> - <menu_item_call label="Dodaj" name="Add"/> - <context_menu label="DoÅ‚Ä…cz" name="Object Attach"/> - <context_menu label="DoÅ‚Ä…cz HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="ZarzÄ…dzaj" name="Remove"> - <menu_item_call label="Raport" name="Report Abuse..."/> - <menu_item_call label="Zablokuj" name="Object Mute"/> - <menu_item_call label="Zwróć" name="Return..."/> - </context_menu> - <menu_item_call label="Weź" name="Pie Object Take"/> - <menu_item_call label="Weź kopiÄ™" name="Take Copy"/> - <menu_item_call label="ZapÅ‚ać" name="Pay..."/> - <menu_item_call label="Kup" name="Buy..."/> - <menu_item_call label="Skasuj" name="Delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_object_icon.xml b/indra/newview/skins/minimal/xui/pl/menu_object_icon.xml deleted file mode 100644 index b499bca2dbf..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Sprawdź..." name="Object Profile"/> - <menu_item_call label="Zablokuj..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_outfit_gear.xml deleted file mode 100644 index 1a70e76ec7c..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Załóż - ZastÄ…p obecny strój" name="wear"/> - <menu_item_call label="Załóż - Dodaj do bieżącego stroju" name="wear_add"/> - <menu_item_call label="Zdejmij - UsuÅ„ z obecnego stroju" name="take_off"/> - <menu label="Nowe ubranie" name="New Clothes"> - <menu_item_call label="Nowa koszula" name="New Shirt"/> - <menu_item_call label="Nowe spodnie" name="New Pants"/> - <menu_item_call label="Nowe buty" name="New Shoes"/> - <menu_item_call label="Nowe skarpetki" name="New Socks"/> - <menu_item_call label="Nowa kurtka" name="New Jacket"/> - <menu_item_call label="Nowa spódnica" name="New Skirt"/> - <menu_item_call label="Nowe rÄ™kawiczki" name="New Gloves"/> - <menu_item_call label="Nowa podkoszulka" name="New Undershirt"/> - <menu_item_call label="Nowa bielizna" name="New Underpants"/> - <menu_item_call label="Nowa maska alpha" name="New Alpha"/> - <menu_item_call label="Nowy tatuaż" name="New Tattoo"/> - </menu> - <menu label="Nowe części ciaÅ‚a" name="New Body Parts"> - <menu_item_call label="Nowy ksztaÅ‚t" name="New Shape"/> - <menu_item_call label="Nowa skórka" name="New Skin"/> - <menu_item_call label="Nowe wÅ‚osy" name="New Hair"/> - <menu_item_call label="Nowe oczy" name="New Eyes"/> - </menu> - <menu_item_call label="ZmieÅ„ nazwÄ™ stroju" name="rename"/> - <menu_item_call label="UsuÅ„ strój" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/pl/menu_outfit_tab.xml deleted file mode 100644 index 998e25f38ee..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Załóż - ZastÄ…p obecny strój" name="wear_replace"/> - <menu_item_call label="Załóż - Dodaj do obecnego stroju" name="wear_add"/> - <menu_item_call label="Zdejmij - UsuÅ„ z obecnego stroju" name="take_off"/> - <menu_item_call label="Edytuj strój" name="edit"/> - <menu_item_call label="ZmieÅ„ nazwÄ™ stroju" name="rename"/> - <menu_item_call label="UsuÅ„ strój" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_participant_list.xml b/indra/newview/skins/minimal/xui/pl/menu_participant_list.xml deleted file mode 100644 index 9e591027887..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Sortuj wedÅ‚ug imienia" name="SortByName"/> - <menu_item_check label="Sortuj wedÅ‚ug ostatniego mówcy" name="SortByRecentSpeakers"/> - <menu_item_call label="Zobacz profil" name="View Profile"/> - <menu_item_call label="Dodaj znajomość" name="Add Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="ZadzwoÅ„" name="Call"/> - <menu_item_call label="UdostÄ™pnij" name="Share"/> - <menu_item_call label="ZapÅ‚ać" name="Pay"/> - <menu_item_check label="PrzeglÄ…daj ikonki" name="View Icons"/> - <menu_item_check label="Zablokuj gÅ‚os" name="Block/Unblock"/> - <menu_item_check label="Zablokuj tekst" name="MuteText"/> - <context_menu label="Opcje Moderatora" name="Moderator Options"> - <menu_item_check label="Czat/IM dozwolony" name="AllowTextChat"/> - <menu_item_call label="Wycisz tego uczestnika" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Odblokuj wyciszenie tego uczestnika" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Wycisz wszystkich" name="ModerateVoiceMute"/> - <menu_item_call label="Cofnij wyciszenie wszystkim" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/pl/menu_people_friends_view_sort.xml deleted file mode 100644 index b62b85d30a4..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug nazwy" name="sort_name"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug statusu" name="sort_status"/> - <menu_item_check label="WyÅ›wietlaj ikonki" name="view_icons"/> - <menu_item_check label="Zobacz udzielone prawa" name="view_permissions"/> - <menu_item_call label="Pokaż zablokowanych Rezydentów & obiekty" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_groups.xml b/indra/newview/skins/minimal/xui/pl/menu_people_groups.xml deleted file mode 100644 index ace5ebf8884..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Zobacz info" name="View Info"/> - <menu_item_call label="Czat" name="Chat"/> - <menu_item_call label="Rozmowa" name="Call"/> - <menu_item_call label="Aktywuj" name="Activate"/> - <menu_item_call label="Opuść" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/pl/menu_people_groups_view_sort.xml deleted file mode 100644 index c70ea2315f4..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="WyÅ›wietlaj ikonki grupy" name="Display Group Icons"/> - <menu_item_call label="Opuść zaznaczone grupy" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/pl/menu_people_nearby.xml deleted file mode 100644 index 0111e0fd512..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Zobacz profil" name="View Profile"/> - <menu_item_call label="Dodaj do znajomych" name="Add Friend"/> - <menu_item_call label="UsuÅ„ z listy znajomych" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="ZadzwoÅ„" name="Call"/> - <menu_item_call label="Mapa" name="Map"/> - <menu_item_call label="UdostÄ™pnij" name="Share"/> - <menu_item_call label="ZapÅ‚ać" name="Pay"/> - <menu_item_check label="Zablokuj/Odblokuj" name="Block/Unblock"/> - <menu_item_call label="Teleportuj" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/pl/menu_people_nearby_multiselect.xml deleted file mode 100644 index dcfc48fb606..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Dodaj znajomych" name="Add Friends"/> - <menu_item_call label="UsuÅ„ znajomych" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="ZadzwoÅ„" name="Call"/> - <menu_item_call label="UdostÄ™pnij" name="Share"/> - <menu_item_call label="ZapÅ‚ać" name="Pay"/> - <menu_item_call label="Teleportuj" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/pl/menu_people_nearby_view_sort.xml deleted file mode 100644 index 8ec3820f84e..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug ostatnich rozmówców" name="sort_by_recent_speakers"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug nazwy" name="sort_name"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug odlegÅ‚oÅ›ci" name="sort_distance"/> - <menu_item_check label="WyÅ›wietlaj ikonki" name="view_icons"/> - <menu_item_call label="Pokaż zablokowanych Rezydentów & obiekty" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/pl/menu_people_recent_view_sort.xml deleted file mode 100644 index b474a556bda..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug daty" name="sort_most"/> - <menu_item_check label="PorzÄ…dkuj wedÅ‚ug nazwy" name="sort_name"/> - <menu_item_check label="WyÅ›wietlaj ikonki" name="view_icons"/> - <menu_item_call label="Pokaż zablokowanych Rezydentów & obiekty" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_picks.xml b/indra/newview/skins/minimal/xui/pl/menu_picks.xml deleted file mode 100644 index 6f6e4b7fa80..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Info" name="pick_info"/> - <menu_item_call label="Edytuj" name="pick_edit"/> - <menu_item_call label="Teleportuj" name="pick_teleport"/> - <menu_item_call label="Mapa" name="pick_map"/> - <menu_item_call label="UsuÅ„" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/pl/menu_picks_plus.xml deleted file mode 100644 index e9c00f51a97..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Stwórz" name="create_pick"/> - <menu_item_call label="Nowa reklama" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_place.xml b/indra/newview/skins/minimal/xui/pl/menu_place.xml deleted file mode 100644 index c3b72d6abbd..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Zapisz landmark" name="landmark"/> - <menu_item_call label="Utwórz" name="pick"/> - <menu_item_call label="Kup przepustkÄ™" name="pass"/> - <menu_item_call label="Edytuj" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/pl/menu_place_add_button.xml deleted file mode 100644 index 3d0c1c87fb1..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Dodaj folder" name="add_folder"/> - <menu_item_call label="Dodaj do landmarków" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/pl/menu_places_gear_folder.xml deleted file mode 100644 index d1f283b7aa3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_places_gear_folder.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_folder_gear"> - <menu_item_call label="Dodaj do landmarków" name="add_landmark"/> - <menu_item_call label="Dodaj folder" name="add_folder"/> - <menu_item_call label="Przywróć obiekt" name="restore_item"/> - <menu_item_call label="Wytnij" name="cut"/> - <menu_item_call label="Kopiuj" name="copy_folder"/> - <menu_item_call label="Wklej" name="paste"/> - <menu_item_call label="ZmieÅ„ nazwÄ™" name="rename"/> - <menu_item_call label="UsuÅ„" name="delete"/> - <menu_item_call label="RozwiÅ„" name="expand"/> - <menu_item_call label="Schowaj" name="collapse"/> - <menu_item_call label="RozwiÅ„ wszystkie foldery" name="expand_all"/> - <menu_item_call label="Schowaj wszystkie foldery" name="collapse_all"/> - <menu_item_check label="Sortuj wedÅ‚ug daty" name="sort_by_date"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/pl/menu_places_gear_landmark.xml deleted file mode 100644 index 0139d3a9879..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_places_gear_landmark.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_ladmark_gear"> - <menu_item_call label="Teleportuj" name="teleport"/> - <menu_item_call label="WiÄ™cej informacji" name="more_info"/> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Dodaj do landmarków" name="add_landmark"/> - <menu_item_call label="Dodaj folder" name="add_folder"/> - <menu_item_call label="Przywróć obiekt" name="restore_item"/> - <menu_item_call label="Wytnij" name="cut"/> - <menu_item_call label="Kopiuj landmark" name="copy_landmark"/> - <menu_item_call label="Kopiuj SLurl" name="copy_slurl"/> - <menu_item_call label="Wklej" name="paste"/> - <menu_item_call label="ZmieÅ„ nazwÄ™" name="rename"/> - <menu_item_call label="UsuÅ„" name="delete"/> - <menu_item_call label="RozwiÅ„ wszystkie foldery" name="expand_all"/> - <menu_item_call label="Schowaj wszystkie foldery" name="collapse_all"/> - <menu_item_check label="Sortuj wedÅ‚ug daty" name="sort_by_date"/> - <menu_item_call label="Stwórz Ulubione" name="create_pick"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/pl/menu_profile_overflow.xml deleted file mode 100644 index ef836c8ecfe..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Mapa" name="show_on_map"/> - <menu_item_call label="ZapÅ‚ać" name="pay"/> - <menu_item_call label="UdostÄ™pnij" name="share"/> - <menu_item_call label="Zablokuj" name="block"/> - <menu_item_call label="Odblokuj" name="unblock"/> - <menu_item_call label="Wyrzuć" name="kick"/> - <menu_item_call label="Unieruchom" name="freeze"/> - <menu_item_call label="Uruchom" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/pl/menu_save_outfit.xml deleted file mode 100644 index 4bc65eca38f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Zapisz" name="save_outfit"/> - <menu_item_call label="Zapisz jako" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/pl/menu_script_chiclet.xml deleted file mode 100644 index 256500a402a..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Zamknij" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_slurl.xml b/indra/newview/skins/minimal/xui/pl/menu_slurl.xml deleted file mode 100644 index 862f538aa77..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="O miejscu" name="about_url"/> - <menu_item_call label="Teleportuj do miejsca" name="teleport_to_url"/> - <menu_item_call label="Mapa" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_teleport_history_gear.xml deleted file mode 100644 index 0e58592d46a..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="RozwiÅ„ wszystkie foldery" name="Expand all folders"/> - <menu_item_call label="Schowaj wszystkie foldery" name="Collapse all folders"/> - <menu_item_call label="Wyczyść historiÄ™ teleportacji" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/pl/menu_teleport_history_item.xml deleted file mode 100644 index cd36c116b06..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teleportuj" name="Teleport"/> - <menu_item_call label="WiÄ™cej szczegółów" name="More Information"/> - <menu_item_call label="Kopiuj do schowka" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/pl/menu_teleport_history_tab.xml deleted file mode 100644 index b12df08d6ae..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Otwórz" name="TabOpen"/> - <menu_item_call label="Zamknij" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_text_editor.xml b/indra/newview/skins/minimal/xui/pl/menu_text_editor.xml deleted file mode 100644 index 812f87bc1a3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Wytnij" name="Cut"/> - <menu_item_call label="Kopiuj" name="Copy"/> - <menu_item_call label="Wklej" name="Paste"/> - <menu_item_call label="UsuÅ„" name="Delete"/> - <menu_item_call label="Zaznacz wszystko" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/pl/menu_topinfobar.xml deleted file mode 100644 index 53536c8f1cf..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Pokaż współprzÄ™dne" name="Show Coordinates"/> - <menu_item_check label="Pokaż O PosiadÅ‚oÅ›ci" name="Show Parcel Properties"/> - <menu_item_call label="Landmark" name="Landmark"/> - <menu_item_call label="Kopiuj" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_agent.xml b/indra/newview/skins/minimal/xui/pl/menu_url_agent.xml deleted file mode 100644 index db729be725f..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż profil Rezydenta" name="show_agent"/> - <menu_item_call label="Kopiuj nazwÄ™ do schowka" name="url_copy_label"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_group.xml b/indra/newview/skins/minimal/xui/pl/menu_url_group.xml deleted file mode 100644 index f340b3296aa..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż szczegóły o grupie" name="show_group"/> - <menu_item_call label="Kopiuj grupÄ™ do schowka" name="url_copy_label"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_http.xml b/indra/newview/skins/minimal/xui/pl/menu_url_http.xml deleted file mode 100644 index e73f7b67456..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Otwórz przeglÄ…darkÄ™ internetowÄ…" name="url_open"/> - <menu_item_call label="Otwórz w wewnÄ™trzenej przeglÄ…darce" name="url_open_internal"/> - <menu_item_call label="Otwórz w zewnÄ™trznej przeglÄ…darce" name="url_open_external"/> - <menu_item_call label="Kopiuj URL do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/pl/menu_url_inventory.xml deleted file mode 100644 index e36fa0dd2ba..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż obiekt w szafie" name="show_item"/> - <menu_item_call label="Kopiuj nazwÄ™ do schowka" name="url_copy_label"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_map.xml b/indra/newview/skins/minimal/xui/pl/menu_url_map.xml deleted file mode 100644 index 179ab1f6768..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Teleportuj do miejsca" name="teleport_to_location"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/pl/menu_url_objectim.xml deleted file mode 100644 index 7576208a9ef..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż szczegóły o obiekcie" name="show_object"/> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Teleportuj to miejsca obiektu" name="teleport_to_object"/> - <menu_item_call label="Kopiuj nazwÄ™ obiektu do schowka" name="url_copy_label"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/pl/menu_url_parcel.xml deleted file mode 100644 index 1b8dd621372..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż szczegóły o miejscu" name="show_parcel"/> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/pl/menu_url_slapp.xml deleted file mode 100644 index eb83245c48c..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Uruchom tÄ™ komendÄ™" name="run_slapp"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/pl/menu_url_slurl.xml deleted file mode 100644 index 4d4a5b4c4d9..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Pokaż szczegóły o miejscu" name="show_place"/> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Teleportuj do miejsca" name="teleport_to_location"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/pl/menu_url_teleport.xml deleted file mode 100644 index e2255469300..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Teleportuj do tego miejsca" name="teleport"/> - <menu_item_call label="Pokaż na mapie" name="show_on_map"/> - <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_viewer.xml b/indra/newview/skins/minimal/xui/pl/menu_viewer.xml deleted file mode 100644 index 0196dc86130..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Pomoc" name="Help"> - <menu_item_call label="[SECOND_LIFE] Portal Pomocy" name="Second Life Help"/> - </menu> - <menu label="Zaawansowane" name="Advanced"> - <menu label="Skróty" name="Shortcuts"> - <menu_item_check label="Zacznij latać" name="Fly"/> - <menu_item_call label="Zamknij okno" name="Close Window"/> - <menu_item_call label="Zamknij wszystkie okna" name="Close All Windows"/> - <menu_item_call label="Reset widoku" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/pl/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/pl/menu_wearable_list_item.xml deleted file mode 100644 index bf85246be84..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="ZastÄ…p" name="wear_replace"/> - <menu_item_call label="Załóż" name="wear_wear"/> - <menu_item_call label="Dodaj" name="wear_add"/> - <menu_item_call label="Zdejmij/OdÅ‚Ä…cz" name="take_off_or_detach"/> - <menu_item_call label="OdÅ‚Ä…cz" name="detach"/> - <context_menu label="DoÅ‚Ä…cz do" name="wearable_attach_to"/> - <context_menu label="DoÅ‚Ä…cz do zaÅ‚Ä…czników HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Zdejmij" name="take_off"/> - <menu_item_call label="Edytuj" name="edit"/> - <menu_item_call label="Profil obiektu" name="object_profile"/> - <menu_item_call label="Pokaż oryginalny" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/pl/menu_wearing_gear.xml deleted file mode 100644 index 47cafdbd999..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Edytuj strój" name="edit"/> - <menu_item_call label="Zdejmij" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pl/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/pl/menu_wearing_tab.xml deleted file mode 100644 index 75314370432..00000000000 --- a/indra/newview/skins/minimal/xui/pl/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Zdejmij" name="take_off"/> - <menu_item_call label="OdÅ‚Ä…cz" name="detach"/> - <menu_item_call label="Edytuj strój" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pl/notifications.xml b/indra/newview/skins/minimal/xui/pl/notifications.xml deleted file mode 100644 index 6475a374653..00000000000 --- a/indra/newview/skins/minimal/xui/pl/notifications.xml +++ /dev/null @@ -1,2907 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <global name="skipnexttime"> - Nie pokazuj tej opcji nastÄ™pnym razem - </global> - <global name="alwayschoose"> - Pozwalaj na wybór tej opcji - </global> - <global name="implicitclosebutton"> - Zamknij - </global> - <template name="okbutton"> - <form> - <button name="OK_okbutton" text="$yestext"/> - </form> - </template> - <template name="okignore"> - <form> - <button name="OK_okignore" text="$yestext"/> - </form> - </template> - <template name="okcancelbuttons"> - <form> - <button name="OK_okcancelbuttons" text="$yestext"/> - <button name="Cancel_okcancelbuttons" text="$notext"/> - </form> - </template> - <template name="okcancelignore"> - <form> - <button name="OK_okcancelignore" text="$yestext"/> - <button name="Cancel_okcancelignore" text="$canceltext"/> - </form> - </template> - <template name="okhelpbuttons"> - <form> - <button name="OK_okhelpbuttons" text="$yestext"/> - <button name="Help" text="$helptext"/> - </form> - </template> - <template name="yesnocancelbuttons"> - <form> - <button name="Yes" text="$yestext"/> - <button name="No" text="$notext"/> - <button name="Cancel_yesnocancelbuttons" text="$canceltext"/> - </form> - </template> - <notification functor="GenericAcknowledge" label="Nieznany rodzaj komunikatu" name="MissingAlert"> - Twoja wersja klienta [APP_NAME] nie może wyÅ›wietlić odebranej wiadomoÅ›ci. Upewnij siÄ™, że posiadasz najnowszÄ… wersjÄ™ klienta. - -Szczegóły bÅ‚Ä™du: BÅ‚Ä…d o nazwie '[_NAME]' nie zostaÅ‚ odnaleziony w pliku notifications.xml. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FloaterNotFound"> - BÅ‚Ä…d: nie można znaleźć nastÄ™pujÄ…cych elementów: - -[CONTROLS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TutorialNotFound"> - Brak samouczka na ten temat - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GenericAlert"> - [MESSAGE] - </notification> - <notification name="GenericAlertYesCancel"> - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Tak"/> - </notification> - <notification name="BadInstallation"> - Podczas aktualizacji [APP_NAME] wystÄ…piÅ‚ bÅ‚Ä…d. ProszÄ™ odwiedzić stronÄ™ [http://get.secondlife.com pobierz najnowsza wersjÄ™] aby Å›ciÄ…gnąć ostatniÄ… wersjÄ™ klienta. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LoginFailedNoNetwork"> - Nie można poÅ‚Ä…czyć z [SECOND_LIFE_GRID]. - '[DIAGNOSTIC]' -Upewnij siÄ™, że Twoje poÅ‚Ä…czenie z internetem dziaÅ‚a. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MessageTemplateNotFound"> - Wzór komunikatu dla [PATH] nie zostaÅ‚ odnaleziony. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="WearableSave"> - Zapisać zmiany dotyczÄ…ce ubrania/części ciaÅ‚a? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie Zapisuj" yestext="Zapisz"/> - </notification> - <notification name="CompileQueueSaveText"> - W trakcie Å‚adwania tekstu dla skryptu pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj ponownie za kilka minut. - </notification> - <notification name="CompileQueueSaveBytecode"> - W trakcie Å‚adowania skompilowanego skryptu pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj ponownie za kilka minut. - </notification> - <notification name="WriteAnimationFail"> - Problem w zapisywaniu danych animacji. Spróbuj ponownie za kilka minut. - </notification> - <notification name="UploadAuctionSnapshotFail"> - W trakcie Å‚adwania obrazu aukcji pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON]. - </notification> - <notification name="UnableToViewContentsMoreThanOne"> - Nie można przeglÄ…dać zawartoÅ›ci wiÄ™cej niż jednego obiektu naraz. -Wybierz pojedynczy obiekt i spróbuj jeszcze raz. - </notification> - <notification name="SaveClothingBodyChanges"> - Zapisać wszystkie zmiany dotyczÄ…ce ubrania/czeÅ›ci ciaÅ‚a? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie zapisuj" yestext="Zapisz"/> - </notification> - <notification name="FriendsAndGroupsOnly"> - Osoby spoza listy znajomych, których rozmowy gÅ‚osowe i IM sÄ… ignorowane, nie wiedzÄ… o tym. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FavoritesOnLogin"> - PamiÄ™taj: kiedy wyÅ‚Ä…czysz tÄ… opcjÄ™, każdy kto używa tego komputera, może zobaczyć TwojÄ… listÄ™ ulubionych miejsc. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GrantModifyRights"> - Udzielenie praw modyfikacji innemu Rezydentowi umożliwia modyfikacjÄ™, usuwanie lub wziÄ™cie JAKIEGOKOLWIEK z Twoich obiektów. Używaj tej opcji z rozwagÄ…! -Czy chcesz udzielić prawa do modyfikacji [NAME]? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="GrantModifyRightsMultiple"> - Udzielenie praw modyfikacji innym Rezydentom umożliwia im modyfikacjÄ™, usuwanie lub wziÄ™cie JAKIEGOKOLWIEK z Twoich obiektów. Używaj tej opcji z rozwagÄ…! -Czy chcesz dać prawa modyfikacji wybranym osobom? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="RevokeModifyRights"> - Czy chcesz odebrać prawa do modyfikacji [NAME]? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="RevokeModifyRightsMultiple"> - Czy chcesz odebrać prawa modyfikacji wybranym Rezydentom? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="UnableToCreateGroup"> - ZaÅ‚ożenie grupy nie jest możliwe. -[MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PanelGroupApply"> - [NEEDS_APPLY_MESSAGE] -[WANT_APPLY_MESSAGE] - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Ignoruj zmiany" yestext="Zastosuj zmiany"/> - </notification> - <notification name="MustSpecifyGroupNoticeSubject"> - Aby wysÅ‚ać ogÅ‚oszenie do grupy musisz nadać mu tytuÅ‚. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AddGroupOwnerWarning"> - Dodajesz czÅ‚onków do funkcji [ROLE_NAME]. -Ta funkcja nie może być odebrana. -CzÅ‚onkowie muszÄ… sami zrezygnować z peÅ‚nienia tej funkcji. -Chcesz kontynuować? - <usetemplate ignoretext="Przed dodaniem nowego wÅ‚aÅ›ciciela do grupy, proszÄ™ potwierdzić swojÄ… decyzjÄ™." name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="AssignDangerousActionWarning"> - Dodajesz przywilej [ACTION_NAME] do fukcji [ROLE_NAME]. - -*UWAGA* -CzÅ‚onek w funkcji z tym przywilejem może przypisać siebie i innych czÅ‚onków nie bÄ™dÄ…cych wÅ‚aÅ›cicielami do funkcji dajÄ…cych wiÄ™cej przywilejów niż posiadane obecnie potencjalnie dajÄ…ce możliwoÅ›ci zbliżone do możliwoÅ›ci wÅ‚aÅ›ciciela. -Udzielaj tego przywileju z rozwagÄ…." - -Dodać ten przywilej do funkcji [ROLE_NAME]? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="AssignDangerousAbilityWarning"> - Dodajesz przywilej [ACTION_NAME] do fukcji [ROLE_NAME] - -*UWAGA* -CzÅ‚onek w funkcji z tym przywilejem może przypisać sobie i innychm czÅ‚onkom nie bÄ™dÄ…cym wÅ‚aÅ›cicielami wszystkie przywileje potencjalnie dajÄ…ce możliwoÅ›ci zbliżone do możliwoÅ›ci wÅ‚aÅ›ciciela. -Udzielaj tego przywileju z rozwagÄ…. - -Dodać ten przywilej do funkcji [ROLE_NAME]? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="AttachmentDrop"> - WybraÅ‚eÅ› opcjÄ™ opuszczenia swojego zaÅ‚Ä…cznika. - Czy chcesz kontynuować? - <usetemplate ignoretext="Potwierdź przed zdjÄ™ciem zaÅ‚Ä…cznika." name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="JoinGroupCanAfford"> - DoÅ‚Ä…czenie do tej grupy kosztuje [COST]L$. -Chcesz kontynuować? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="DoÅ‚Ä…cz"/> - </notification> - <notification name="JoinGroupNoCost"> - DoÅ‚Ä…czasz do grupy [NAME]. -Czy chcesz kontynuować? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Akceptuj"/> - </notification> - <notification name="JoinGroupCannotAfford"> - CzÅ‚onkostwo w tej grupie kosztuje [COST]L$ -Masz za maÅ‚o L$ żeby zostać czÅ‚onkiem. - </notification> - <notification name="CreateGroupCost"> - Stworzenie tej grupy kosztuje 100L$. -W grupie powinien być wiÄ™cej niż jeden czÅ‚onek, albo zostanie na zawsze skasowana. -ZaproÅ› proszÄ™ czÅ‚onków w ciÄ…gu 48 godzin. - <usetemplate canceltext="Anuluj" name="okcancelbuttons" notext="Anuluj" yestext="Stwórz grupÄ™ za 100L$"/> - </notification> - <notification name="LandBuyPass"> - Za [COST]L$ możesz odwiedzić tÄ… posiadÅ‚ość ('[PARCEL_NAME]') na [TIME] godzin. Chcesz kupić przepustkÄ™? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="SalePriceRestriction"> - Cena sprzedaży musi być wyższa niż 0L$ jeżeli sprzedajesz komukolwiek. -Musisz wybrać kupca jeżeli chcesz sprzedać za 0L$. - </notification> - <notification name="ConfirmLandSaleChange"> - PosiadÅ‚ość o powierzchni [LAND_SIZE] m zostaje wystawiona na sprzedaż. -Cena wynosi [SALE_PRICE]L$ i sprzedaż bÄ™dzie autoryzowana dla [NAME]. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmLandSaleToAnyoneChange"> - UWAGA: WybierajÄ…c opcjÄ™ "Sprzedaj Każdemu" udostÄ™pniasz swojÄ… posiadÅ‚ość do sprzedaży dla jakiegokolwiek Rezydenta [SECOND_LIFE] , nawet osób nieobecnych w tym regionie. - -PosiadÅ‚ość o powierzchni [LAND_SIZE] m² zostaje wystawiona na sprzedaż. -Cena wynosi [SALE_PRICE]L$ i sprzedaż bÄ™dzie autoryzowana dla [NAME]. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsDeededToGroup"> - Czy na pewno chcesz zwrócić wszystkie obiekty udostÄ™pnione grupie [NAME] na tej posiadÅ‚oÅ›ci do szafy ich poprzednich wÅ‚aÅ›cicieli? - -*UWAGA* Wybrana opcja spowoduje usuniÄ™cie wszystkich obiektów -udostÄ™pnionych grupie, które nie majÄ… praw transferu! - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedByUser"> - Czy na pewno chcesz zwrócić wszystkie obiekty należące do Rezydenta [NAME] znajdujÄ…ce siÄ™ na tej posiadÅ‚oÅ›ci do szafy wÅ‚aÅ›ciciela? - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsOwnedBySelf"> - Czy na pewno chcesz zwrócić wszystkie Twoje obiekty znajdujÄ…ce siÄ™ na tej posiadÅ‚oÅ›ci do swojej szafy? - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedBySelf"> - Czy na pewno chcesz zwrócić wszystkie obiekty, których nie jesteÅ› wÅ‚aÅ›cicielem znajdujÄ…ce siÄ™ na tej posiadÅ‚oÅ›ci do szaf wÅ‚aÅ›cicieli? Wszystkie obiekty udostÄ™pnione grupie z prawem transferu, zostanÄ… zwrócone poprzednim wÅ‚aÅ›cicielom. - -*UWAGA* Wybrana opcja spowoduje usuniÄ™cie wszystkich obiektów udostÄ™pnionych grupie, które nie majÄ… praw transferu! - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByUser"> - Czy na pewno chcesz zwrócić wszystkie obiekty, które nie należą do [NAME] znajdujÄ…ce siÄ™ na tej posiadÅ‚oÅ›ci do szaf wÅ‚aÅ›cicieli? Wszystkie obiekty udostÄ™pnione grupie z prawem transferu, zostanÄ… zwrócone poprzednim wÅ‚aÅ›cicielom. - -*UWAGA* Wybrana opcja spowoduje usuniÄ™cie wszystkich obiektów udostÄ™pnionych grupie, które nie majÄ… praw transferu! - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnAllTopObjects"> - Czy na pewno chcesz zwrócić wszystkie wymienione obiekty znajdujÄ…ce siÄ™ na tej posiadÅ‚oÅ›ci do szaf ich wÅ‚aÅ›cicieli? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="DisableAllTopObjects"> - Czy na pewno chcesz deaktywować wszystkie obiekty w tym Regionie? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnObjectsNotOwnedByGroup"> - Zwrócić obiekty z tej posiadÅ‚oÅ›ci, które nie sÄ… udosÄ™pnione grupie [NAME] do ich wÅ‚aÅ›cicieli? - -Obiekty: [N] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="UnableToDisableOutsideScripts"> - Nie można deaktywować skryptów. -Ten region pozwala na uszkodzenia. -Skrypty muszÄ… pozostać aktywne dla prawidÅ‚owego dziaÅ‚ania broni. - </notification> - <notification name="MultipleFacesSelected"> - Obecnie zaznaczono wiele powierzchni. -JeÅ›li dziaÅ‚anie bÄ™dzie kontynuowane, oddzielne media bÄ™dÄ… ustawione na wielu powierzchniach obiektu. -W celu umieszczenia mediów tylko na jednej powierzchni skorzystaj z Wybierz powierzchniÄ™ i kliknij na wybranej powierzchni obiektu oraz kliknij Dodaj. - <usetemplate ignoretext="Media zostanÄ… ustawione na wielu zaznaczonych powierzchniach" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="MustBeInParcel"> - Musisz znajdować siÄ™ wewnÄ…trz posiadÅ‚oÅ›ci żeby wybrać punkt lÄ…dowania. - </notification> - <notification name="PromptRecipientEmail"> - ProszÄ™ wpisać adres emailowy odbiorcy. - </notification> - <notification name="PromptSelfEmail"> - ProszÄ™ wpisać swój adres emailowy. - </notification> - <notification name="PromptMissingSubjMsg"> - WysÅ‚ać widokówkÄ™ z domyÅ›lnym tematem i wiadomoÅ›ciÄ…? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ErrorProcessingSnapshot"> - BÅ‚Ä…d w trakcie przetwarzania danych zdjÄ™cia. - </notification> - <notification name="ErrorEncodingSnapshot"> - BÅ‚Ä…d w kodowaniu zdjÄ™cia. - </notification> - <notification name="ErrorUploadingPostcard"> - W trakcie Å‚adowania zdjÄ™cia pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON] - </notification> - <notification name="ErrorUploadingReportScreenshot"> - W trakcie Å‚adowania zdjÄ™cia ekranu do raportu pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON] - </notification> - <notification name="MustAgreeToLogIn"> - Musisz zaakceptować Warunki Umowy (Terms of Service) by kontynuować logowanie siÄ™ do [SECOND_LIFE]. - </notification> - <notification name="CouldNotPutOnOutfit"> - ZaÅ‚ożenie stroju nie powiodÅ‚o siÄ™. -Folder stroju nie zawiera żadnego ubrania, części ciaÅ‚a ani zaÅ‚Ä…czników. - </notification> - <notification name="CannotWearTrash"> - Nie możesz zaÅ‚ożyć ubrania, które znajduje siÄ™ w koszu. - </notification> - <notification name="MaxAttachmentsOnOutfit"> - Nie można doÅ‚Ä…czyć obiektu. -Limit [MAX_ATTACHMENTS] zaÅ‚Ä…czników zostaÅ‚ przekroczony. ProszÄ™ najpierw odÅ‚Ä…czyć inny obiekt. - </notification> - <notification name="CannotWearInfoNotComplete"> - Nie możesz zaÅ‚ożyć tego artkuÅ‚u ponieważ nie zaÅ‚adowaÅ‚ siÄ™ poprawnie. Spróbuj ponownie za kilka minut. - </notification> - <notification name="MustHaveAccountToLogIn"> - Oops! Brakuje czegoÅ›. -Należy wprowadzić nazwÄ™ użytkownika. - -Potrzebujesz konta aby siÄ™ zalogować do [SECOND_LIFE]. Czy chcesz utworzyć je teraz? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="InvalidCredentialFormat"> - Należy wprowadzić nazwÄ™ użytkownika lub imiÄ™ oraz nazwisko Twojego awatara w pole nazwy użytkownika a nastÄ™pnie ponownie siÄ™ zalogować. - </notification> - <notification name="DeleteClassified"> - Usunąć reklamÄ™ '[NAME]'? -PamiÄ™taj! Nie ma rekompensaty za poniesione koszta. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="DeleteMedia"> - Wybrano usuniÄ™cie mediów zwiÄ…zanych z tÄ… powierzchniÄ…. -Czy na pewno chcesz kontynuować? - <usetemplate ignoretext="Potwierdź przed usuniÄ™ciem mediów z obiektu" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="ClassifiedSave"> - Zapisać zmiany w reklamie [NAME]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie Zapisuj" yestext="Zapisz"/> - </notification> - <notification name="ClassifiedInsufficientFunds"> - Nie posiadasz wystarczajÄ…cych Å›rodków aby dodać reklamÄ™. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeleteAvatarPick"> - UsuÅ„ zdjÄ™cie <nolink>[PICK]</nolink>? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="DeleteOutfits"> - Skasować wybrane stroje? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="PromptGoToEventsPage"> - Odwiedzić internetowÄ… stronÄ™ Imprez [SECOND_LIFE]? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="SelectProposalToView"> - Wybierz propozycjÄ™, którÄ… chcesz zobaczyć. - </notification> - <notification name="SelectHistoryItemToView"> - Wybierz obiekt z historii, który chcesz zobaczyć. - </notification> - <notification name="CacheWillClear"> - Bufor danych zostanie wyczyszczony po restarcie aplikacji [APP_NAME]. - </notification> - <notification name="CacheWillBeMoved"> - Bufor danych zostanie przeniesiony po restarcie aplikacji [APP_NAME]. -PamiÄ™taj: Opcja ta wyczyszcza bufor danych. - </notification> - <notification name="ChangeConnectionPort"> - Ustawienia portu zostajÄ… zaktualizowane po restarcie aplikacji [APP_NAME]. - </notification> - <notification name="ChangeSkin"> - Nowa skórka zostanie wczytana po restarcie aplikacji [APP_NAME]. - </notification> - <notification name="ChangeLanguage"> - Zmiana jÄ™zyka zadziaÅ‚a po restarcie [APP_NAME]. - </notification> - <notification name="GoToAuctionPage"> - Odwiedzić stronÄ™ internetowÄ… [SECOND_LIFE] żeby zobaczyć szczgóły aukcji lub zrobić ofertÄ™? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="SaveChanges"> - Zapisać zmiany? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie zapisuj" yestext="Zapisz"/> - </notification> - <notification name="GestureSaveFailedTooManySteps"> - Nie można zapisać gesturki. -Ta gesturka ma zbyt wiele etapów. -UsuÅ„ kilka etapów i zapisz jeszcze raz. - </notification> - <notification name="GestureSaveFailedTryAgain"> - Zapis gesturki nie powiódÅ‚ siÄ™. Spróbuj jeszcze raz za kilka minut. - </notification> - <notification name="GestureSaveFailedObjectNotFound"> - Nie można zapisać gesturki ponieważ obiekt lub szafa powiÄ…zanego obiektu nie zostaÅ‚ znaleziony. -Obiekt może znajdować siÄ™ zbyt daleko albo zostaÅ‚ usuniÄ™ty. - </notification> - <notification name="GestureSaveFailedReason"> - Nie można zapisać gesturki z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj zapisać jeszcze raz później. - </notification> - <notification name="SaveNotecardFailObjectNotFound"> - Nie można zapisać notki ponieważ obiekt lub szafa powiÄ…zanego obiektu nie zostaÅ‚ znaleziony. -Obiekt może znajdować siÄ™ zbyt daleko albo zostaÅ‚ usuniÄ™ty. - </notification> - <notification name="SaveNotecardFailReason"> - Nie można zapisać notki z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj zapisać jeszcze raz później. - </notification> - <notification name="ScriptCannotUndo"> - Nie można cofnąć wszystkich zmian w Twojej wersji skryptu. -Czy chcesz zaÅ‚adować ostatniÄ… wersjÄ™ zapisanÄ… na serwerze? -(*UWAGA* Ta operacja jest nieodwracalna.) - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="SaveScriptFailReason"> - Nie można zapisać skryptu z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj zapisać jeszcze raz później. - </notification> - <notification name="SaveScriptFailObjectNotFound"> - Nie można zapisać skryptu ponieważ obiekt w którym siÄ™ zawiera nie zostaÅ‚ znaleziony. -Obiekt może znajdować siÄ™ zbyt daleko albo zostaÅ‚ usuniÄ™ty. - </notification> - <notification name="SaveBytecodeFailReason"> - Nie można zapisać skompilowanego skryptu z nastÄ™pujÄ…cego powodu: [REASON]. Spróbuj zapisać jeszcze raz póżniej. - </notification> - <notification name="StartRegionEmpty"> - Oops, Twoje miejsce startu nie zostaÅ‚o okreÅ›lone. -Wpisz proszÄ™ nazwÄ™ regionu w lokalizacjÄ™ startu w polu Lokalizacja Startu lub wybierz Moja ostatnia lokalizacja albo Miejsce Startu. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CouldNotStartStopScript"> - Nie można uruchomić lub zatrzymać skryptu ponieważ obiekt w którym siÄ™ zawiera nie zostaÅ‚ znaleziony. -Obiekt może znajdować siÄ™ zbyt daleko albo zostaÅ‚ usuniÄ™ty. - </notification> - <notification name="CannotDownloadFile"> - Nie można zaÅ‚adować pliku - </notification> - <notification name="CannotWriteFile"> - Nie można zapisać pliku [[FILE]] - </notification> - <notification name="UnsupportedHardware"> - Niestety Twój komputer nie speÅ‚nia minimalnych wymogów sprzÄ™towych dla poprawnego dziaÅ‚ania [APP_NAME]. Możesz odczuwać bardzo niskÄ… wydajność operacyjnÄ…. Niestety portal pomocy, [SUPPORT_SITE] nie posiada informacji na temat poprawnej konfiguracji technicznej Twojego systemu. - -Po wiÄ™cej info, odwiedź stronÄ™ [_URL] . - <url name="url" option="0"> - http://www.secondlife.com/corporate/sysreqs.php - </url> - <usetemplate ignoretext="Dysk twardy mojego komputera nie jest wspomagany" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="UnknownGPU"> - Twój system jest wyposażony w kartÄ™ graficznÄ…, która nie jest rozpoznana przez [APP_NAME]. -Zdarza siÄ™ to czÄ™sto w przypadku nowego sprzÄ™tu, który nie byÅ‚ testowany z [APP_NAME]. Prawdopodobnie wystarczy dostosowanie ustawieÅ„ grafiki aby dziaÅ‚anie byÅ‚o poprawne. -(Ja > WÅ‚aÅ›ciwoÅ›ci > Grafika). - <form name="form"> - <ignore name="ignore" text="Karta graficzna nie zostaÅ‚a zidentyfikowana."/> - </form> - </notification> - <notification name="DisplaySettingsNoShaders"> - [APP_NAME] zawiesiÅ‚ siÄ™ podczas inicjalizacji sterowników graficznych. -Jakość grafiki zostaÅ‚a zmniejszona - może to pomóc. -Pewne funkcje graficzne zostaÅ‚y wyÅ‚Ä…czone. Zalecamy aktualizcje sterowników graficznych. -Możesz podnieść jakość grafiki pod Ustawienia > Grafika. - </notification> - <notification name="RegionNoTerraforming"> - Region [REGION] nie pozwala na formowanie powierzchni ziemi. - </notification> - <notification name="CannotCopyWarning"> - Nie masz pozwolenia na kopiowanie nastÄ™pujÄ…cych obiektów: -[ITEMS] -i stracisz je w momencie przekazania. Czy na pewno chcesz oddać te obiekty? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="CannotGiveItem"> - Podarowanie obiektu nie powiodÅ‚o siÄ™. - </notification> - <notification name="TransactionCancelled"> - Transakcja anulowana - </notification> - <notification name="TooManyItems"> - Jednorazowo możesz podarować maksymalnie 42 obiekty z szafy. - </notification> - <notification name="NoItems"> - Nie masz praw do transferu wybranych obiektów. - </notification> - <notification name="CannotCopyCountItems"> - Nie masz praw do skopiowania [COUNT] wybranych obiektów. Obiekty zniknÄ… z Twojej szafy. -Na pewno chcesz oddać te obiekty? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="CannotGiveCategory"> - Nie masz praw do transferu wybranego foldera. - </notification> - <notification name="FreezeAvatar"> - Unieruchomić tego awatara? -Awatar tymczasowo nie bÄ™dzie mógÅ‚ siÄ™ poruszać, nie bÄ™dzie mógÅ‚ używać czatu (IM) i nie bÄ™dzie w stanie odziaÅ‚ywać na Å›wiat. - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Odblokuj" yestext="Unieruchom"/> - </notification> - <notification name="FreezeAvatarFullname"> - Unieruchowmić [AVATAR_NAME]? -Ta osoba tymczasowo nie bÄ™dzie mógÅ‚a siÄ™ poruszać, nie bÄ™dzie mógÅ‚ używać czatu (IM) i nie bÄ™dzie w stanie odziaÅ‚ywać na Å›wiat. - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Odblokuj" yestext="Unieruchom"/> - </notification> - <notification name="EjectAvatarFullname"> - Wyrzucić [AVATAR_NAME] z Twojej posiadÅ‚oÅ›ci? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wyrzuć i zabroÅ„ wstÄ™pu (ban)" yestext="Wyrzuć"/> - </notification> - <notification name="EjectAvatarFromGroup"> - Wyrzuć [AVATAR_NAME] z grupy [GROUP_NAME] - </notification> - <notification name="AcquireErrorTooManyObjects"> - BÅÄ„D OTRZYMYWANIA: Zbyt wiele wybranych obiektów. - </notification> - <notification name="AcquireErrorObjectSpan"> - BÅÄ„D OTRZYMYWANIA: Obiekty przekraczajÄ… granicÄ™ regionów. Przemieść wszystkie otrzymywane obiekty do jednego regionu. - </notification> - <notification name="PromptGoToCurrencyPage"> - [EXTRA] - -Odwiedź stronÄ™ [_URL] po wiÄ™cej informacji na temat zakupu L$? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="UnableToLinkObjects"> - Nie można poÅ‚Ä…czyć [COUNT] obiektów. -Maksymalnie można poÅ‚Ä…czyć [MAX] obiektów. - </notification> - <notification name="CannotLinkIncompleteSet"> - Możesz Å‚Ä…czyć tylko kompletne zbiory obiektów i musisz wybrać wiÄ™cej niż jeden obiekt. - </notification> - <notification name="CannotLinkModify"> - Nie możesz poÅ‚Ä…czyć obiektów ponieważ nie masz praw modyfikacji dla wszystkich obiektów. - -Upewnij siÄ™, że żaden z obiktów nie jest zablokowany i że wszystkie obiekty należą do Ciebie. - </notification> - <notification name="CannotLinkDifferentOwners"> - Nie możesz poÅ‚Ä…czyć obiektów ponieważ należą one do różnych osób. - -Upewnij sie, że wszystkie wybrane obiekty należą do Ciebie. - </notification> - <notification name="NoFileExtension"> - Niepoprawna koÅ„cówka nazwy pliku: '[FILE]' - -Upewnij siÄ™, że nazwa pliku ma poprawanÄ… koÅ„cówkÄ™. - </notification> - <notification name="InvalidFileExtension"> - Niepoprawna koÅ„cówka nazwy pliku - [EXTENSION] -Oczekiwana - [VALIDS] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotUploadSoundFile"> - Nie można otworzyć zaÅ‚adowanego pliku dźwiÄ™kowego: -[FILE] - </notification> - <notification name="SoundFileNotRIFF"> - Plik nie jest w formacie RIFF WAVE: -[FILE] - </notification> - <notification name="SoundFileNotPCM"> - Plik nie jest w formacie PCM WAVE: -[FILE] - </notification> - <notification name="SoundFileInvalidChannelCount"> - Plik zawiera niewÅ‚aÅ›ciwÄ… liczbÄ™ kanałów (musi być mono albo stereo): -[FILE] - </notification> - <notification name="SoundFileInvalidSampleRate"> - Plik zawiera niewÅ‚aÅ›ciÄ… czÄ™stotliwość (musi być 44.1k): -[FILE] - </notification> - <notification name="SoundFileInvalidWordSize"> - Plik zawiera niewÅ‚aÅ›ciwÄ… szerokość danych (musi być 8 albo 16 bitów): -[FILE] - </notification> - <notification name="SoundFileInvalidHeader"> - Brak bloku 'data' w nagłówku pliku WAV: -[FILE] - </notification> - <notification name="SoundFileInvalidChunkSize"> - NiewÅ‚aÅ›ciwy rozmiar "chunk" w pliku WAV: -[FILE] - </notification> - <notification name="SoundFileInvalidTooLong"> - Plik audio jest zbyt dÅ‚ugi (10 sekund maksimum): -[FILE] - </notification> - <notification name="CannotOpenTemporarySoundFile"> - Nie można otworzyć tymczasowego skompresowango pliku dźwiÄ™kowego w celu zapisu: [FILE] - </notification> - <notification name="UnknownVorbisEncodeFailure"> - Nieznany bÅ‚Ä…d kodowania Vorbis w: [FILE] - </notification> - <notification name="CannotEncodeFile"> - Kodowanie pliku: [FILE] nie powidÅ‚o siÄ™. - </notification> - <notification name="CorruptedProtectedDataStore"> - Nie można wpisać Twojego imienia użytkownika ani hasÅ‚a. To może siÄ™ zdarzyć kiedy zmieniasz ustawienia sieci. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CorruptResourceFile"> - Skorumpowany plik zasobów: [FILE] - </notification> - <notification name="UnknownResourceFileVersion"> - Nieznana wersja pliku zasobów Linden w pliku: [FILE] - </notification> - <notification name="UnableToCreateOutputFile"> - Nie można utworzyć pliku wyjÅ›ciowego: [FILE] - </notification> - <notification name="DoNotSupportBulkAnimationUpload"> - [APP_NAME] obecnie nie wspomaga Å‚adowania grupowego plików animacji. - </notification> - <notification name="CannotUploadReason"> - Åadowanie pliku [FILE] nie powiodÅ‚o siÄ™ z powodu: [REASON] -Spróbuj jeszcze raz póżniej. - </notification> - <notification name="LandmarkCreated"> - Dodano "[LANDMARK_NAME]" do folderu [FOLDER_NAME]. - </notification> - <notification name="LandmarkAlreadyExists"> - Posiadasz już landmark dla tej lokalizacji. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotCreateLandmarkNotOwner"> - Nie możesz zapamiÄ™tać tego miejsca (LM) ponieważ wÅ‚aÅ›ciciel posiadÅ‚oÅ›ci nie pozwala na to. - </notification> - <notification name="CannotRecompileSelectObjectsNoScripts"> - 'Rekompilacja' nie powiodÅ‚a siÄ™. - -Wybierz obiekty zawierajÄ…ce skrypty. - </notification> - <notification name="CannotRecompileSelectObjectsNoPermission"> - 'Rekompilacja' nie powiodÅ‚a siÄ™. - -Wybierz skryptowane obiekty do których masz prawa modyfikacji. - </notification> - <notification name="CannotResetSelectObjectsNoScripts"> - 'Resetowanie' nie powiodÅ‚o siÄ™. - -Wybierz obiekty zawierajÄ…ce skrypty. - </notification> - <notification name="CannotResetSelectObjectsNoPermission"> - 'Resetowanie' nie powiodÅ‚o siÄ™. - -Wybierz skryptowane obiekty do których masz prawa modyfikacji. - </notification> - <notification name="CannotOpenScriptObjectNoMod"> - Nie można otworzyć skryptu bez prawa do modyfikacji obiektu. - </notification> - <notification name="CannotSetRunningSelectObjectsNoScripts"> - 'Uruchomienie' skryptów nie powiodÅ‚o siÄ™. - -Wybierz obiekty zawierajÄ…ce skrypty. - </notification> - <notification name="CannotSetRunningNotSelectObjectsNoScripts"> - 'Zatrzymanie' skryptów nie powiodÅ‚o siÄ™. - -Wybierz obiekty zawierajÄ…ce skrypty. - </notification> - <notification name="NoFrontmostFloater"> - Brak górnego okna do zapisu. - </notification> - <notification name="SeachFilteredOnShortWords"> - Twoje zapytanie wyszukiwania zostÅ‚o zmienione - zbyt krótkie sÅ‚owa zostaÅ‚y usuniÄ™te. - -Nowe zapytanie: [FINALQUERY] - </notification> - <notification name="SeachFilteredOnShortWordsEmpty"> - Użyte terminy wyszukiwania byÅ‚y zbyt krótkie - wyszukiwanie zostaÅ‚o anulowane. - </notification> - <notification name="CouldNotTeleportReason"> - Teleportacja nie powiodÅ‚a siÄ™. -[REASON] - </notification> - <notification name="invalid_tport"> - Niestety, pojawiÅ‚ siÄ™ bÅ‚Ä…d podczas próby teleportacji. Proponujemy wylogowanie siÄ™ i spróbowanie teleportacji ponownie. -Jeżeli nadal otrzymujesz tÄ™ wiadomość proponujemy odwiedzić stronÄ™ [SUPPORT_SITE]. - </notification> - <notification name="invalid_region_handoff"> - Niestety, pojawiÅ‚ siÄ™ bÅ‚Ä…d podczas próby przedostania siÄ™ na drugi region. Proponujemy wylogowanie siÄ™ i spróbowanie przedostania siÄ™ na drugi region ponownie. -Jeżeli nadal otrzymujesz tÄ™ wiadomość proponujemy odwiedzić stronÄ™ [SUPPORT_SITE]. - </notification> - <notification name="blocked_tport"> - Przepraszamy, teleportacja jest chwilowo niedostÄ™pna. Spróbuj jeszcze raz. -JeÅ›li nadal nie możesz siÄ™ teleportować wyloguj siÄ™ i ponownie zaloguj. - </notification> - <notification name="nolandmark_tport"> - Przepraszamy, ale nie możemy znaleźć miejsca docelowego. - </notification> - <notification name="timeout_tport"> - Przepraszamy, ale nie udaÅ‚o siÄ™ przeprowadzić teleportacji. Spróbuj jeszcze raz. - </notification> - <notification name="noaccess_tport"> - Przepraszamy, ale nie masz dostÄ™pu do miejsca docelowego. - </notification> - <notification name="missing_attach_tport"> - Czekamy na Twoje akcesoria. Możesz poczekać kilka minut lub zrobić relog przed nastÄ™pnÄ… próbÄ… teleportacji. - </notification> - <notification name="too_many_uploads_tport"> - Obecnie ten region ma problemy z Å‚adowaniem obiektów w zwiÄ…zku z czym teleportacja bardzo sie opóźnia. -Spróbuj jeszcze raz za kilka minut albo teleportuj siÄ™ do mniej zatÅ‚oczonego miejsca. - </notification> - <notification name="expired_tport"> - Przepraszamy, ale nie udaÅ‚o siÄ™ przeprowadzić teleportacji wystarczajÄ…co szybko. Spróbuj jeszcze raz za kilka minut. - </notification> - <notification name="expired_region_handoff"> - Przepraszamy, ale nie udaÅ‚o siÄ™ przeprowadzić zmiany regionu wystarczajÄ…co szybko. Spróbuj jeszcze raz za kilka minut. - </notification> - <notification name="no_host"> - Nie możemy znaleść miejsca docelowego. To miejsce może być chwilowo nieosiÄ…galne albo przestaÅ‚o istnieć. -Spróbuj jeszcze raz za kilka minut. - </notification> - <notification name="no_inventory_host"> - Szafa chwilowo nie dziaÅ‚a. - </notification> - <notification name="CannotSetLandOwnerNothingSelected"> - Nie można wybrać wÅ‚aÅ›ciciela posiadÅ‚oÅ›ci. -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotSetLandOwnerMultipleRegions"> - Nie można wybrać wÅ‚aÅ›ciciela posiadÅ‚oÅ›ci ponieważ wybrany obszar przekracza granicÄ™ regionów. Wybierz mniejszy obszar i spróbuj jeszcze raz. - </notification> - <notification name="ForceOwnerAuctionWarning"> - Ta posiadÅ‚ość jest wystawiona na aukcjÄ™. Wymuszenie wÅ‚asnoÅ›ci anuluje aukcjÄ™ i potencjalnie może zdenerwować zainteresowanych Rezydentów, jeżeli licytacja już siÄ™ rozpoczęła. -Wymusić wÅ‚asność? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="CannotContentifyNothingSelected"> - Nie można sfinalizować: -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotContentifyNoRegion"> - Nie można sfinalizować: -Region nie znaleziony. - </notification> - <notification name="CannotReleaseLandNothingSelected"> - Nie można porzucić posiadÅ‚oÅ›ci: -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotReleaseLandNoRegion"> - Nie można porzucić posiadÅ‚oÅ›ci: -Region nie znaleziony. - </notification> - <notification name="CannotBuyLandNothingSelected"> - Nie można kupić posiadÅ‚oÅ›ci: -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotBuyLandNoRegion"> - Nie można kupić posiadÅ‚oÅ›ci: -Region nie znaleziony. - </notification> - <notification name="CannotCloseFloaterBuyLand"> - Okno zakupu landu nie może zostać zamkniÄ™te dopóki aplikacja [APP_NAME] nie okreÅ›li ceny dla tej transkacji. - </notification> - <notification name="CannotDeedLandNothingSelected"> - Nie można przekazać posiadÅ‚oÅ›ci: -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotDeedLandNoGroup"> - Nie można przekazać posiadÅ‚oÅ›ci: -Grupa nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotDeedLandNoRegion"> - Brak możliwoÅ›ci przepisania posiadÅ‚oÅ›ci grupie: -Region, gdzie posiadÅ‚ość siÄ™ znajduje nie zostaÅ‚ odnaleziony. - </notification> - <notification name="CannotDeedLandMultipleSelected"> - Nie można przekazać posiadÅ‚oÅ›ci: -Wiele posiadÅ‚oÅ›ci jest wybranych. - -Spróbuj wybrać pojedynczÄ… posiadÅ‚ość. - </notification> - <notification name="CannotDeedLandWaitingForServer"> - Nie można przekazać posiadÅ‚oÅ›ci: -Serwer aktualizuje dane wÅ‚asnoÅ›ci. - -Spróbuj jeszcze raz póżniej. - </notification> - <notification name="CannotDeedLandNoTransfer"> - Nie możesz przekazać posiadÅ‚oÅ›ci: -Region [REGION] nie pozwala na transfer posiadÅ‚oÅ›ci. - </notification> - <notification name="CannotReleaseLandWatingForServer"> - Nie można porzucić posiadÅ‚oÅ›ci: -Serwer aktualizuje dane posiadÅ‚oÅ›ci. - -Spróbuj jeszcze raz póżniej. - </notification> - <notification name="CannotReleaseLandSelected"> - Nie możesz porzucić posiadÅ‚oÅ›ci: -Nie jesteÅ› wÅ‚aÅ›cicielem wszystkich wybranych posiadÅ‚oÅ›ci. - -Wybierz pojedynczÄ… posiadÅ‚ość. - </notification> - <notification name="CannotReleaseLandDontOwn"> - Nie możesz porzucić posiadÅ‚oÅ›ci: -Nie masz praw do porzucenia tej posiadÅ‚oÅ›ci. - -Twoje posiadÅ‚oÅ›ci sÄ… podkreÅ›lone na zielono. - </notification> - <notification name="CannotReleaseLandRegionNotFound"> - Brak możliwoÅ›ci porzucenia posiadÅ‚oÅ›ci: -Region, gdzie posiadÅ‚ość siÄ™ znajduje nie zostaÅ‚ odnaleziony. - </notification> - <notification name="CannotReleaseLandNoTransfer"> - Nie możesz porzucić posiadÅ‚oÅ›ci: -Region [REGION] nie pozwala na transfer posiadÅ‚oÅ›ci. - </notification> - <notification name="CannotReleaseLandPartialSelection"> - Nie można porzucić posiadÅ‚oÅ›ci: -Musisz wybrać caÅ‚Ä… posiadÅ‚ość by jÄ… porzucić. -Wybierz caÅ‚Ä… posiadÅ‚ość albo najpierw jÄ… podziel. - </notification> - <notification name="ReleaseLandWarning"> - Porzucasz posiadÅ‚ość o powierzchni [AREA] m². -Porzucenie tej posiadÅ‚oÅ›ci usunie jÄ… z Twoich wÅ‚asnoÅ›ci. -Nie otrzymasz za to żadnej opÅ‚aty. - -Porzucić posiadÅ‚ość? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNothingSelected"> - Nie można podzielić posiadÅ‚oÅ›ci: - -PosiadÅ‚ość nie zostaÅ‚a wybrana. - </notification> - <notification name="CannotDivideLandPartialSelection"> - Nie można podzielić posiadÅ‚oÅ›ci: - -PosiadÅ‚ość zostaÅ‚a wybrana w caÅ‚oÅ›ci. -Spróbuj wybrać część posiadÅ‚oÅ›ci. - </notification> - <notification name="LandDivideWarning"> - PodziaÅ‚ tej posiadÅ‚oÅ›ci stworzy dwie posiadÅ‚oÅ›ci z których każda bÄ™dzie mogÅ‚a mieć indywidualne ustawienia. -Niektóre ustawienia zostanÄ… zmienione na domyÅ›lne po tej operacji. - -Podzielić posiadÅ‚ość? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="CannotDivideLandNoRegion"> - Brak możliwoÅ›ci podziaÅ‚u posiadÅ‚oÅ›ci: -Region, gdzie posiadÅ‚ość siÄ™ znajduje nie zostaÅ‚ odnaleziony. - </notification> - <notification name="CannotJoinLandNoRegion"> - Brak możliwoÅ›ci zÅ‚Ä…czenia posiadÅ‚oÅ›ci: -Region, gdzie posiadÅ‚ość siÄ™ znajduje nie zostaÅ‚ odnaleziony. - </notification> - <notification name="CannotJoinLandNothingSelected"> - Nie można poÅ‚Ä…czyć posiadÅ‚oÅ›ci: -PosiadÅ‚oÅ›ci nie zostaÅ‚y wybrane. - </notification> - <notification name="CannotJoinLandEntireParcelSelected"> - Nie można poÅ‚Ä…czyć posiadÅ‚oÅ›ci: -Tylko jedna posiadÅ‚ość zostaÅ‚a wybrana. - -Wybierz obaszar usytuowany na obu posiadÅ‚oÅ›ciach. - </notification> - <notification name="CannotJoinLandSelection"> - Nie można poÅ‚Ä…czyć posiadÅ‚oÅ›ci: -Musisz wybrać wiÄ™cej niż jednÄ… posiadÅ‚ość. - -Wybierz obaszar usytuowany na obu posiadÅ‚oÅ›ciach. - </notification> - <notification name="JoinLandWarning"> - PoÅ‚Ä…czenie tego obszaru utworzy jednÄ… wiÄ™kszÄ… posiadÅ‚ość ze wszystkich posiadÅ‚oÅ›ci przecinajÄ…cych wybrany prostokÄ…t. Nazwa i opcje posiadÅ‚oÅ›ci bedÄ… musiaÅ‚y zostać skonfigurowane. - -PoÅ‚Ä…czyć posiadÅ‚oÅ›ci? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmNotecardSave"> - Ta notka musi być zapisana żeby mogÅ‚a być skopiowana lub zobaczona. Zapisać notkÄ™? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmItemCopy"> - Skopiować ten obiekt do Twojej szafy? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Skopiuj"/> - </notification> - <notification name="ResolutionSwitchFail"> - Zmiana rozdzielczoÅ›ci do [RESX] x [RESY] nie powidÅ‚a siÄ™ - </notification> - <notification name="ErrorUndefinedGrasses"> - BÅ‚Ä…d: niezdefiniowane trawy: [SPECIES] - </notification> - <notification name="ErrorUndefinedTrees"> - BÅ‚ad: niezdefiniowane drzewa: [SPECIES] - </notification> - <notification name="CannotSaveWearableOutOfSpace"> - Nie można zapisać '[NAME]' do pliku stroju. Musisz zwolnić trochÄ™ miejsca na Twoim komputerze i zapisać strój jeszcze raz. - </notification> - <notification name="CannotSaveToAssetStore"> - Nie można zapisać [NAME] w centralnym zbiorze danych. -Zazwyczaj jest to tymczasowy problem. Możesz kontynuować modyfikacje i zapisać strój ponownie za kilka minut. - </notification> - <notification name="YouHaveBeenLoggedOut"> - NastÄ…piÅ‚o wylogowanie z [SECOND_LIFE] - [MESSAGE] - <usetemplate name="okcancelbuttons" notext="WyÅ‚Ä…cz" yestext="Kontynuuj"/> - </notification> - <notification name="OnlyOfficerCanBuyLand"> - Nie możesz kupić posiadÅ‚oÅ›ci dla grupy. -Nie masz praw kupowania posiadÅ‚oÅ›ci dla Twojej aktywnej grupy. - </notification> - <notification label="Add Friend" name="AddFriendWithMessage"> - Znajomi mogÄ… pozwalać na odnajdywanie siÄ™ wzajemnie na mapie i na otrzymywanie notyfikacji o logowaniu do [SECOND_LIFE]. - -Zaproponować znajomość [NAME]? - <form name="form"> - <input name="message"> - Chcesz zawrzeć znajomość? - </input> - <button name="Offer" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification label="Zapisz strój" name="SaveOutfitAs"> - Zapisz to co noszÄ™ jako nowy strój: - <form name="form"> - <input name="message"> - [DESC] (nowe) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification label="Zapisz część stroju" name="SaveWearableAs"> - Zapisz obiekt w mojej Szafie jako: - <form name="form"> - <input name="message"> - [DESC] (nowy) - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification label="ZmieÅ„ nazwÄ™ stroju" name="RenameOutfit"> - Nowa nazwa stroju: - <form name="form"> - <input name="new_name"> - [NAME] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="RemoveFromFriends"> - Czy chcesz usunąć [NAME] z listy znajomych? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="RemoveMultipleFromFriends"> - Chcesz usunąć grupÄ™ osób z listy Twoich znajomych? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedPublicObjectsByUser"> - Na pewno chcesz usunąć wszystkie skryptowane obiekty należące do -** [AVATAR_NAME] ** -z posiadÅ‚oÅ›ci innych w tym symulatorze? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="GodDeleteAllScriptedObjectsByUser"> - Na pewno chcesz usunąć wszystkie skryptowane obiekty należące do -** [AVATAR_NAME] ** -ze wszystkich posiadÅ‚oÅ›ci w tym symulatorze? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="GodDeleteAllObjectsByUser"> - Na pewno chcesz usunąć wszystkie obiekty (skryptowane i nie) należące do -** [AVATAR_NAME] ** -ze wszystkich posiadÅ‚oÅ›ci w tym symulatorze? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BlankClassifiedName"> - Musisz nadać tytuÅ‚ Twojej reklamie. - </notification> - <notification name="MinClassifiedPrice"> - Minimalna cena za publikacjÄ™ wynosi [MIN_PRICE]L$. - -Wybierz wyższÄ… cenÄ™. - </notification> - <notification name="ConfirmItemDeleteHasLinks"> - Co najmiej jeden z elementów, które masz posiada poÅ‚Ä…czone z nim obiekty. JeÅ›li go usuniesz poÅ‚Ä…czenia zostanÄ… usuniÄ™te na staÅ‚e. Zaleca siÄ™ usuniÄ™cie poÅ‚Ä…czeÅ„ w pierwszej kolejnoÅ›ci. - -JesteÅ› pewnien/pewna, że chcesz usunąć te elementy? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLock"> - Przynajmnie jeden z wybranych obiektów jest zablokowany. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopy"> - Przynajmniej jeden z wybranych obiektów jest niekopiowalny. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoOwn"> - Przynajmniej jeden z wybranych obiektów nie należy do Ciebie. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopy"> - Przynajmnie jeden z wybranych obiektów jest zablokowany. -Przynajmniej jeden z wybranych obiektów jest niekopiwalny. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoOwn"> - Przynajmnie jeden z wybranych obiektów jest zablokowany. -Przynajmniej jeden z wybranych obiektów nie należy do Ciebie. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteNoCopyNoOwn"> - Przynajmniej jeden z wybranych obiektów jest niekopiowalny. -Przynajmniej jeden z wybranych obiektów nie należy do Ciebie. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectDeleteLockNoCopyNoOwn"> - Przynajmnie jeden z wybranych obiektów jest zablokowany. -Przynajmniej jeden z wybranych obiektów jest niekopiwalny. -Przynajmniej jeden z wybranych obiektów nie należy do Ciebie. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLock"> - Przynajmnie jeden obiekt jest zablokowany. - -Na pewno chcesz usunąć te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeNoOwn"> - Przynajmniej jeden obiekt nie należy do Ciebie. -Jeżeli bÄ™dziesz kontynuować prawa nastÄ™pnego wÅ‚aÅ›ciciela zostanÄ… przypisane co, potencjalnie, może ograniczyć Twoje prawa do modyfikacji lub kopiowania obiektów. - -Na pewno chcesz wziąść te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmObjectTakeLockNoOwn"> - Przynajmnie jeden obiekt jest zablokowany. -Przynajmniej jeden obiekt nie należy do Ciebie. -Jeżeli bÄ™dziesz kontynuować prawa nastÄ™pnego wÅ‚aÅ›ciciela zostanÄ… przypisane co, potencjalnie, może ograniczyć Twoje prawa do modyfikacji lub kopiowania obiektów. - -Na pewno chcesz wziąść te obiekty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="CantBuyLandAcrossMultipleRegions"> - Nie możesz kupić posiadÅ‚oÅ›ci ponieważ wybrany obszar przekracza granicÄ™ regionów. - -Wybierz mniejszy obszar i spróbuj jeszcze raz. - </notification> - <notification name="DeedLandToGroup"> - Po przekazaniu tej posiadÅ‚oÅ›ci grupa bÄ™dzia musiaÅ‚a mieć i utrzymywać wystarczajÄ…cy kredyt na używanie posiadÅ‚oÅ›ci. Cena zakupu posiadÅ‚oÅ›ci nie jest zwracana wÅ‚aÅ›cicielowi. Jeżeli przekazana posiadÅ‚ość zostanie sprzedana, cana sprzedaży zostanie podzielona pomiÄ™dzy czÅ‚onków grupy. - -Przekazać tÄ… posiadÅ‚ość o powierzchni [AREA] m² grupie '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="DeedLandToGroupWithContribution"> - Po przekazaniu tej posiadÅ‚oÅ›ci grupa bÄ™dzia musiaÅ‚a mieć i utrzymywać wystarczajÄ…cy kredyt na używanie posiadÅ‚oÅ›ci. -Przekazanie bÄ™dzie zawierać równoczesne przypisanie posiadÅ‚oÅ›ci do grupy od '[NAME]'. -Cena zakupu posiadÅ‚oÅ›ci nie jest zwracana wÅ‚aÅ›cicielowi. Jeżeli przekazana posiadÅ‚ość zostanie sprzedana, cana sprzedaży zostanie podzielona pomiÄ™dzy czÅ‚onków grupy. - -Przekazać tÄ… posiadÅ‚ość o powierzchni [AREA] m² grupie '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="DisplaySetToSafe"> - Ustawienia grafiki zostaÅ‚y zmienione do bezpiecznego poziomu ponieważ opcja -safe zostaÅ‚a wybrana. - </notification> - <notification name="DisplaySetToRecommended"> - Ustawienia grafiki zostaÅ‚y zmienione do zalecanego poziomu na podstawie konfiguracji Twojego systemu. - </notification> - <notification name="ErrorMessage"> - [ERROR_MESSAGE] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarMovedDesired"> - Miejsce, do którego chcesz siÄ™ teleportować jest chwilowo nieobecne. -ZostaÅ‚eÅ› przeniesiony do regionu sÄ…siedniego. - </notification> - <notification name="AvatarMovedLast"> - Twoje miejsce startu jest obecnie niedostÄ™pne. -ZostaÅ‚eÅ› przeniesiony do sÄ…siedniego regionu. - </notification> - <notification name="AvatarMovedHome"> - Twoje miejsce startu jest obecnie niedostÄ™pne. -ZostaÅ‚eÅ› przeniesiony do pobliskiego regionu. -Możesz ustawić nowe miejsce startu. - </notification> - <notification name="ClothingLoading"> - Twoje ubranie wciąż siÄ™ Å‚aduje. -Możesz normalnie używać [SECOND_LIFE], inni użytkownicy bÄ™dÄ… CiÄ™ widzieli poprawnie. - <form name="form"> - <ignore name="ignore" text="Åadowanie ubraÅ„ nadal trwa"/> - </form> - </notification> - <notification name="FirstRun"> - Instalacja [APP_NAME] zakoÅ„czona. - -Jeżeli używasz [SECOND_LIFE] po raz pierwszy to musisz stworzyć konto żeby móc siÄ™ zalogować. -Czy chcesz przejść na stronÄ™ [http://join.secondlife.com secondlife.com] żeby stworzyć nowe konto? - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Nowe konto..."/> - </notification> - <notification name="LoginPacketNeverReceived"> - Problemy z poÅ‚Ä…czeniem. Problem może być spowodowany Twoim poÅ‚Ä…czeniem z Internetem albo może istnieć po stronie [SECOND_LIFE_GRID]. - -Możesz sprawdzić swoje poÅ‚Ä…czenie z Internetem i spróbować ponownie za kilka minut lub poÅ‚Ä…czyć siÄ™ ze stronÄ… pomocy technicznej tutaj [SUPPORT_SITE] lub wybrać Teleportuj by teleportować siÄ™ do swojego miejsca startu. - <form name="form"> - <button name="OK" text="OK"/> - <button name="Help" text="Pomoc"/> - <button name="Teleport" text="Teleportuj"/> - </form> - </notification> - <notification name="WelcomeChooseSex"> - Twoja postać pojawi siÄ™ za moment. - -Używaj strzaÅ‚ek żeby sie poruszać. -NaciÅ›nij F1 w dowolnej chwili po pomoc albo żeby dowiedzieć siÄ™ wiÄ™cej o [SECOND_LIFE]. -Wybierz awatara wÅ‚aÅ›ciwej pÅ‚ci. -Ten wybór bÄ™dzie można później zmienić. - <usetemplate name="okcancelbuttons" notext="Kobieta" yestext="Mężczyzna"/> - </notification> - <notification name="CantTeleportToGrid"> - Nie można teleportować do [SLURL], ponieważ jest na innym gridzie ([GRID]) niż obecny grid ([CURRENT_GRID]). ProszÄ™ zamknąć przeglÄ…darkÄ™ i spróbować ponownie. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="GeneralCertificateError"> - PoÅ‚Ä…czenie z serwerem nie mogÅ‚o zostać nawiÄ…zane. -[REASON] - -SubjectName: [SUBJECT_NAME_STRING] -IssuerName: [ISSUER_NAME_STRING] -Valid From: [VALID_FROM] -Valid To: [VALID_TO] -MD5 Fingerprint: [SHA1_DIGEST] -SHA1 Fingerprint: [MD5_DIGEST] -Key Usage: [KEYUSAGE] -Extended Key Usage: [EXTENDEDKEYUSAGE] -Subject Key Identifier: [SUBJECTKEYIDENTIFIER] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TrustCertificateError"> - Wydawca certyfikatu dla tego serwera nie jest znany. - -Informacje o certyfikacie: -SubjectName: [SUBJECT_NAME_STRING] -IssuerName: [ISSUER_NAME_STRING] -Valid From: [VALID_FROM] -Valid To: [VALID_TO] -MD5 Fingerprint: [SHA1_DIGEST] -SHA1 Fingerprint: [MD5_DIGEST] -Key Usage: [KEYUSAGE] -Extended Key Usage: [EXTENDEDKEYUSAGE] -Subject Key Identifier: [SUBJECTKEYIDENTIFIER] - -Czy chcesz zaufać temu wydawcy? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Zaufaj"/> - </notification> - <notification name="NotEnoughCurrency"> - [NAME] [PRICE]L$ Masz za maÅ‚o L$. - </notification> - <notification name="GrantedModifyRights"> - Masz teraz prawa modyfikacji obiektów należących do [NAME]. - </notification> - <notification name="RevokedModifyRights"> - Prawa modyfikacji obiektów należących do [NAME] zostaÅ‚y Ci odebrane. - </notification> - <notification name="FlushMapVisibilityCaches"> - To spowoduje wyczyszczenie buforów map regionu. -Jest to użyteczne wyÅ‚Ä…cznie podczas szukania bÅ‚Ä™dów. -(Podczas produkcji poczekaj 5 minut i mapy wszystkich zostanÄ… uaktualnione po relogu.) - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyOneObjectOnly"> - Nie możesz zakupić wiÄ™cej niż jednego obiektu w tym samym czasie. ProszÄ™ wybrać tylko jeden obiekt i spróbować ponowanie. - </notification> - <notification name="OnlyCopyContentsOfSingleItem"> - Nie można kopiować zawartoÅ›ci wiÄ™cej niż jednego obiektu naraz. -Wybierz pojedynczy obiekt i spróbuj jeszcze raz. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="KickUsersFromRegion"> - Teleportować wszystkich Rezydentów z tego regionu to ich miejsca startu? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="EstateObjectReturn"> - Na pewno chcesz odesÅ‚ać wszystkie obiekty należące do -[USER_NAME] ? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="InvalidTerrainBitDepth"> - Nie można ustawić tekstur regionu: -Tekstura terenu [TEXTURE_NUM] ma niewÅ‚aÅ›ciwÄ… gÅ‚Ä™biÄ™ koloru - [TEXTURE_BIT_DEPTH]. -ZamieÅ„ teksturÄ™ [TEXTURE_NUM] na 24-o bitowÄ… teksturÄ™ o wymiarze 512x512 lub mniejszÄ… i ponownie kliknij Zastosuj. - </notification> - <notification name="InvalidTerrainSize"> - Nie można ustawić tekstur regionu: -Tekstura terenu [TEXTURE_NUM] jest za duża - [TEXTURE_SIZE_X]x[TEXTURE_SIZE_Y]. -ZamieÅ„ teksturÄ™ [TEXTURE_NUM] na 24-o bitowÄ… teksturÄ™ o wymiarze 512x512 lub mniejszÄ… i ponownie kliknij Zastosuj. - </notification> - <notification name="RawUploadStarted"> - Åadowanie rozpoczÄ™te. Może potrwać do dwóch minut zależnie od prÄ™dkoÅ›ci Twojego poÅ‚Ä…czenia. - </notification> - <notification name="ConfirmBakeTerrain"> - Na pewno chcesz zapisać obecne uksztaÅ‚towanie terenu jako punkt odniesienia dla górnego i dolnego limitu terenu i jako domyÅ›lÄ… wartość dla opcji Odtwórz? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="MaxAllowedAgentOnRegion"> - Maksymalna liczba goÅ›ci wynosi [MAX_AGENTS]. - </notification> - <notification name="MaxBannedAgentsOnRegion"> - Maksymalna liczba niepożądanych Rezydentów (banów) wynosi [MAX_BANNED]. - </notification> - <notification name="MaxAgentOnRegionBatch"> - Próba dodania [NUM_ADDED] osób nie powiodÅ‚a siÄ™: -[MAX_AGENTS] [LIST_TYPE] limit przekroczony o [NUM_EXCESS]. - </notification> - <notification name="MaxAllowedGroupsOnRegion"> - Możesz mieć maksymalnie [MAX_GROUPS] dozwolonych grup. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Ustal"/> - </notification> - <notification name="MaxManagersOnRegion"> - Możesz mieć maksymalnie [MAX_MANAGER] zarzÄ…dców MajÄ…tku. - </notification> - <notification name="OwnerCanNotBeDenied"> - Nie możesz dodać wÅ‚aÅ›ciciela majÄ…tku do listy 'Niepożądanych Rezydentów (banów)' majÄ…tku. - </notification> - <notification name="CanNotChangeAppearanceUntilLoaded"> - Nie możesz zmienić wyglÄ…du podczas Å‚adowania ubraÅ„ i ksztaÅ‚tów. - </notification> - <notification name="ClassifiedMustBeAlphanumeric"> - TytuÅ‚ Twojej reklamy musi zaczynać siÄ™ od litery (A-Z) albo cyfry. Znaki przestankowe sÄ… niedozwolone. - </notification> - <notification name="CantSetBuyObject"> - Nie możesz wybrać Kup obiekt ponieważ obiekt nie jest na sprzedaż. -Wybierz obiekt na sprzedaż i spróbuj jeszcze raz. - </notification> - <notification name="FinishedRawDownload"> - Plik surowego terenu zaÅ‚adowany pod: -[DOWNLOAD_PATH]. - </notification> - <notification name="DownloadWindowsMandatory"> - Nowa wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Musisz zainstalować nowÄ… wersjÄ™ żeby używać [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="WyÅ‚Ä…cz program" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="DownloadWindows"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prÄ™dkoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="DownloadWindowsReleaseForDownload"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prÄ™dkoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="DownloadLinuxMandatory"> - Nowa wersja [APP_NAME] jest dostÄ™pna. -[MESSAGE] -Musisz pobrać aktualizacjÄ™ aby korzystać z [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="Wyjdź" yestext="Pobieranie"/> - </notification> - <notification name="DownloadLinux"> - Aktualizacja [APP_NAME] jest dostÄ™pna. -[MESSAGE] -Ta aktualizacja nie jest wymagana ale zaleca siÄ™ jej instalacjÄ™ w celu poprawienia szybkoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Pobieranie"/> - </notification> - <notification name="DownloadLinuxReleaseForDownload"> - Uaktualniona wersja [APP_NAME]zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prÄ™dkoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Pobieranie"/> - </notification> - <notification name="DownloadMacMandatory"> - Nowa wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Musisz zainstalować nowÄ… wersjÄ™ żeby używać [APP_NAME]. - -Pobrać i zapisać w folderze Aplikacji? - <usetemplate name="okcancelbuttons" notext="WyÅ‚Ä…cz program" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="DownloadMac"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prÄ™dkoÅ›ci i stabilnoÅ›ci. - -Pobrać i zapisać w folderze Aplikacji? - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="DownloadMacReleaseForDownload"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prÄ™dkoÅ›ci i stabilnoÅ›ci. - -Pobrać i zapisać w folderze Aplikacji? - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="ZaÅ‚aduj"/> - </notification> - <notification name="FailedUpdateInstall"> - Podczas aktualizacji pojawiÅ‚ siÄ™ bÅ‚Ä…d. ProszÄ™ pobrać i zainstalować najnowszego klienta z http://secondlife.com/download. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="FailedRequiredUpdateInstall"> - Nie można zainstalować wymaganej aktualizacji. Nie bÄ™dzie można zalogować siÄ™ dopóki [APP_NAME] nie zostanie zaktualizowana. - ProszÄ™ pobrać i zainstalować najnowszÄ… wersjÄ™ z http://secondlife.com/download. - <usetemplate name="okbutton" yestext="Rezygnuj"/> - </notification> - <notification name="UpdaterServiceNotRunning"> - Istnieje obowiÄ…zkowa aktualizacja dla Second Life. Możesz jÄ… pobrać z http://www.secondlife.com/downloads lub zainstalować teraz. - <usetemplate name="okcancelbuttons" notext="Opuść Second Life" yestext="Pobierz i zainstaluj teraz"/> - </notification> - <notification name="DownloadBackgroundTip"> - Aktualizacja dla [APP_NAME] zostaÅ‚a pobrana. -Wersja [VERSION] [[RELEASE_NOTES_FULL_URL] Informacja o tej aktualizacji] - <usetemplate name="okcancelbuttons" notext="Później..." yestext="Zainstaluj teraz i restartuj [APP_NAME]"/> - </notification> - <notification name="DownloadBackgroundDialog"> - Aktualizacja [APP_NAME] zostaÅ‚a pobrana. -Wersja [VERSION] [[RELEASE_NOTES_FULL_URL] Informacja o aktualizacji] - <usetemplate name="okcancelbuttons" notext="Później..." yestext="Zainstaluj teraz i restartuj [APP_NAME]"/> - </notification> - <notification name="RequiredUpdateDownloadedVerboseDialog"> - Pobrano wymaganÄ… aktualizacjÄ™. -Wersja [VERSION] - -W celu instalacji aktualizacji musi zostać wykonany restart [APP_NAME]. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RequiredUpdateDownloadedDialog"> - W celu instalacji aktualizacji musi zostać wykonany restart [APP_NAME]. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="DeedObjectToGroup"> - Przekazanie tego obiektu spowoduje, że grupa: -* Otrzyma L$ zapÅ‚acone temu obiektowi - <usetemplate ignoretext="ProszÄ™ potwierdzić decyzjÄ™ przed przepisaniem obiektu do grupy" name="okcancelignore" notext="Anuluj" yestext="Przekaż"/> - </notification> - <notification name="WebLaunchExternalTarget"> - Czy chcesz otworzyć swojÄ… przeglÄ…darkÄ™ internetowÄ… by zobaczyć zawartość? - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by zobaczyć stronÄ™ internetowÄ…" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchJoinNow"> - By dokonać zmian i aktualizacji swojego konta, odwiedź [http://secondlife.com/account/ Dashboard]. - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by dokonać zmian w konfiguracji mojego konta" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchSecurityIssues"> - Odwiedź [SECOND_LIFE] Wiki i zobacz jak zgÅ‚aszać problemy z bezpieczeÅ„stwem danych. - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by dowiedzieć siÄ™ wiÄ™cej na temat zgÅ‚aszania problemów bezpieczeÅ„stwa" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchQAWiki"> - Odwiedź [SECOND_LIFE] Wiki pytaÅ„ i odpowiedzi. - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by zobaczyć QA Wiki" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchPublicIssue"> - Odwiedź [SECOND_LIFE] katalog publicznych problemów, gdzie możesz zgÅ‚aszać bÅ‚Ä™dy i inne problemy. - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by wysÅ‚ać BÅ‚Ä™dy klienta" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchSupportWiki"> - Otwórz oficjalny blog Lindenów żeby zobaczyć nowe wiadomoÅ›ci i informacje. - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by zobaczyć blog" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLGuide"> - Czy chcesz otworzyć samouczek JÄ™zyka skryptowania? - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by samouczek JÄ™zyka skryptowania" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="WebLaunchLSLWiki"> - Czy napewno chcesz odwiedzić portal LSL Portal? - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by LSL Portal" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ReturnToOwner"> - Czy na pewno chcesz zwrócić wybrane obiekty do ich wÅ‚aÅ›cicieli? Wszystkie udostÄ™pnione obiekty z prawem transferu zostanÄ… zwrócone poprzednim wÅ‚aÅ›cicielom. - -*UWAGA* Wszystkie udostÄ™pnione obiekty bez prawa transferu zostanÄ… usuniÄ™te! - <usetemplate ignoretext="Potwierdź zanim zwrócisz obiekty do ich wÅ‚aÅ›cicieli" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="GroupLeaveConfirmMember"> - JesteÅ› czÅ‚onkiem grupy [GROUP]. -Chcesz opuÅ›cić grupÄ™? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmKick"> - Napewno chcesz wyrzucić wszystkich Rezydentów z gridu? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Wyrzuć wszystkich Rezydentów"/> - </notification> - <notification name="MuteLinden"> - Przepraszamy, ale nie możesz zablokować Lindena. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CannotStartAuctionAlreadyForSale"> - Aukcja nie może zostać rozpoczÄ™ta w posiadÅ‚oÅ›ci, która zostaÅ‚a już wczeÅ›niej wystawiona na aukcjÄ™. Deaktywuj opcjÄ™ sprzedaży posiadÅ‚oÅ›ci jeżeli chcesz rozpocząć aukcjÄ™. - </notification> - <notification label="Zablokuj obiekty wedÅ‚ug wpisanej nazwy" name="MuteByNameFailed"> - Rezydent/obiekt jest już zablokowany. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RemoveItemWarn"> - Pomimo, że jest to dozwolone, usuniÄ™cie zawartoÅ›ci może zniszczyć obiekt. Chcesz usunąć? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="CantOfferCallingCard"> - Nie możesz dać wizytówki w tym momencie. Spróbuj jeszcze raz za chwilÄ™. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="CantOfferFriendship"> - Nie możesz zaoferować znajomoÅ›ci w tym momencie. Spróbuj jeszcze raz za chwilÄ™. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="BusyModeSet"> - Tryb Pracy jest wÅ‚Ä…czony. -Czat i IM bÄ™dÄ… ukryte. WysÅ‚ane IM bÄ™dÄ… otrzymywaÅ‚y TwojÄ… odpowiedź Trybu Pracy. Propozycje teleportacji bÄ™dÄ… odrzucone. -Dodatkowo, wszystkie podarowane dla Ciebie obiekty bÄ™dÄ… automatycznie zapisywane w folderze "Kosz" w Twojej szafie. - <usetemplate ignoretext="Status zmieniony na Tryb pracy" name="okignore" yestext="OK"/> - </notification> - <notification name="JoinedTooManyGroupsMember"> - Należysz już do maksymalnej iloÅ›ci grup. Opuść proszÄ™ przynajmniej jednÄ… grupÄ™ żeby przyjąć czÅ‚onkostwo w tej grupie, albo odmów. -[NAME] oferuje Ci czÅ‚onkostwo w grupie. - <usetemplate name="okcancelbuttons" notext="Odmów" yestext="Przyjmij"/> - </notification> - <notification name="JoinedTooManyGroups"> - Należysz już do maksymalnej iloÅ›ci grup. Opuść proszÄ™ przynajmiej jednÄ… grupÄ™ żeby przyjąć czÅ‚onkostwo w tej grupie, albo odmów. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="KickUser"> - Wyrzuć tego Rezydenta, wysyÅ‚ajÄ…c nastÄ™pujÄ…cy komunikat. - <form name="form"> - <input name="message"> - Administrator wylogowaÅ‚ CiÄ™. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="KickAllUsers"> - Z jakim komunikatem wyrzucić wszystkich użytkowników z regionu? - <form name="form"> - <input name="message"> - Administrator wylogowaÅ‚ CiÄ™. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="FreezeUser"> - Unieruchom tego Rezydenta, wysyÅ‚ajÄ…c nastÄ™pujÄ…cy komunikat. - <form name="form"> - <input name="message"> - Unieruchomiono CiÄ™. Nie możesz siÄ™ ruszać ani rozmawiać. Administrator skontaktuje siÄ™ z TobÄ… poprzez IM. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="UnFreezeUser"> - Cofnij unieruchomienie tego Rezydenta, wysyÅ‚ajÄ…c nastÄ™pujÄ…cy komunikat. - <form name="form"> - <input name="message"> - Odblokowano CiÄ™. - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="SetDisplayNameSuccess"> - Witaj [DISPLAY_NAME]! - -Podobnie jak w realnym życiu potrzeba trochÄ™ czasu zanim wszyscy dowiedzÄ… siÄ™ o nowej nazwie. Kolejne kilka dni zajmie [http://wiki.secondlife.com/wiki/Setting_your_display_name aktualizacja nazwy] w obiektach, skryptach, wyszukiwarce, etc. - </notification> - <notification name="SetDisplayNameBlocked"> - Przepraszamy, nie można zmienić Twojej wyÅ›wietlanej nazwy. JeÅ›li uważasz ze jest to spowodowane bÅ‚Ä™dem skontaktuj siÄ™ z obsÅ‚ugÄ… klienta. - </notification> - <notification name="SetDisplayNameFailedLength"> - Przepraszamy, ta nazwa jest zbyt dÅ‚uga. WyÅ›wietlana nazwa może mieć maksymalnie [LENGTH] znaków. - -ProszÄ™ wprowadzić krótszÄ… nazwÄ™. - </notification> - <notification name="SetDisplayNameFailedGeneric"> - Przepraszamy, nie można ustawić Twojej wyÅ›wietlanej nazwy. Spróbuj ponownie później. - </notification> - <notification name="SetDisplayNameMismatch"> - Podana wyÅ›wietlana nazwa nie pasuje. ProszÄ™ wprowadzić jÄ… ponownie. - </notification> - <notification name="AgentDisplayNameUpdateThresholdExceeded"> - Przepraszamy, musisz jeszcze poczekać zanim bÄ™dzie można zmienić TwojÄ… wyÅ›wietlanÄ… nazwÄ™. - -Zobacz http://wiki.secondlife.com/wiki/Setting_your_display_name - -ProszÄ™ spróbować ponownie później. - </notification> - <notification name="AgentDisplayNameSetBlocked"> - Przepraszamy, nie można ustawić wskazanej nazwy, ponieważ zawiera zabronione sÅ‚owa. - - ProszÄ™ spróbować wprowadzić innÄ… nazwÄ™. - </notification> - <notification name="AgentDisplayNameSetInvalidUnicode"> - WyÅ›wietlana nazwa, którÄ… chcesz ustawić zawiera niepoprawne znaki. - </notification> - <notification name="AgentDisplayNameSetOnlyPunctuation"> - Twoje wyÅ›wietlane imiÄ™ musi zawierać litery inne niż znaki interpunkcyjne. - </notification> - <notification name="DisplayNameUpdate"> - [OLD_NAME] ([SLID]) jest od tej pory znana/znany jako [NEW_NAME]. - </notification> - <notification name="OfferTeleport"> - Zaproponować teleportacjÄ™ do miejsca Twojego pobytu z tÄ… wiadomoÅ›ciÄ…? - <form name="form"> - <input name="message"> - Zapraszam do siebie. Region: [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="OfferTeleportFromGod"> - WysÅ‚ać propozycjÄ™ teleportacji do Twojego miejsca? - <form name="form"> - <input name="message"> - Zapraszam do siebie. Region: [REGION] - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="TeleportFromLandmark"> - Na pewno chcesz siÄ™ teleportować do <nolink>[LOCATION]</nolink>? - <usetemplate ignoretext="Potwierdź próbÄ™ teleportacji do zapisanego miejsca" name="okcancelignore" notext="Anuluj" yestext="Teleportuj"/> - </notification> - <notification name="TeleportToPick"> - Teleportuj do [PICK]? - <usetemplate ignoretext="Potwierdź, że chcesz teleportować siÄ™ do miejsca w Ulubionych" name="okcancelignore" notext="Anuluj" yestext="Teleportuj"/> - </notification> - <notification name="TeleportToClassified"> - Teleportuj do [CLASSIFIED]? - <usetemplate ignoretext="Potwierdź, że chcesz teleportować siÄ™ do lokalizacji z reklamy" name="okcancelignore" notext="Anuluj" yestext="Teleportuj"/> - </notification> - <notification name="TeleportToHistoryEntry"> - Teleportuj do [HISTORY_ENTRY]? - <usetemplate ignoretext="Potwierdź teleportacjÄ™ do lokalizacji z historii" name="okcancelignore" notext="Anuluj" yestext="Teleportuj"/> - </notification> - <notification label="Wiadomość do Wszystkich w Twoim MajÄ…tku" name="MessageEstate"> - Wpisz krótkÄ… wiadomość która zostanie wysÅ‚ana do wszystkich osób w Twoim majÄ…tku. - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification label="Zmiana MajÄ…tku Lindenów" name="ChangeLindenEstate"> - Czy napewno chcesz zmienić ustawienia majÄ…tku Linden (mainland, teen grid, orientacja, itp). - -Jest to wyjÄ…tkowo niebezpieczna decyzja, odczuwalna przez wszystkich Rezydentów. Dla mainland, spowoduje to zmianÄ™ tysiÄ™cy regionów oraz ich przestrzeÅ„ serwerowÄ…. - -Kontynuować? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification label="Zmiana DostÄ™pu do MajÄ…tku Lindenów" name="ChangeLindenAccess"> - Dokonujesz zmiany w liÅ›cie dostÄ™pu Regionu głównego należącego do Lindenów (Regiony Główne, Teen Grid, Orientacja). - -Żądana operacja jest wyjÄ…tkowo niebezpieczna dla wszystkich Rezydentów przebywajÄ…cych w regionie i powinna być używana wyÅ‚Ä…cznie w celu zablokowania opcji pozwalajÄ…cej na przeniesienie obiektów/L$ do/z sieci. -Dodatkowo, zmiany dokonane w Regionie Głównym mogÄ… spowodować problemy przestrzeni serwerowej innych regionów. - -Kontynuować? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateAllowedAgentAdd"> - Dodać do listy dostÄ™pu do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateAllowedAgentRemove"> - Usunąć z listy dostÄ™pu do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateAllowedGroupAdd"> - Dodać do listy dostÄ™pu grup do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateAllowedGroupRemove"> - Usunąć z listy dostÄ™pu grup do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateBannedAgentAdd"> - Zablokować dostÄ™p do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateBannedAgentRemove"> - Zdjąć tego Rezydenta z listy niepożądanych (bany) dla tego majÄ…tku czy dla [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateManagerAdd"> - Dodać zarzÄ…dce majÄ…tku do tego majÄ…tku czy do [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Wybierz MajÄ…tek" name="EstateManagerRemove"> - Usunąć zarzÄ…dce majÄ…tku z tego majÄ…tku czy z [ALL_ESTATES]? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> - </notification> - <notification label="Potwierdź Wyrzucenie" name="EstateKickUser"> - Wyrzucić [EVIL_USER] z tego majÄ…tku? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="EstateChangeCovenant"> - Na pewno chcesz zminić treść umowy dla tego majÄ…tku? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked"> - Ze wzglÄ™du na Twój wiek, nie jesteÅ› uprawniony do przebywania w tym regionie. Może być to wynikiem braku informacji na temat weryfikacji Twojego wieku. - -Upewnij siÄ™, że masz zainstalowanÄ… najnowszÄ… wersjÄ™ klienta i skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="RegionEntryAccessBlocked_KB"> - Ze wzglÄ™du na Twój wiek, nie jesteÅ› uprawniony do przebywania w tym regionie. - -Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="Ze wzglÄ™du na Twój wiek, nie jesteÅ› uprawniony do przebywania w tym regionie. Może być to wynikiem braku informacji na temat weryfikacji Twojego wieku." name="okcancelignore" notext="Zamknij" yestext="[SECOND_LIFE]:Pomoc"/> - </notification> - <notification name="RegionEntryAccessBlocked_Notify"> - Ze wzglÄ™du na Twój wiek, nie jesteÅ› uprawniony do przebywania w tym regionie. - </notification> - <notification name="RegionEntryAccessBlocked_Change"> - Nie masz zezwolenia na przebywanie w tym Regionie z powodu Twojego statusu ustawieÅ„ wieku. - -W celu uzyskania dostÄ™pu do tego regiony zmieÅ„ proszÄ™ swój status ustawieÅ„ wieku. BÄ™dziesz mógÅ‚/mogÅ‚a szukać i mieć dostÄ™p do treÅ›ci [REGIONMATURITY]. W celu cofniÄ™cia zmian wybierz z menu Ja > Ustawienia > Ogólne. - <form name="form"> - <button name="OK" text="ZmieÅ„ ustawienia"/> - <button default="true" name="Cancel" text="Zamknij"/> - <ignore name="ignore" text="Moje ustawienia wieku nie dopuszczajÄ… do regionu"/> - </form> - </notification> - <notification name="PreferredMaturityChanged"> - Twoja obecna klasyfikacja wieku to [RATING]. - </notification> - <notification name="LandClaimAccessBlocked"> - W zwiÄ…zku ze statusem ustawieÅ„ Twojego wieku, nie możesz odzyskać tej posiadÅ‚oÅ›ci. Możesz potrzebować weryfikacji wieku bÄ…dź instalacji najnowszej wersji klienta. - -Upewnij siÄ™, że masz zainstalowanÄ… najnowszÄ… wersjÄ™ klienta i skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandClaimAccessBlocked_KB"> - Ze wzglÄ™du na Twój wiek, nie możesz odzyskać tej posiadÅ‚oÅ›ci. - -Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="W zwiÄ…zku ze statusem ustawieÅ„ Twojego wieku, nie możesz odzyskać tej posiadÅ‚oÅ›ci." name="okcancelignore" notext="Zamknij" yestext="[SECOND_LIFE]:Pomoc"/> - </notification> - <notification name="LandClaimAccessBlocked_Notify"> - Ze wzglÄ™du na Twój wiek, nie możesz odzyskać tej posiadÅ‚oÅ›ci. - </notification> - <notification name="LandClaimAccessBlocked_Change"> - W zwiÄ…zku ze statusem ustawieÅ„ Twojego wieku, nie możesz odzyskać tej posiadÅ‚oÅ›ci. - -Możesz wybrać 'ZmieÅ„ Ustawienia' by dokonać zmian w ustawieniach Twojego wieku by uzyskać dostÄ™p do regionu. Wówczas bÄ™dziesz w stanie znaleźć oraz mieć dostÄ™p do [REGIONMATURITY] treÅ›ci. Jeżeli zdecydujesz siÄ™ na powrót do poprzednich ustawieÅ„, wybierz Ja > Ustawienia > Główne. - <usetemplate ignoretext="Ze wzglÄ™du na Twój wiek, nie możesz odzyskać tej posiadÅ‚oÅ›ci." name="okcancelignore" notext="Zamknij" yestext="ZmieÅ„ Ustawienia"/> - </notification> - <notification name="LandBuyAccessBlocked"> - Ze wzglÄ™du na Twój wiek, nie możesz kupić tej posiadÅ‚oÅ›ci. Może być to wynikiem braku informacji na temat weryfikacji Twojego wieku. - -Upewnij siÄ™, że masz zainstalowanÄ… najnowszÄ… wersjÄ™ klienta i skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="LandBuyAccessBlocked_KB"> - Ze wzglÄ™du na Twój wiek, nie możesz kupić tej posiadÅ‚oÅ›ci. - -Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - <url name="url"> - https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 - </url> - <usetemplate ignoretext="Ze wzglÄ™du na Twój wiek, nie możesz kupić tej posiadÅ‚oÅ›ci." name="okcancelignore" notext="Zamknij" yestext="[SECOND_LIFE]:Pomoc"/> - </notification> - <notification name="LandBuyAccessBlocked_Notify"> - Ze wzglÄ™du na Twój wiek, nie możesz kupić tej posiadÅ‚oÅ›ci. - </notification> - <notification name="LandBuyAccessBlocked_Change"> - W zwiÄ…zku ze statusem ustawieÅ„ Twojego wieku, nie możesz kupić tej posiadÅ‚oÅ›ci. - -Możesz wybrać 'ZmieÅ„ Ustawienia' by dokonać zmian w ustawieniach Twojego wieku by uzyskać dostÄ™p do regionu. Wówczas bÄ™dziesz w stanie znaleźć oraz mieć dostÄ™p do [REGIONMATURITY] treÅ›ci. Jeżeli zdecydujesz siÄ™ na powrót do poprzednich ustawieÅ„, wybierz Ja > Ustawienia > Główne. - <usetemplate ignoretext="W zwiÄ…zku ze statusem ustawieÅ„ Twojego wieku, nie możesz kupić tej posiadÅ‚oÅ›ci." name="okcancelignore" notext="Zamknij" yestext="ZmieÅ„ Ustawienia"/> - </notification> - <notification name="TooManyPrimsSelected"> - Zbyt wiele wybranych obiektów. Wybierz [MAX_PRIM_COUNT] lub mniej i spróbuj ponownie - </notification> - <notification name="ProblemImportingEstateCovenant"> - Problem z importem umowy majÄ…tku. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ProblemAddingEstateManager"> - Problemy z dodawaniem nowego zarzÄ…dcy majÄ…tku. Jeden lub wiÄ™caj majÄ…tk może mieć wypeÅ‚nionÄ… listÄ™ zarzÄ…dców. - </notification> - <notification name="ProblemAddingEstateGeneric"> - Problemy z dodawaniem do listy majÄ…tku. Jeden lub wiÄ™caj majÄ…tk może mieć wypeÅ‚nionÄ… listÄ™. - </notification> - <notification name="UnableToLoadNotecardAsset"> - Brak możliwoÅ›ci zaÅ‚adowania noty w tej chwili. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NotAllowedToViewNotecard"> - NiewystarczajÄ…ce prawa do zobaczenia notki przypisanej do wybranego ID. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MissingNotecardAssetID"> - ID notki nie znalezione w bazie danych. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="PublishClassified"> - PamiÄ™taj: OpÅ‚aty za reklamÄ™ sÄ… bezzwrotne. - -ZamieÅ›cić tÄ… reklamÄ™ za [AMOUNT]L$? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="SetClassifiedMature"> - Czy ta reklama zawiera treść 'Mature'? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="SetGroupMature"> - Czy ta grupa zawiera treść 'Mature'? - <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification label="Potwierdź Restart" name="ConfirmRestart"> - Na pewno chcesz zrobić restart tego regionu za 2 minuty? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification label="Wiadomość do Wszystkich w tym Regionie" name="MessageRegion"> - Wpisz krótkÄ… wiadomość która zostanie wysÅ‚ana do wszystkich osób w tym regionie. - <form name="form"> - <input name="message"/> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification label="Zmienione Restrykcje Wieku dla Regionu" name="RegionMaturityChange"> - Ustawienie restrykcji wieku dla regionu zostaÅ‚o zmienione. -Zazwyczaj musi upÅ‚ynąć nieco czasu zanim ta zmiana zostanie odzwierciedlona na mapie. - -Aby wejść do regionu Adult, Rezydenci muszÄ… posiadać zweryfikowane konto, albo w wyniku weryfikacji wieku albo pÅ‚atoÅ›ci. - </notification> - <notification label="Wersja Niezgodna z Systemem Rozmów" name="VoiceVersionMismatch"> - Ta wersja [APP_NAME] nie jest kompatybilna z systemem rozmów w tym Regionie. Musisz zainstalować aktualnÄ… wersjÄ™ [APP_NAME] aby komunikacja gÅ‚osowa dziaÅ‚aÅ‚a poprawnie. - </notification> - <notification label="Nie Można Kupić Obiektów" name="BuyObjectOneOwner"> - Jednorazowo możesz kupować tylko od jednego wÅ‚aÅ›ciciela. -Wybierz pojedynczy obiekt i spróbuj jeszcze raz. - </notification> - <notification label="Nie Można Kupić ZawartoÅ›ci" name="BuyContentsOneOnly"> - Jednorazowo możesz kupić zawartość tylko jednego obiektu. -Wybierz pojedynczy obiekt i spróbuj jeszcze raz. - </notification> - <notification label="Nie Można Kupić ZawartoÅ›ci" name="BuyContentsOneOwner"> - Jednorazowo możesz kupować tylko od jednego wÅ‚aÅ›ciciela. -Wybierz pojedynczy obiekt i spróbuj jeszcze raz. - </notification> - <notification name="BuyOriginal"> - Kupić oryginalny obiekt od [OWNER] za [PRICE]L$? -Zostaniesz wÅ‚aÅ›cicielem tego obiektu z nastÄ™pujÄ…cymi prawami: - Modyfikacje: [MODIFYPERM] - Kopiowanie: [COPYPERM] - Odsprzedawanie i oddawanie: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyOriginalNoOwner"> - Kupić oryginalny obiekt za [PRICE]L$? -Zostaniesz wÅ‚aÅ›cicielem tego obiektu z nastÄ™pujÄ…cymi prawami: - Modyfikacje: [MODIFYPERM] - Kopiowanie: [COPYPERM] - Odsprzedawanie i oddawanie: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyCopy"> - Kupić kopiÄ™ obiektu od [OWNER] za [PRICE]L$? -Obiekt zostanie skopiowany do Twojej szafy z nastÄ™pujÄ…cymi prawami: - Modyfikacje: [MODIFYPERM] - Kopiowanie: [COPYPERM] - Odsprzedawanie i oddawanie: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyCopyNoOwner"> - Kupić kopiÄ™ obiektu za [PRICE]L$? -Obiekt zostanie skopiowany do Twojej szafy z nastÄ™pujÄ…cymi prawami: - Modyfikacje: [MODIFYPERM] - Kopiowanie: [COPYPERM] - Odsprzedawanie i oddawanie: [RESELLPERM] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyContents"> - Kupić zawartość od [OWNER] za [PRICE]L$? -Zawartość zostanie skopiowana do Twojej szafy. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BuyContentsNoOwner"> - Kupić zawartość za [PRICE]L$? -Zawartość zostanie skopiowana do Twojej szafy. - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmPurchase"> - Ta transakcja spowoduje: -[ACTION] - -Na pewno chcesz dokonać tego zakupu? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmPurchasePassword"> - Ta transakcja spowoduje: -[ACTION] - -Na pewno chcesz dokonać tego zakupu? -Wpisz hasÅ‚o ponownie i kliknij OK. - <form name="form"> - <input name="message"/> - <button name="ConfirmPurchase" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="SetPickLocation"> - Uwaga: -Lokalizacja tego wyboru zostaÅ‚a zaktualizowana ale pozostaÅ‚e szczegóły zachowajÄ… oryginalne wartoÅ›ci. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromObject"> - Wybrane obiekty Szafy nie majÄ… praw kopiowania. -Obiekty zostanÄ… przeniesione do Twojej Szafy, nie zostanÄ… skopiowane. - -Przenieść obiekty Szafy? - <usetemplate ignoretext="Uprzedź przed przeniesieniem zawartoÅ›ci niekopiowalnej z obiektu" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="MoveInventoryFromScriptedObject"> - Wybrane obiekty Szafy nie majÄ… praw kopiowania. -Obiekty zostanÄ… przeniesione do Twojej Szafy, nie zostanÄ… skopiowane. -Ponieważ obiekty zawierajÄ… skrypty, przeniesienie obiektów do Twojej Szafy może spowodować niepoprawne dziaÅ‚anie skryptów. - -Przenieść obiekty szafy? - <usetemplate ignoretext="Uprzedź przed przeniesieniem zawartoÅ›ci niekopiowalnej z obiektu, która może uszkodzić skrypty obiektu" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ClickActionNotPayable"> - Uwaga: Opcja ZapÅ‚ać obiektowi zostaÅ‚a wybrana, ale żeby ta opcja dziaÅ‚aÅ‚a musi być dodany skrypt z funkcjÄ… money(). - <form name="form"> - <ignore name="ignore" text="Opcja ZapÅ‚ać Obiektowi zostaÅ‚a aktywowana podczas budowania obiektów bez skryptu z funkcjÄ… money()."/> - </form> - </notification> - <notification name="OpenObjectCannotCopy"> - W tym obiekcie nie ma elementów które możesz skopiować. - </notification> - <notification name="WebLaunchAccountHistory"> - Przejść na stronÄ™ [http://secondlife.com/account/ Dashboard] żeby zobaczyć historiÄ™ konta? - <usetemplate ignoretext="Uruchom przeglÄ…darkÄ™ internetowÄ… by zobaczyć historiÄ™ konta" name="okcancelignore" notext="Anuluj" yestext="Idź na stronÄ™"/> - </notification> - <notification name="ConfirmQuit"> - Na pewno chcesz skoÅ„czyć? - <usetemplate ignoretext="Na pewno chcesz skoÅ„czyć?" name="okcancelignore" notext="Nie koÅ„cz" yestext="WyÅ‚Ä…cz"/> - </notification> - <notification name="DeleteItems"> - [QUESTION] - <usetemplate ignoretext="Potwierdź, że na pewno chcesz skasować obiekty" name="okcancelignore" notext="Cofnij" yestext="OK"/> - </notification> - <notification name="HelpReportAbuseEmailLL"> - Używaj tej opcji do zgÅ‚aszania nadużyć [http://secondlife.com/corporate/tos.php Warunków Umowy (Terms of Service)] i [http://secondlife.com/corporate/cs.php Standardów SpoÅ‚eczeÅ„stwa (Community Standards)]. - -Wszystkie zgÅ‚oszone nadużycia sÄ… badane i rozwiÄ…zywane. - </notification> - <notification name="HelpReportAbuseSelectCategory"> - Wybierz kategoriÄ™ dla tego raportu o nadużyciu. -OkreÅ›lenie kategorii pomoże nam w klasyfikacji i prztwarzaniu raportu. - </notification> - <notification name="HelpReportAbuseAbuserNameEmpty"> - Wprowadź imiÄ™ i nazwisko osoby popeÅ‚niajÄ…cej nadużycie. -DokÅ‚adne dane pomogÄ… nam w klasyfikacji i prztwarzaniu raportu. - </notification> - <notification name="HelpReportAbuseAbuserLocationEmpty"> - Wprowadź nazwÄ™ miejsca gdzie popeÅ‚niono nadużycie. -DokÅ‚adne dane pomogÄ… nam w klasyfikacji i prztwarzaniu raportu. - </notification> - <notification name="HelpReportAbuseSummaryEmpty"> - Wprowadź opis popeÅ‚nionego nadużycia. -DokÅ‚adne dane pomogÄ… nam w klasyfikacji i prztwarzaniu raportu. - </notification> - <notification name="HelpReportAbuseDetailsEmpty"> - Wprowadź szczgółowy opis popeÅ‚nionego nadużycia. -Podaj maksymalnÄ… ilość szczgółów oraz imiona i nazwiska osób zwiÄ…zanych z nadużyciem które zgÅ‚aszasz. -DokÅ‚adne dane pomogÄ… nam w klasyfikacji i prztwarzaniu raportu. - </notification> - <notification name="HelpReportAbuseContainsCopyright"> - Szanowny Rezydencie, - -Jeżeli skÅ‚adasz raport dotyczÄ…cy naruszenia praw autorskich proszÄ™ siÄ™ upewnić, że robisz to poprawnie: - -(1) Przypadek Nadużycia. Możesz zÅ‚ożyć raport jeżeli sÄ…dzisz, że Rezydent narusza system przywilejów [SECOND_LIFE], na przykÅ‚ad używajÄ…c CopyBot lub podobnych narzÄ™dzi robiÄ…cych kopie, naruszajÄ…c prawa autorskie. Komisja Nadużyć bada wykroczenia i stosuje akcje dyscyplinarne za zachowania sprzeczne z zasadami Warunków Umowy [SECOND_LIFE] [http://secondlife.com/corporate/tos.php Terms of Service] i Standardów SpoÅ‚eczeÅ„stwa [http://secondlife.com/corporate/cs.php Community Standards]. Komisja Nadużyć nie zajmuje siÄ™ i nie odpowiada na żądania usuniÄ™cia treÅ›ci ze Å›rodowiska [SECOND_LIFE]. - -(2) Przypadek DMCA lub Usuwanie TreÅ›ci. Aby wystÄ…pić z żądaniem o usuniÄ™cie treÅ›ci ze Å›rodowiska [SECOND_LIFE] MUSISZ przedÅ‚ożyć ważne zawiadomienie o nadużyciu zgodne z naszÄ… politykÄ… DMCA [http://secondlife.com/corporate/dmca.php DMCA Policy]. - -Jeżeli chcesz kontynuować dalej zamknij to okno i dokoÅ„cz wysyÅ‚anie raportu. Może być potrzebny wybór kategorii 'CopyBot albo Nadużycie Przywilejów'. - -DziÄ™kujemy, - -Linden Lab - </notification> - <notification name="FailedRequirementsCheck"> - Brak nastÄ™pujÄ…cych wymaganych komponentów w [FLOATER]: -[COMPONENTS] - </notification> - <notification label="ZamieÅ„ IstniejÄ…cy Dodatek" name="ReplaceAttachment"> - Obecnie masz już doÅ‚Ä…czony obiekt do tej części Twojego ciaÅ‚a. -Chcesz go zamienić na wybrany obiekt? - <form name="form"> - <ignore name="ignore" save_option="true" text="Obecnie masz już doÅ‚Ä…czony obiekt do tej części Twojego ciaÅ‚a.Chcesz go zamienić na wybrany obiekt?"/> - <button ignore="ZamieÅ„ automatycznie" name="Yes" text="OK"/> - <button ignore="Nie zamieniaj" name="No" text="Anuluj"/> - </form> - </notification> - <notification label="Ostrzeżenie Trybu Pracy" name="BusyModePay"> - JesteÅ› w Trybie pracy co oznacza, że nie dostaniesz żadnych obiektów w zamian za tÄ… opÅ‚atÄ™. - -Chcesz wyÅ‚Ä…czyć Tryb pracy przed zakoÅ„czeniem tej tranzakcji? - <form name="form"> - <ignore name="ignore" save_option="true" text="JesteÅ› w Trybie Pracy co oznacza, że nie dostaniesz żadnych obiektów w zamian za tÄ… opÅ‚atÄ™. Chcesz wyÅ‚Ä…czyć Tryb Pracy przed zakoÅ„czeniem tej transakcji?"/> - <button ignore="Zawsz wyÅ‚Ä…czaj tryb pracy" name="Yes" text="OK"/> - <button ignore="Nie wyÅ‚Ä…czaj trybu pracy" name="No" text="Anuluj"/> - </form> - </notification> - <notification name="ConfirmDeleteProtectedCategory"> - Ten folder '[FOLDERNAME]' to folder systemowy. UsuniÄ™cie foldera systemowego spowoduje niestabilność. Czy na pewno chcesz go skasować? - <usetemplate ignoretext="Potwierdź zanim folder systemu zostanie skasowany" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmEmptyTrash"> - Na pewno chcesz permanentnie usunąć zawartość Kosza? - <usetemplate ignoretext="Potwierdź przed usuniÄ™ciem zawartoÅ›ci Kosza" name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmClearBrowserCache"> - Na pewno chcesz wyczyÅ›cić bufor przeglÄ…darki? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="ConfirmClearCookies"> - Na pewno chcesz wyczyÅ›cić ciasteczka? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Tak"/> - </notification> - <notification name="ConfirmClearMediaUrlList"> - Na pewno chcesz wyczyÅ›cić listÄ™ zapisanych linków? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Tak"/> - </notification> - <notification name="ConfirmEmptyLostAndFound"> - Na pewno chcesz permanentnie usunąć zawartość Twojego foldera Zgubione i odnalezione? - <usetemplate ignoretext="Potwierdź przed usuniÄ™ciem zawartoÅ›ci foldera Zagubione i odnalezione" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="CopySLURL"> - NastÄ™pujÄ…cy link SLURL zostaÅ‚ skopiowany do schowka: - [SLURL] - -Zamieść go na stronie internetowej żeby umożliwić innym Å‚atwy dostÄ™p do tego miejsca, albo wklej go do panela adresu Twojej przeglÄ…darki żeby go otworzyć. - <form name="form"> - <ignore name="ignore" text="SLurl skopiowany do schowka"/> - </form> - </notification> - <notification name="WLSavePresetAlert"> - Chcesz zmienić zapisane ustawienia? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="WLDeletePresetAlert"> - Chcesz usunąć [SKY]? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="WLNoEditDefault"> - Nie możesz edytować lub usunąć domyÅ›lnych ustawieÅ„. - </notification> - <notification name="WLMissingSky"> - Ten plik cyklu dziennego używa brakujÄ…cego pliku nieba: [SKY]. - </notification> - <notification name="PPSaveEffectAlert"> - Efekt post-procesu już istnieje. Chcesz zapisać nowy na jego miejsce? - <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak"/> - </notification> - <notification name="NewSkyPreset"> - Nazwij nowe niebo. - <form name="form"> - <input name="message"> - Nowe ustawienie - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="ExistsSkyPresetAlert"> - Ustawienie już istnieje! - </notification> - <notification name="NewWaterPreset"> - Nazwij nowe ustawienie wody. - <form name="form"> - <input name="message"> - Nowe ustawienie - </input> - <button name="OK" text="OK"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="ExistsWaterPresetAlert"> - Ustawienie już istnieje! - </notification> - <notification name="WaterNoEditDefault"> - DomyÅ›lne ustawienie nie może być zmienione ani usuniÄ™te. - </notification> - <notification name="ChatterBoxSessionStartError"> - BÅ‚Ä…d podczas rozpoczynania czatu/IM z [RECIPIENT]. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ChatterBoxSessionEventError"> - [EVENT] -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ForceCloseChatterBoxSession"> - Twój czat/IM z [NAME] zostanie zamkniÄ™ty. -[REASON] - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="Cannot_Purchase_an_Attachment"> - Rzeczy nie mogÄ… być kupione jeżeli sÄ… częściÄ… zaÅ‚Ä…cznika. - </notification> - <notification label="ProÅ›ba o ZgodÄ™ na Pobieranie L$" name="DebitPermissionDetails"> - AkceptujÄ…c tÄ… proÅ›bÄ™ wyrażasz zgodÄ™ na ciÄ…gÅ‚e pobieranie Lindenów (L$) z Twojego konta. Å»eby cofnąć to pozwolenie wÅ‚aÅ›ciciel obiektu bÄ™dzie musiaÅ‚ usunąć ten obiekt albo zresetowć skrypty obieku. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AutoWearNewClothing"> - Czy chcesz automatycznie nosić ubranie które tworzysz? - <usetemplate ignoretext="Załóż ubranie automatycznie bÄ™dÄ…c w trybie Edycji WyglÄ…du" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="NotAgeVerified"> - Nie masz dostÄ™pu do tej posiadÅ‚oÅ›ci ze wzglÄ™du na brak weryfikacji Twojego wieku. Czy chcesz odwiedzić stronÄ™ [SECOND_LIFE] żeby to zmienić? - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/verification.php - </url> - <usetemplate ignoretext="Brak weryfikacji wieku" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="Cannot enter parcel: no payment info on file"> - Nie masz dostÄ™pu do tej posiadÅ‚oÅ›ci ze wzglÄ™du na brak danych o Twoim koncie. Czy chcesz odwiedzić stronÄ™ [SECOND_LIFE] żeby to zmienić? - -[_URL] - <url name="url" option="0"> - https://secondlife.com/account/ - </url> - <usetemplate ignoretext="Brak danych o koncie" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="MissingString"> - Zdanie [STRING_NAME] nie znalezione w strings.xml - </notification> - <notification name="SystemMessageTip"> - [MESSAGE] - </notification> - <notification name="IMSystemMessageTip"> - [MESSAGE] - </notification> - <notification name="Cancelled"> - Anulowane - </notification> - <notification name="CancelledSit"> - Siadanie anulowane - </notification> - <notification name="CancelledAttach"> - DoÅ‚Ä…czenie anulowane - </notification> - <notification name="ReplacedMissingWearable"> - BarkujÄ…ce ubranie/części ciaÅ‚a zastÄ…piono domyÅ›lnymi obiektami. - </notification> - <notification name="GroupNotice"> - Temat: [SUBJECT], Treść: [MESSAGE] - </notification> - <notification name="FriendOnline"> - [NAME] jest w Second Life - </notification> - <notification name="FriendOffline"> - [NAME] opuszcza Second Life - </notification> - <notification name="AddSelfFriend"> - Nie możesz dodać siebie do listy znajomych. - </notification> - <notification name="UploadingAuctionSnapshot"> - Åadowanie obrazu z Internetu... -(Zajmuje okoÅ‚o 5 minut.) - </notification> - <notification name="UploadPayment"> - Åadowanie kosztowaÅ‚o [AMOUNT]L$. - </notification> - <notification name="UploadWebSnapshotDone"> - Åadowanie obrazu z Internetu zakoÅ„czne pomyÅ›lnie. - </notification> - <notification name="UploadSnapshotDone"> - Åadowanie zdjÄ™cia zakoÅ„czone pomyÅ›lnie. - </notification> - <notification name="TerrainDownloaded"> - Plik terrain.raw Å›ciÄ…gniety. - </notification> - <notification name="GestureMissing"> - Gesturka [NAME] nie znaleziony w bazie danych. - </notification> - <notification name="UnableToLoadGesture"> - Åadowanie gesturki [NAME] nie powiodÅ‚o siÄ™. - </notification> - <notification name="LandmarkMissing"> - Miejsce (LM) nie znalezione w bazie danych. - </notification> - <notification name="UnableToLoadLandmark"> - Åadowanie miejsca (LM) nie powiodÅ‚o siÄ™. -Spróbuj jeszcze raz. - </notification> - <notification name="CapsKeyOn"> - Twój Caps Lock jest wÅ‚Ä…czony. -Ponieważ to ma wpÅ‚yw na wpisywane hasÅ‚o, możesz chcieć go wyÅ‚Ä…czyć. - </notification> - <notification name="NotecardMissing"> - Notka nie zostaÅ‚a znaleziona w bazie danych. - </notification> - <notification name="NotecardNoPermissions"> - Nie masz pozwolenia na zobaczenie notki. - </notification> - <notification name="RezItemNoPermissions"> - Nie masz pozwolenia na stworzenie obiektu. - </notification> - <notification name="UnableToLoadNotecard"> - Nie można zaÅ‚adować danych notki w tym momencie. - </notification> - <notification name="ScriptMissing"> - Skrypt nie znaleziony w bazie danych. - </notification> - <notification name="ScriptNoPermissions"> - Nie masz pozwolenia na zobaczenie skryptu. - </notification> - <notification name="UnableToLoadScript"> - Åadowanie skryptu nie powiodÅ‚o siÄ™. -Spróbuj jeszcze raz. - </notification> - <notification name="IncompleteInventory"> - Zawartość obiektów którÄ… chcesz podarować nie jest dostÄ™pna lokalnie. Spróbuj podarować te obiekty jeszcze raz za jakiÅ› czas. - </notification> - <notification name="CannotModifyProtectedCategories"> - Nie możesz zmienić chronionych kategorii. - </notification> - <notification name="CannotRemoveProtectedCategories"> - Nie możesz usunąć chronionych kategorii. - </notification> - <notification name="UnableToBuyWhileDownloading"> - Nie można kupować w trakcie Å‚adowania danych obiektu. -Spróbuj jeszcze raz. - </notification> - <notification name="UnableToLinkWhileDownloading"> - Nie można Å‚Ä…czyć w trakcie Å‚adowania danych obiektu. -Spróbuj jeszcze raz. - </notification> - <notification name="CannotBuyObjectsFromDifferentOwners"> - Nie możesz jednoczeÅ›nie kupować obiektów od różnych osób. -Wybierz jeden obiekt. - </notification> - <notification name="ObjectNotForSale"> - Obiekt nie jest na sprzedaż. - </notification> - <notification name="EnteringGodMode"> - WÅ‚Ä…cznie trybu boskiego, poziom [LEVEL] - </notification> - <notification name="LeavingGodMode"> - WyÅ‚Ä…czanie trybu boskiego, poziom [LEVEL] - </notification> - <notification name="CopyFailed"> - Nie masz praw do skopiowania wybranych obiektów. - </notification> - <notification name="InventoryAccepted"> - Podarunek od Ciebie zostaÅ‚ przyjÄ™ty przez [NAME]. - </notification> - <notification name="InventoryDeclined"> - Podarunek od Ciebie zostaÅ‚ odrzucony przez [NAME]. - </notification> - <notification name="ObjectMessage"> - [NAME]: [MESSAGE] - </notification> - <notification name="CallingCardAccepted"> - Twoja wizytówka zostaÅ‚a przyjÄ™ta. - </notification> - <notification name="CallingCardDeclined"> - Twoja wizytówka zostaÅ‚a odrzucona. - </notification> - <notification name="TeleportToLandmark"> - JesteÅ› w Głównym Regionie i możesz siÄ™ stÄ…d teleportować do innych miejsc jak '[NAME]' wybierajÄ…c Moja Szafa w prawym dolnym rogu ekranu -i wybierajÄ…c folder Zapisane Miejsca (LM). -(Kliknij dwa razy na miejsce (LM) i wybierz 'Teleport' żeby tam siÄ™ przenieść.) - </notification> - <notification name="TeleportToPerson"> - Możesz skontaktować siÄ™ z Rezydentem '[NAME]' poprzez otworzenie panelu Ludzie po prawej stronie ekranu. -Wybierz Rezydenta z listy, nastÄ™pnie kliknij 'IM' na dole panelu. -(Możesz także kliknąć podwójnie na ich imiÄ™ na liÅ›cie, lub prawym przyciskiem i wybrać 'IM'). - </notification> - <notification name="CantSelectLandFromMultipleRegions"> - Nie możesz przekraczać granic serwera wybierajÄ…c obszar. -Spróbuj wybrać mniejszy obszar. - </notification> - <notification name="SearchWordBanned"> - Pewne frazy podczas wyszukiwania zostaÅ‚y usuniÄ™te w zwiÄ…zku z restrykcjami zawartymi w Standardach SpoÅ‚ecznoÅ›ciowych (Community Standards). - </notification> - <notification name="NoContentToSearch"> - ProszÄ™ wybrać przynajmiej jeden z podanych rodzajów treÅ›ci jakÄ… zawiera region podczas wyszukiwania ('General', 'Moderate', lub 'Adult'). - </notification> - <notification name="SystemMessage"> - [MESSAGE] - </notification> - <notification name="PaymentReceived"> - [MESSAGE] - </notification> - <notification name="PaymentSent"> - [MESSAGE] - </notification> - <notification name="EventNotification"> - Zawiadomienie o imprezie: - -[NAME] -[DATE] - <form name="form"> - <button name="Details" text="Szczegóły"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="TransferObjectsHighlighted"> - Obiekty na tej posiadÅ‚oÅ›ci które zostanÄ… przekazane kupcowi tej posiadÅ‚oÅ›ci sÄ… teraz rozjaÅ›nione. - -* Drzewa i trawy które zostanÄ… przekazne nie sÄ… rozjaÅ›nione. - <form name="form"> - <button name="Done" text="Zastosuj"/> - </form> - </notification> - <notification name="DeactivatedGesturesTrigger"> - Zablokowane gesturki z jednakowym aktywowaniem: -[NAMES] - </notification> - <notification name="NoQuickTime"> - WyglÄ…da na to, że QuickTime z Apple nie jest zainstalowany na Twoim komputerze. -Jeżeli chcesz odtwarzać media na tej posiadÅ‚oÅ›ci które używajÄ… QuickTime idź do [http://www.apple.com/quicktime strona QuickTime] i zainstaluj odtwarzacz. - </notification> - <notification name="NoPlugin"> - Nie znaleziono wtyczki mediów dla "[MIME_TYPE]" typu mime. Media tego typu bÄ™dÄ… niedostÄ™pne. - </notification> - <notification name="MediaPluginFailed"> - NastÄ™pujÄ…ce wtyczki mediów nie dziaÅ‚ajÄ…: - [PLUGIN] - -Zainstaluj proszÄ™ wtyczki ponownie lub skontaktuj siÄ™ z dostawcÄ… jeÅ›li nadal problem bÄ™dzie wystÄ™powaÅ‚. - <form name="form"> - <ignore name="ignore" text="Wtyczka mediów nie dziaÅ‚a"/> - </form> - </notification> - <notification name="OwnedObjectsReturned"> - Twoje obiekty z wybranej posiadÅ‚oÅ›ci zostaÅ‚y zwrócone do Twojej Szafy. - </notification> - <notification name="OtherObjectsReturned"> - Obiekty należące do [NAME] na wybranej posiadÅ‚oÅ›ci zostaÅ‚y zwrócone do Szafy tej osoby. - </notification> - <notification name="OtherObjectsReturned2"> - Obiekty z posiadÅ‚oÅ›ci należącej do Rezydenta'[NAME]' zostaÅ‚y zwrócone do wÅ‚aÅ›ciciela. - </notification> - <notification name="GroupObjectsReturned"> - Obiekty z wybranej posiadÅ‚oÅ›ci przypisane do grupy [GROUPNAME] zostaÅ‚y zwrócone do szafy ich wÅ‚aÅ›cicieli. -Przekazywalne obiekty przekazne grupie zostaÅ‚y zwrócone do ich poprzednich wÅ‚aÅ›cicieli. -Nieprzekazywalne obiekty przekazane grupie zostaÅ‚y usuniÄ™te. - </notification> - <notification name="UnOwnedObjectsReturned"> - Obiekty z wybranej posiadÅ‚oÅ›ci które nie należą do Ciebie zostaÅ‚y zwrócone do ich wÅ‚aÅ›cicieli. - </notification> - <notification name="ServerObjectMessage"> - Wiadomość od [NAME]: -<nolink>[MSG]</nolink> - </notification> - <notification name="NotSafe"> - Ta posiadÅ‚ość pozwala na uszkodzenia. -Możesz doznać tutaj urazu. Jeżeli zginiesz nastÄ…pi teleportacja do Twojego miejsca startu. - </notification> - <notification name="NoFly"> - Ta posiadÅ‚ość nie pozwala na latanie. -Nie możesz tutaj latać. - </notification> - <notification name="PushRestricted"> - Popychanie niedozwolone. Nie możesz tutaj popychać innych, chyba, że jesteÅ› wÅ‚aÅ›cicielem tej posiadÅ‚oÅ›ci. - </notification> - <notification name="NoVoice"> - Ta posiadÅ‚ość nie pozwala na rozmowy. - </notification> - <notification name="NoBuild"> - Ta posiadÅ‚ość nie pozwala na budowanie. Nie możesz tworzyć tutaj obiektów. - </notification> - <notification name="ScriptsStopped"> - Administrator czasowo zatrzymaÅ‚ skrypty w tym regionie. - </notification> - <notification name="ScriptsNotRunning"> - Å»adne skrypty nie dziaÅ‚ajÄ… w tym regionie. - </notification> - <notification name="NoOutsideScripts"> - Ta posiadÅ‚ość nie pozwala na zewnÄ™trzne skrypty. - -Å»adne skrypty nie bÄ™dÄ… tutaj dziaÅ‚ać za wyjÄ…tkiem skryptów należących do wÅ‚aÅ›ciciela posiadÅ‚oÅ›ci. - </notification> - <notification name="ClaimPublicLand"> - Tylko publiczne posiadÅ‚oÅ›ci w tym regionie mogÄ… być przejÄ™te. - </notification> - <notification name="RegionTPAccessBlocked"> - Ze wzglÄ™du na Twój wiek, nie jesteÅ› uprawniony do przebywania w tym regionie. Możesz potrzebować weryfikacji wieku bÄ…dź instalacji najnowszej wersji klienta. - -Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać wiÄ™cej informacji na temat dostÄ™pu do regionów z podanym rodzajem treÅ›ci jakÄ… zawiera. - </notification> - <notification name="URBannedFromRegion"> - ZostaÅ‚eÅ› zbanowany w regionie. - </notification> - <notification name="NoTeenGridAccess"> - Twoje konto nie może zostać poÅ‚Ä…czone z podanym regionem Teen Grid. - </notification> - <notification name="ImproperPaymentStatus"> - Nie posiadasz odpowiedniego statusu pÅ‚atniczego by uzyskać dostÄ™p do regionu. - </notification> - <notification name="MustGetAgeParcel"> - By móc przebywać na tej posiadÅ‚oÅ›ci wymagana jest weryfikacja Twojego wieku. - </notification> - <notification name="NoDestRegion"> - Żądana lokalizacja regionu nie zostaÅ‚a odnaleziona. - </notification> - <notification name="NotAllowedInDest"> - Brak dostÄ™pu do podanej lokalizacji. - </notification> - <notification name="RegionParcelBan"> - Nie możesz przejść przez zamkniÄ™tÄ… posiadÅ‚ość. Spróbuj skorzystać z innej drogi. - </notification> - <notification name="TelehubRedirect"> - ZostaÅ‚eÅ› przeniesiony do teleportera. - </notification> - <notification name="CouldntTPCloser"> - Brak możliwoÅ›ci teleportacji do bliższej lokacji. - </notification> - <notification name="TPCancelled"> - Teleportacja anulowana. - </notification> - <notification name="FullRegionTryAgain"> - Region, który chcesz odwiedzić jest w tej chwili peÅ‚ny. -Spróbuj ponowanie za kilka minut. - </notification> - <notification name="GeneralFailure"> - Nieudana próba. - </notification> - <notification name="RoutedWrongRegion"> - WysÅ‚ano niewÅ‚aÅ›ciwe poÅ‚Ä…czenie do regionu. ProszÄ™ spróbować ponownie. - </notification> - <notification name="NoValidAgentID"> - Nieważny identyfikator agenta. - </notification> - <notification name="NoValidSession"> - Nieważny identyfikator sesji. - </notification> - <notification name="NoValidCircuit"> - Nieważny obwód kodowania. - </notification> - <notification name="NoValidTimestamp"> - NiewÅ‚aÅ›ciwy czas zapisu. - </notification> - <notification name="NoPendingConnection"> - Brak możliwoÅ›ci wykonania poÅ‚Ä…czenia. - </notification> - <notification name="InternalUsherError"> - Podczas teleportacji nastÄ…piÅ‚ bÅ‚Ä…d wewnÄ™trzny, który może być wynikiem problemów serwera. - </notification> - <notification name="NoGoodTPDestination"> - Brak lokalizacji punktu do teleportacji w podanym regionie. - </notification> - <notification name="InternalErrorRegionResolver"> - Podczas próby odnalezienia globalnych współrzÄ™dych dla żądanej teleportacji pojawiÅ‚ siÄ™ wewnÄ™trzny bÅ‚Ä…d. Może być to wynikiem problemów serwera. - </notification> - <notification name="NoValidLanding"> - Nieważny punkt lÄ…dowania. - </notification> - <notification name="NoValidParcel"> - Nieważana posiadÅ‚ość. - </notification> - <notification name="ObjectGiveItem"> - Obiekt o nazwie <nolink>[OBJECTFROMNAME]</nolink>, którego wÅ‚aÅ›cicielem jest [NAME_SLURL] oferuje Tobie <nolink>[ITEM_SLURL]</nolink>. Korzystanie z tego obieku wymaga przelÄ…czenia siÄ™ na tryb zaawansowany, w którym bÄ™dzie można odszukać obiekt w Twojej Szafie. W celu przeÅ‚Ä…czenia trybu życia na zaawansowany, zamknij i uruchom ponownie aplikacjÄ™. Przed ponownym zalogowaniem zmieÅ„ tryb życia na ekranie logowania. - <form name="form"> - <button name="Keep" text="Zaakceptuj obiekt"/> - <button name="Discard" text="Odrzuć obiekt"/> - <button name="Mute" text="Zablokuj obiekt"/> - </form> - </notification> - <notification name="UserGiveItem"> - [NAME_SLURL] proponuje Tobie [ITEM_SLURL]. Korzystanie z tego obieku wymaga przelÄ…czenia siÄ™ na tryb zaawansowany, w którym bÄ™dzie można odszukać obiekt w Twojej Szafie. W celu przeÅ‚Ä…czenia trybu życia na zaawansowany, zamknij i uruchom ponownie aplikacjÄ™. Przed ponownym zalogowaniem zmieÅ„ tryb życia na ekranie logowania. - <form name="form"> - <button name="Show" text="Zaakceptuj obiekt"/> - <button name="Discard" text="Odrzuć obiekt"/> - <button name="Mute" text="Zablokuj użytkownika"/> - </form> - </notification> - <notification name="GodMessage"> - [NAME] - -[MESSAGE] - </notification> - <notification name="JoinGroup"> - [MESSAGE] - <form name="form"> - <button name="Join" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - <button name="Info" text="Info"/> - </form> - </notification> - <notification name="TeleportOffered"> - [NAME_SLURL] proponuje Ci teleportacjÄ™ do siebie: - -[MESSAGE] - [MATURITY_STR] <icon>[MATURITY_ICON]</icon> - <form name="form"> - <button name="Teleport" text="Teleportuj"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="TeleportOfferSent"> - Oferta teleportacji wysÅ‚ana do [TO_NAME] - </notification> - <notification name="GotoURL"> - [MESSAGE] -[URL] - <form name="form"> - <button name="Later" text="Póżniej"/> - <button name="GoNow..." text="Teraz..."/> - </form> - </notification> - <notification name="OfferFriendship"> - [NAME_SLURL] proponuje znajomość. - -[MESSAGE] - -(BÄ™dziecie mogli widzieć swój status online) - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - </form> - </notification> - <notification name="FriendshipOffered"> - Oferta znajomoÅ›ci dla [TO_NAME] - </notification> - <notification name="OfferFriendshipNoMessage"> - [NAME_SLURL] proponuje Ci znajomość. - -(Z zalożenia bÄ™dzie widzić swój status online.) - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - </form> - </notification> - <notification name="FriendshipAccepted"> - Twoja propozycja znajomoÅ›ci zostaÅ‚a przyjÄ™ta przez [NAME]. - </notification> - <notification name="FriendshipDeclined"> - Twoja propozycja znajomoÅ›ci zostaÅ‚a odrzucona przez [NAME]. - </notification> - <notification name="FriendshipAcceptedByMe"> - Propozycja znajomoÅ›ci zostaÅ‚a zaakceptowana. - </notification> - <notification name="FriendshipDeclinedByMe"> - Propozycja znajomoÅ›ci zostaÅ‚a odrzucona. - </notification> - <notification name="OfferCallingCard"> - [NAME] oferuje swojÄ… wizytówkÄ™. -Wizytówka w Twojej Szafie umożliwi szybki kontakt IM z tym Rezydentem. - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - </form> - </notification> - <notification name="RegionRestartMinutes"> - Restart regionu za [MINUTES] min. -NastÄ…pi wylogowanie jeżeli zostaniesz w tym regionie. - </notification> - <notification name="RegionRestartSeconds"> - Restart regionu za [SECONDS] sec. -NastÄ…pi wylogowanie jeżeli zostaniesz w tym regionie. - </notification> - <notification name="LoadWebPage"> - ZaÅ‚adować stronÄ™ [URL]? - -[MESSAGE] - -Od obiektu: <nolink>[OBJECTNAME]</nolink>, wÅ‚aÅ›ciciel wÅ‚aÅ›ciciel: [NAME]? - <form name="form"> - <button name="Gotopage" text="ZaÅ‚aduj"/> - <button name="Cancel" text="Anuluj"/> - </form> - </notification> - <notification name="FailedToFindWearableUnnamed"> - [TYPE] - nie znaleziono w bazie danych. - </notification> - <notification name="FailedToFindWearable"> - [TYPE] [DESC] - nie znaleziono w bazie danych. - </notification> - <notification name="InvalidWearable"> - Obiekt, który chcesz zaÅ‚ożyć używa narzÄ™dzia nieobecnego w wersji klienta, którÄ… używasz. By go zaÅ‚ożyć Å›ciÄ…gnij najnowszÄ… wersjÄ™ [APP_NAME]. - </notification> - <notification name="ScriptQuestion"> - Obiekt '<nolink>[OBJECTNAME]</nolink>', którego wÅ‚aÅ›cicielem jest '[NAME]', chciaÅ‚by: - -[QUESTIONS] -Czy siÄ™ zgadzasz? - <form name="form"> - <button name="Yes" text="Tak"/> - <button name="No" text="Nie"/> - <button name="Mute" text="Zablokuj"/> - </form> - </notification> - <notification name="ScriptQuestionCaution"> - Obiekt '<nolink>[OBJECTNAME]</nolink>', którego wÅ‚aÅ›cicielem jest '[NAME]' chciaÅ‚by: - -[QUESTIONS] -JeÅ›li nie ufasz temu obiektowi i jego kreatorowi, odmów. - -Czy siÄ™ zgadzasz? - <form name="form"> - <button name="Grant" text="Zaakceptuj"/> - <button name="Deny" text="Odmów"/> - <button name="Details" text="Szczegóły..."/> - </form> - </notification> - <notification name="ScriptDialog"> - [NAME]'s '<nolink>[TITLE]</nolink>' -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Zignoruj"/> - </form> - </notification> - <notification name="ScriptDialogGroup"> - [GROUPNAME]'s '<nolink>[TITLE]</nolink>' -[MESSAGE] - <form name="form"> - <button name="Ignore" text="Zignoruj"/> - </form> - </notification> - <notification name="BuyLindenDollarSuccess"> - DziÄ™kujemy za wpÅ‚atÄ™! - -Twój stan konta L$ zostanie zaktualizowany w momencie zakoÅ„czenia transakcji. Jeżeli w ciÄ…gu 20 minut, Twój balans konta nie ulegnie zmianie, transakcja zostaÅ‚a anulowana. W tym przypadku, pobrana kwota zostanie zwrócona na stan konta w US$. - -Status transkacji możesz sprawdzić odwiedzajÄ…c HistoriÄ™ Transakcji swojego konta na [http://secondlife.com/account/ Dashboard] - </notification> - <notification name="FirstOverrideKeys"> - Twoje sterujÄ…ce klawisze zostaÅ‚y przejÄ™te przez obiekt. -Użyj strzaÅ‚ek lub AWSD żeby sprawdzić ich dziaÅ‚anie. -Niektóre obiekty (np broÅ„) wymagajÄ… trybu panoramicznego. -Nacisnij 'M' żeby go wybrać. - </notification> - <notification name="FirstSandbox"> - Ten region to piaskownica. - -Obiekty które tu zbudujesz mogÄ… zostać usuniÄ™te jak opuÅ›cisz ten obszar - piaskownice sÄ… regularnie czyszczone, sprawdź informacje na górze ekranu obok nazwy regionu. - </notification> - <notification name="MaxListSelectMessage"> - Maksymalnie możesz wybrać [MAX_SELECT] rzeczy -z tej listy. - </notification> - <notification name="VoiceInviteP2P"> - [NAME] zaprasza CiÄ™ do rozmowy gÅ‚osem. -Wybierz Zaakceptuj żeby rozmawiać albo Odmów żeby nie przyjąć zaproszenia. -Wybierz Zablokuj żeby wyciszyć dzwoniÄ…cÄ… osób - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - <button name="Mute" text="Zablokuj"/> - </form> - </notification> - <notification name="AutoUnmuteByIM"> - WysÅ‚ano [NAME] prywatnÄ… wiadomość i ta osoba zostaÅ‚a automatycznie odblokowana. - </notification> - <notification name="AutoUnmuteByMoney"> - Przekazano [NAME] pieniÄ…dze i ta osoba zostaÅ‚a automatycznie odblokowana. - </notification> - <notification name="AutoUnmuteByInventory"> - Zaoferowno [NAME] obiekty i ta osoba zostaÅ‚a automatycznie odblokowana. - </notification> - <notification name="VoiceInviteGroup"> - [NAME] zaczyna rozmowÄ™ z grupÄ… [GROUP]. -Wybierz Zaakceptuj żeby rozmawiać albo Odmów żeby nie przyjąć zaproszenia. Wybierz Zablokuj żeby wyciszyć dzwoniÄ…cÄ… osobÄ™. - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - <button name="Mute" text="Zablokuj"/> - </form> - </notification> - <notification name="VoiceInviteAdHoc"> - [NAME] zaczyna konferencjÄ™ gÅ‚osem. -Wybierz Zaakceptuj żeby rozmawiać albo Odmów żeby nie przyjąć zaproszenia. Wybierz Zablokuj żeby wyciszyć dzwoniÄ…cÄ… osobÄ™. - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - <button name="Mute" text="Zablokuj"/> - </form> - </notification> - <notification name="InviteAdHoc"> - [NAME] zaprasza CiÄ™ do konferencji poprzez Czat/IM. -Wybierz Zaakceptuj żeby zacząć czat albo Odmów żeby nie przyjąć zaproszenia. Wybierz Zablokuj żeby wyciszyć tÄ… osobÄ™. - <form name="form"> - <button name="Accept" text="Zaakceptuj"/> - <button name="Decline" text="Odmów"/> - <button name="Mute" text="Block"/> - </form> - </notification> - <notification name="VoiceChannelFull"> - Rozmowa w której chcesz uczestniczyć, [VOICE_CHANNEL_NAME], nie akceptuje wiÄ™cej rozmówców. Spróbuj póżniej. - </notification> - <notification name="ProximalVoiceChannelFull"> - Przepraszamy. Limit rozmów zostaÅ‚ przekroczony w tym obszarze. Spróbuj w innym miejscu. - </notification> - <notification name="VoiceChannelDisconnected"> - [VOICE_CHANNEL_NAME] odÅ‚Ä…czyÅ‚ siÄ™. PrzeÅ‚Ä…czanie do rozmowy przestrzennej. - </notification> - <notification name="VoiceChannelDisconnectedP2P"> - [VOICE_CHANNEL_NAME] skoÅ„czyÅ‚ rozmowÄ™. PrzeÅ‚Ä…czanie do rozmowy przestrzennej. - </notification> - <notification name="P2PCallDeclined"> - [VOICE_CHANNEL_NAME] odmówiÅ‚ poÅ‚Ä…czenia. PrzeÅ‚Ä…czanie do rozmowy przestrzennej. - </notification> - <notification name="P2PCallNoAnswer"> - [VOICE_CHANNEL_NAME] nie odpowiada. PrzeÅ‚Ä…czanie do rozmowy przestrzennej. - </notification> - <notification name="VoiceChannelJoinFailed"> - Brak poÅ‚Ä…czenia z [VOICE_CHANNEL_NAME], spróbuj póżniej. PrzeÅ‚Ä…czanie do rozmowy przestrzennej. - </notification> - <notification name="VoiceLoginRetry"> - Tworzymy kanaÅ‚ gÅ‚osu dla Ciebie. Moze potrwać minutÄ™. - </notification> - <notification name="VoiceEffectsExpired"> - Subskrypcja jednego lub wiÄ™cej z Voice Morph wygasÅ‚a. -[[URL] Kliknij tutaj] oby odnowić subskrypcjÄ™. - </notification> - <notification name="VoiceEffectsExpiredInUse"> - Czas aktywnoÅ›ci Voice Morph wygasÅ‚, normalne ustawienia Twojego gÅ‚osu zostaÅ‚y zastosowane. -[[URL] Kliknij tutaj] aby odnowić subskrypcjÄ™. - </notification> - <notification name="VoiceEffectsWillExpire"> - Jedno lub wiÄ™cej z Twoich Voice Morph wygaÅ›nie za mniej niż [INTERVAL] dni. -[[URL] Klinij tutaj] aby odnowić subskrypcjÄ™. - </notification> - <notification name="VoiceEffectsNew"> - Nowe Voice Morph sÄ… dostÄ™pne! - </notification> - <notification name="Cannot enter parcel: not a group member"> - Nie masz dostÄ™pu do posiadÅ‚oÅ›ci, nie należysz do wÅ‚aÅ›ciwej grupy. - </notification> - <notification name="Cannot enter parcel: banned"> - Masz wzbroniony wstÄ™p na tÄ… posiadÅ‚oÅ›ci (ban). - </notification> - <notification name="Cannot enter parcel: not on access list"> - Nie masz dostÄ™pu do posiadÅ‚oÅ›ci, nie jesteÅ› na liÅ›cie dostÄ™pu. - </notification> - <notification name="VoiceNotAllowed"> - Nie masz pozwolenia na poÅ‚Ä…czenie z rozmowÄ… [VOICE_CHANNEL_NAME]. - </notification> - <notification name="VoiceCallGenericError"> - BÅ‚Ä…d podczas Å‚Ä…czenia z rozmowÄ… [VOICE_CHANNEL_NAME]. Spróbuj póżniej. - </notification> - <notification name="UnsupportedCommandSLURL"> - Nie można otworzyć wybranego SLurl. - </notification> - <notification name="BlockedSLURL"> - SLurl zostaÅ‚ otrzymany z niesprawdzonej przeglÄ…darki i zostaÅ‚ zablokowany dla bezpieczeÅ„stwa. - </notification> - <notification name="ThrottledSLURL"> - Wiele SLurlów zostaÅ‚o otrzymanych w krótkim czasie od niesprawdzonej przeglÄ…darki. -ZostanÄ… zablokowane na kilka sekund dla bezpieczeÅ„stwa. - </notification> - <notification name="IMToast"> - [MESSAGE] - <form name="form"> - <button name="respondbutton" text="Odpowiedź"/> - </form> - </notification> - <notification name="ConfirmCloseAll"> - Czy chcesz zamknąć wszystkie wiadomoÅ›ci IM? - <usetemplate ignoretext="Potwierdź, przed zamkniÄ™ciem wszystkich wiadomoÅ›ci prywatnych (IM)." name="okcancelignore" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="AttachmentSaved"> - ZaÅ‚Ä…cznik zostaÅ‚ zapisany. - </notification> - <notification name="UnableToFindHelpTopic"> - Nie można znależć tematu pomocy dla tego elementu. - </notification> - <notification name="ObjectMediaFailure"> - BÅ‚Ä…d serwera: aktualizacja mediów nie powiodÅ‚a siÄ™. -'[ERROR]' - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="TextChatIsMutedByModerator"> - Twój czat zostaÅ‚ wyciszony przez moderatora. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="VoiceIsMutedByModerator"> - Twoja rozmowa gÅ‚osowa zostaÅ‚a wyciszona przez moderatora. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="ConfirmClearTeleportHistory"> - Czy na pewno chcesz usunąć historiÄ™ teleportacji? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> - </notification> - <notification name="BottomTrayButtonCanNotBeShown"> - Wybrany przycisk nie może zostać wyÅ›wietlony w tej chwili. -Przycisk zostanie wyÅ›wietlony w przypadku dostatecznej iloÅ›ci przestrzeni. - </notification> - <notification name="ShareNotification"> - Zaznacz Rezydentów, z którymi chcesz siÄ™ podzielić. - </notification> - <notification name="ShareItemsConfirmation"> - Czy na pewno chcesz udostÄ™pnić nastÄ™pujÄ…ce obiekty: - -<nolink>[ITEMS]</nolink> - -nastÄ™pujÄ…cym Rezydentom: - -[RESIDENTS] - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Ok"/> - </notification> - <notification name="ItemsShared"> - Obiekty zostaÅ‚y udostÄ™pnione. - </notification> - <notification name="DeedToGroupFail"> - Przekazanie grupie nie powiodÅ‚o siÄ™. - </notification> - <notification name="AvatarRezNotification"> - ( [EXISTENCE] sekund w Second Life) -Awatar '[NAME]' rozchmurzyÅ‚ siÄ™ po [TIME] sekundach. - </notification> - <notification name="AvatarRezSelfBakedDoneNotification"> - ( [EXISTENCE] sekund w Second Life) -You finished baking your outfit after [TIME] seconds. - </notification> - <notification name="AvatarRezSelfBakedUpdateNotification"> - ( [EXISTENCE] sekund w Second Life ) -WysÅ‚ano aktualizacjÄ™ wyglÄ…du po [TIME] sekundach. -[STATUS] - </notification> - <notification name="AvatarRezCloudNotification"> - ( [EXISTENCE] sekund w Second Life ) -Awatar '[NAME]' staÅ‚ siÄ™ chmurÄ…. - </notification> - <notification name="AvatarRezArrivedNotification"> - ( [EXISTENCE] sekund w Second Life) -Awatar '[NAME]' pojawiÅ‚ siÄ™. - </notification> - <notification name="AvatarRezLeftCloudNotification"> - ( [EXISTENCE] sekund w Second Life ) -Awatar '[NAME]' pozostaÅ‚ [TIME] sekund chmurÄ…. - </notification> - <notification name="AvatarRezEnteredAppearanceNotification"> - ( [EXISTENCE] sekund w Second Life ) -Awatar '[NAME]' rozpoczÄ…Å‚ edycjÄ™ wyglÄ…du. - </notification> - <notification name="AvatarRezLeftAppearanceNotification"> - ( [EXISTENCE] sekund w Second Life ) -Awatar '[NAME]' opuÅ›ciÅ‚ edycjÄ™ wyglÄ…du. - </notification> - <notification name="NoConnect"> - WystÄ™puje problem z poÅ‚Ä…czeniem [PROTOCOL] [HOSTID]. -ProszÄ™ sprawdź swojÄ… sieć i ustawienia firewall. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="NoVoiceConnect"> - WystÄ™puje problem z Twoim poÅ‚Ä…czniem gÅ‚osowym: - -[HOSTID] - -Komunikacja gÅ‚osowa nie bÄ™dzie dostÄ™pna. -ProszÄ™ sprawdź swojÄ… sieć i ustawienia firewall. - <usetemplate name="okbutton" yestext="OK"/> - </notification> - <notification name="AvatarRezLeftNotification"> - ( [EXISTENCE] sekund w Second Life) -Awatar '[NAME]' pozostaÅ‚ w peÅ‚ni zaÅ‚adowany. - </notification> - <notification name="AvatarRezSelfBakedTextureUploadNotification"> - ( [EXISTENCE] sekund w Second Life ) -Zbakowane tekstury [RESOLUTION] dla '[BODYREGION]' zostaÅ‚y zaÅ‚adowane po[TIME] sekundach. - </notification> - <notification name="AvatarRezSelfBakedTextureUpdateNotification"> - ( [EXISTENCE] sekund w Second Life ) -Zbakowane tekstury zostaÅ‚y lokalnie zaktualizowane [RESOLUTION] dla '[BODYREGION]' po [TIME] sekundach. - </notification> - <notification name="ConfirmLeaveCall"> - Czy jestes pewien/pewna, że chcesz zakoÅ„czyć rozmowÄ™? - <usetemplate ignoretext="Potwierdź zanim rozmowa gÅ‚osowa zostanie zakoÅ„czona" name="okcancelignore" notext="Nie" yestext="Tak"/> - </notification> - <notification name="ConfirmMuteAll"> - Wybrano wyciszenie wszystkich uczestników rozmowy gÅ‚osowej w grupie. -To spowoduje również wyciszenie wszystkich Rezydentów, którzy doÅ‚Ä…czÄ… póżniej do rozmowy, nawet jeÅ›li zakoÅ„czysz rozmowÄ™. - -Wyciszyć wszystkich? - <usetemplate ignoretext="Potwierdź zanim zostanÄ… wyciszeni wszyscy uczestnicy rozmowy gÅ‚osowej w grupie" name="okcancelignore" notext="Anuluj" yestext="Ok"/> - </notification> - <notification label="Czat" name="HintChat"> - W celu przylÄ…czenia siÄ™ do rozmowy zacznij pisać w poniższym polu czatu. - </notification> - <notification label="WstaÅ„" name="HintSit"> - Aby wstać i opuÅ›cić pozycjÄ™ siedzÄ…cÄ…, kliknij przycisk WstaÅ„. - </notification> - <notification label="Odkrywaj Åšwiat" name="HintDestinationGuide"> - Destination Guide zawiera tysiÄ…ce nowych miejsc do odkrycia. Wybierz lokalizacjÄ™ i teleportuj siÄ™ aby rozpocząć zwiedzanie. - </notification> - <notification label="Schowek" name="HintSidePanel"> - Schowek umożliwia szybki dostÄ™p do Twojej Szafy, ubraÅ„, profili i innych w panelu bocznym. - </notification> - <notification label="Ruch" name="HintMove"> - Aby chodzić lub biegać, otwórz panel ruchu i użyj strzaÅ‚ek do nawigacji. Możesz także używać strzaÅ‚ek z klawiatury. - </notification> - <notification label="WyÅ›wietlana nazwa" name="HintDisplayName"> - Ustaw wyÅ›wietlanÄ… nazwÄ™, którÄ… możesz zmieniać tutaj. Jest ona dodatkiem do unikatowej nazwy użytkownika, która nie może być zmieniona. Możesz zmienić sposób w jaki widzisz nazwy innych osób w Twoich Ustawieniach. - </notification> - <notification label="Ruch" name="HintMoveArrows"> - Użyj przycisków ze strzaÅ‚kami z klawiatury aby chodzić. JeÅ›li wciÅ›niesz strzaÅ‚kÄ™ 'do góry' podwójnie, zaczniesz biec. - </notification> - <notification label="Widok" name="HintView"> - To change your camera view, use the Orbit and Pan controls. Zresetuj widok poprzez wciÅ›niÄ™cie klawisza Esc lub chodzenie. - </notification> - <notification label="Szafa" name="HintInventory"> - Sprawdź swojÄ… SzafÄ™ aby znaleźć obiekty. Najnowsze obiekty mogÄ… być Å‚atwo odnalezione w zakÅ‚adce Nowe obiekty. - </notification> - <notification label="Otrzymano L$!" name="HintLindenDollar"> - Tutaj znajduje siÄ™ Twoj bieżący bilans L$. Kliknij Kup aby kupić wiÄ™cej L$. - </notification> - <notification name="PopupAttempt"> - WyskakujÄ…ce okienko zostaÅ‚o zablokowane. - <form name="form"> - <ignore name="ignore" text="Zezwól na wyskakujÄ…ce okienka"/> - <button name="open" text="Otwórz wyskakujÄ…ce okno."/> - </form> - </notification> - <notification name="AuthRequest"> - Strpna '<nolink>[HOST_NAME]</nolink>' w domenie '[REALM]' wymaga nazwy użytkownika i hasÅ‚a. - <form name="form"> - <input name="username" text="Nazwa użytkownika"/> - <input name="password" text="HasÅ‚o"/> - <button name="ok" text="WyÅ›lij"/> - <button name="cancel" text="Anuluj"/> - </form> - </notification> - <notification label="" name="ModeChange"> - Zmiana trybu wymaga restartu. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoClassifieds"> - Tworzenie i edycja reklam jest możliwa tylko w trybie zaawansowanym. Czy chcesz wylogować siÄ™ i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoGroupInfo"> - Tworzenie i edycja grup jest możliwa tylko w trybie zaawansowanym. Czy chcesz wylogować siÄ™ i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoPicks"> - Tworzenie i edycja Ulubionych jest możliwa jedynie w trybie zaawansowanym. Czy chcesz siÄ™ wylogować i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoWorldMap"> - OglÄ…danie mapy Å›wiata jest możliwe tylko w trybie zaawansowanym. Czy chcesz siÄ™ wylogować i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoVoiceCall"> - Rozmowy gÅ‚osowe sÄ… możliwe tylko w trybie zaawansowanym. Czy chcesz wylogować siÄ™ i zmienić tryb? - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoAvatarShare"> - UdostÄ™pnienie jest możliwe tylko w trybie zaawansowanym. Czy chcesz wylogować siÄ™ i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <notification label="" name="NoAvatarPay"> - PÅ‚acenie innym Rezydentom jest możliwe tylko w trybie zaawansowanym. Czy chcesz siÄ™ wylogować i zmienić tryb? Opcja wyboru trybu życia jest widoczna na ekranie logowania. - <usetemplate name="okcancelbuttons" notext="Nie zamykaj" yestext="Zamknij"/> - </notification> - <global name="UnsupportedCPU"> - - PrÄ™dkość Twojego CPU nie speÅ‚nia minimalnych wymagaÅ„. - </global> - <global name="UnsupportedGLRequirements"> - WyglÄ…da na to, że Twój system nie speÅ‚nia wymagaÅ„ sprzÄ™towych [APP_NAME]. [APP_NAME] wymaga karty graficznej kompatybilnej z OpenGL z multiteksturami. Jeżeli masz takÄ… kartÄ™ zainstaluj najnowsze sterowniki do niej i uaktualnienia systemu operacyjnego. - -Jeżeli wciąż masz problemy sprawdź: [SUPPORT_SITE]. - </global> - <global name="UnsupportedCPUAmount"> - 796 - </global> - <global name="UnsupportedRAMAmount"> - 510 - </global> - <global name="UnsupportedGPU"> - - Twoja karta graficzna nie speÅ‚nia minimalnych wymagaÅ„. - </global> - <global name="UnsupportedRAM"> - - Pamięć Twojego systemu nie speÅ‚nia minimalnych wymagaÅ„. - </global> - <global name="You can only set your 'Home Location' on your land or at a mainland Infohub."> - JeÅ›li jesteÅ› wÅ‚aÅ›cicielem posiadÅ‚oÅ›ci, możesz ustawić na niej miejsce startu. -W innym przypadku możesz poszukać na mapie miejsca oznaczone jako "Infohub". - </global> - <global name="You died and have been teleported to your home location"> - NastÄ…piÅ‚a Å›mierć i teleportacja do Miejsca Startu. - </global> -</notifications> diff --git a/indra/newview/skins/minimal/xui/pl/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/pl/panel_adhoc_control_panel.xml deleted file mode 100644 index ba0c85e4ef4..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="DzwoÅ„" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="ZakoÅ„cz rozmowÄ™" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="PrzeÅ‚Ä…czniki gÅ‚osu" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/pl/panel_bottomtray.xml deleted file mode 100644 index f49d8209382..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_bottomtray.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="WÅ‚Ä…cza/wyÅ‚Ä…cza mikrofon"/> - <string name="VoiceControlBtnToolTip" value="Pokazuje/Ukrywa panel kontroli gÅ‚osu"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gesturki" name="Gesture" tool_tip="Pokazuje/Ukrywa gesturki"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Widok" name="camera_btn" tool_tip="Pokaż/Ukryj ustawienia kamery"/> - </layout_panel> - <layout_panel name="avatar_and_destinations_panel"> - <bottomtray_button label="Atrakcje turystyczne" name="destination_btn" tool_tip="Pokaż okno dotyczÄ…ce ludzi"/> - </layout_panel> - <layout_panel name="avatar_and_destinations_panel"> - <bottomtray_button label="Mój awatar" name="avatar_btn"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Ludzie" name="show_people_button" tool_tip="Pokazuje okno dotyczÄ…ce ludzi"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Pokazuje okno profilu."/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="POMOC" name="show_help_btn" tool_tip="Otwiera temat pomocy Second Life"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Rozmowy"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="OgÅ‚oszenia"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/pl/panel_group_control_panel.xml deleted file mode 100644 index 074f572a4c9..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Grupa" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="DzwoÅ„" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="ZakoÅ„cz rozmowÄ™" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Otwórz kontroler gÅ‚osu" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/pl/panel_im_control_panel.xml deleted file mode 100644 index 4aadd3b93b2..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Poznaj" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleportuj" name="teleport_btn" tool_tip="Teleportuj"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="UdostÄ™pnij" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="ZapÅ‚ać" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="DzwoÅ„" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="ZakoÅ„cz rozmowÄ™" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="PrzeÅ‚Ä…czniki gÅ‚osu" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_login.xml b/indra/newview/skins/minimal/xui/pl/panel_login.xml deleted file mode 100644 index dc8e7399af1..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_login.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Użytkownik: - </text> - <combo_box name="username_combo" tool_tip="NazwÄ™ użytkownika wybierasz przy rejestracji, np. bobsmith12 lub Steller Sunshine"/> - <text name="password_text"> - HasÅ‚o: - </text> - <check_box label="ZapamiÄ™taj hasÅ‚o" name="remember_check"/> - <button label="PoÅ‚Ä…cz" name="connect_btn"/> - <text name="mode_selection_text"> - Tryb życia: - </text> - <combo_box name="mode_combo" tool_tip="Wybierz tryb życia. Wybierz tryb turystyczny dla Å‚atwego zwiedzania i czatowania. Wybierz tryb zaawansowany aby mieć dostÄ™p do wiÄ™kszej iloÅ›ci opcji."> - <combo_box.item label="Turystyczny" name="Basic"/> - <combo_box.item label="Zaawansowany" name="Advanced"/> - </combo_box> - <text name="start_location_text"> - Rozpocznij w: - </text> - <combo_box name="start_location_combo"> - <combo_box.item label="Ostatnie Miejsce" name="MyLastLocation"/> - <combo_box.item label="Moje Miejsce Startu" name="MyHome"/> - <combo_box.item label="<Wpisz Region>" name="Typeregionname"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Utwórz nowe konto - </text> - <text name="forgot_password_text"> - ZapomniaÅ‚eÅ› swojej nazwy użytkownika lub hasÅ‚a? - </text> - <text name="login_help"> - Potrzebujesz pomocy z logowaniem siÄ™? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/pl/panel_navigation_bar.xml deleted file mode 100644 index b01e686c419..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Wróć do poprzedniej lokalizacji"/> - <pull_button name="forward_btn" tool_tip="Idź do nastÄ™pnej lokalizacji"/> - <button name="home_btn" tool_tip="Teleportuj do miejsca startu"/> - <location_input label="Lokalizacja" name="location_combo"/> - <search_combo_box label="Szukaj" name="search_combo_box" tool_tip="Szukaj"> - <combo_editor label="Szukaj [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="PrzeciÄ…gnij swoje landmarki tutaj by szybko dostać siÄ™ do swoich ulubionych miejsc w Second Life!"> - <label name="favorites_bar_label" tool_tip="PrzeciÄ…gnij swoje landmarki tutaj by szybko dostać siÄ™ do swoich ulubionych miejsc w Second Life!"> - Pasek Ulubionych - </label> - <chevron_button name=">>" tool_tip="Pokaż wiÄ™cej Moich Ulubionych"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_people.xml b/indra/newview/skins/minimal/xui/pl/panel_people.xml deleted file mode 100644 index 3b3aaa0987c..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_people.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Ludzie" name="people_panel"> - <string name="no_recent_people" value="Brak ostatnich rozmówców. Chcesz spotkać ludzi? Skorzystaj z przycisku "Atrakcje turystyczne" poniżej."/> - <string name="no_filtered_recent_people" value="Brak ostatnich rozmówców posiadajÄ…cych wskazane imiÄ™."/> - <string name="no_one_near" value="Nie ma nikogo w pobliżu. Chcesz spotkać ludzi? Skorzystaj z przycisku "Atrakcje turystyczne" poniżej."/> - <string name="no_one_filtered_near" value="Nie ma nikogo o wskazanym imieniu w pobliżu."/> - <string name="no_friends_online" value="Brak dostÄ™pnych znajomych"/> - <string name="no_friends" value="Brak znajomych"/> - <string name="no_friends_msg"> - Kliknij prawym przyciskiem na Rezydenta aby dodać go do listy znajomych. -Chcesz spotkać ludzi? Skorzystaj z przycisku "Atrakcje turystyczne" poniżej. - </string> - <string name="no_filtered_friends_msg"> - Nie znaleziono tego czego szukasz? Skorzystaj z przycisku "Atrakcje turystyczne" poniżej. - </string> - <string name="people_filter_label" value="Filtruj ludzi"/> - <string name="groups_filter_label" value="Filtruj grupy"/> - <string name="no_filtered_groups_msg" value="Nie znaleziono tego czego szukasz? Spróbuj [secondlife:///app/search/groups/[SEARCH_TERM] Szukaj]."/> - <string name="no_groups_msg" value="Chcesz doÅ‚Ä…czyć do grup? Spróbuj [secondlife:///app/search/groups Szukaj]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Podwójne klikniÄ™cie otwiera mapÄ™, wciÅ›nij Shift i przeciÄ…gnij myszkÄ… aby przesunąć)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Podwójne klikniÄ™cie aktywuje teleportacjÄ™, wciÅ›nij Shift i przeciÄ…gnij myszkÄ… aby przesunąć)"/> - <filter_editor label="Filtr" name="filter_input"/> - <tab_container name="tabs"> - <panel label="W POBLIÅ»U" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="nearby_view_sort_btn" tool_tip="Opcje"/> - <button name="add_friend_btn" tool_tip="Dodaj wybranego Rezydenta do znajomych"/> - </panel> - </panel> - <panel label="ZNAJOMI" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="DostÄ™pni"/> - <accordion_tab name="tab_all" title="Wszyscy"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="options_gear_btn_panel"> - <menu_button name="friends_viewsort_btn" tool_tip="Pokaż opcje dodatkowe"/> - </layout_panel> - <layout_panel name="add_btn_panel"> - <button name="add_btn" tool_tip="Dodaj wybranego Rezydenta do znajomych"/> - </layout_panel> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="UsuÅ„ zaznaczonÄ… osobÄ™ ze swojej listy znajomych"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="GRUPY" name="groups_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="groups_viewsort_btn" tool_tip="Opcje"/> - <button name="plus_btn" tool_tip="DoÅ‚Ä…cz do grupy/Stwórz nowÄ… grupÄ™"/> - <button name="activate_btn" tool_tip="Aktywuj wybranÄ… grupÄ™"/> - </panel> - </panel> - <panel label="OSTATNIE" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <menu_button name="recent_viewsort_btn" tool_tip="Opcje"/> - <button name="add_friend_btn" tool_tip="Dodaj wybranego Rezydenta do znajomych"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Profil" name="view_profile_btn" tool_tip="Pokaż zdjÄ™cie, grupy i inne informacje o Rezydencie"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="IM" name="im_btn" tool_tip="Otwórz wiadomoÅ›ci IM"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="DzwoÅ„" name="call_btn" tool_tip="ZadzwoÅ„ do tego Rezydenta"/> - </layout_panel> - <layout_panel name="share_btn_lp"> - <button label="UdostÄ™pnij" name="share_btn" tool_tip="UdostÄ™pnij obiekt z Szafy"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportuj" name="teleport_btn" tool_tip="Zaproponuj teleport"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Profil grupy" name="group_info_btn" tool_tip="Pokaż informacje o grupie"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Czat grupy" name="chat_btn" tool_tip="Otwórz sesjÄ™ czatu"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Rozmowa gÅ‚osowa w grupie" name="group_call_btn" tool_tip="Rozmowa gÅ‚osowa w tej grupie"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/pl/panel_side_tray_tab_caption.xml deleted file mode 100644 index 95cd7c53dc3..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Schowek"/> - <button name="undock" tool_tip="OdÅ‚Ä…cz"/> - <button name="dock" tool_tip="PrzyÅ‚Ä…cz"/> - <button name="show_help" tool_tip="Pomoc"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/pl/panel_status_bar.xml b/indra/newview/skins/minimal/xui/pl/panel_status_bar.xml deleted file mode 100644 index 6aa0d27bb80..00000000000 --- a/indra/newview/skins/minimal/xui/pl/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Niedziela:PoniedziaÅ‚ek:Wtorek:Åšroda:Czwartek:PiÄ…tek:Sobota - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - StyczeÅ„:Luty:Marzec:KwiecieÅ„:Maj:Czerwiec:Lipiec:StyczeÅ„:WrzesieÅ„:Październik:Listopad:GrudzieÅ„ - </panel.string> - <panel.string name="packet_loss_tooltip"> - Utracone pakiety - </panel.string> - <panel.string name="bandwidth_tooltip"> - Przepustowość - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Kliknij aby odÅ›wieżyć bilans L$" value="L$20"/> - <button label="Kup L$" name="buyL" tool_tip="Kliknij aby kupić wiÄ™cej L$"/> - </panel> - <text name="TimeText" tool_tip="Obecny czas (Pacyficzny)"> - 24:00 AM PST - </text> - <button name="media_toggle_btn" tool_tip="Start/Stop wszystkie media (Muzyka, Video, WWW)"/> - <button name="volume_btn" tool_tip="Regulacja gÅ‚oÅ›noÅ›ci"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/floater_camera.xml b/indra/newview/skins/minimal/xui/pt/floater_camera.xml deleted file mode 100644 index 4f3729c6231..00000000000 --- a/indra/newview/skins/minimal/xui/pt/floater_camera.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="camera_floater" title=""> - <floater.string name="rotate_tooltip"> - Girar a Câmera ao redor do Foco - </floater.string> - <floater.string name="zoom_tooltip"> - Aproximar a Câmera in direção ao Foco - </floater.string> - <floater.string name="move_tooltip"> - Mover a Câmera para Cima e para Baixo, para a Esquerda e para a Direita - </floater.string> - <floater.string name="camera_modes_title"> - Modos de câmera - </floater.string> - <floater.string name="pan_mode_title"> - Pan zoom orbital - </floater.string> - <floater.string name="presets_mode_title"> - Ângulos predefinidos - </floater.string> - <floater.string name="free_mode_title"> - Visualizar objeto - </floater.string> - <panel name="controls"> - <panel name="preset_views_list"> - <panel_camera_item name="front_view"> - <panel_camera_item.text name="front_view_text"> - Vista frontal - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="group_view"> - <panel_camera_item.text name="side_view_text"> - Vista lateral - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="rear_view"> - <panel_camera_item.text name="rear_view_text"> - Vista de trás - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="camera_modes_list"> - <panel_camera_item name="object_view"> - <panel_camera_item.text name="object_view_text"> - Vista de objetos - </panel_camera_item.text> - </panel_camera_item> - <panel_camera_item name="mouselook_view"> - <panel_camera_item.text name="mouselook_view_text"> - Vista do mouse - </panel_camera_item.text> - </panel_camera_item> - </panel> - <panel name="zoom" tool_tip="Aproximar a Câmera in direção ao Foco"> - <joystick_rotate name="cam_rotate_stick" tool_tip="Girar câmera ao redor do foco"/> - <slider_bar name="zoom_slider" tool_tip="Zoom de câmera para focalizar"/> - <joystick_track name="cam_track_stick" tool_tip="Move a câmera para cima e para baixo, direita e esquerda"/> - </panel> - </panel> - <panel name="buttons"> - <button label="" name="presets_btn" tool_tip="Ângulos predefinidos"/> - <button label="" name="pan_btn" tool_tip="Pan zoom orbital"/> - <button label="" name="avatarview_btn" tool_tip="Modos de câmera"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/floater_help_browser.xml b/indra/newview/skins/minimal/xui/pt/floater_help_browser.xml deleted file mode 100644 index 11428ff6516..00000000000 --- a/indra/newview/skins/minimal/xui/pt/floater_help_browser.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_help_browser" title="COMO"> - <floater.string name="loading_text"> - Carregando... - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="external_controls"/> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/floater_media_browser.xml b/indra/newview/skins/minimal/xui/pt/floater_media_browser.xml deleted file mode 100644 index da7428007e5..00000000000 --- a/indra/newview/skins/minimal/xui/pt/floater_media_browser.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="NAVEGADOR DE MÃDIA"> - <floater.string name="home_page_url"> - http://www.secondlife.com - </floater.string> - <floater.string name="support_page_url"> - http://support.secondlife.com - </floater.string> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button label="Atrás" name="back"/> - <button label="Frente" name="forward"/> - <button label="Recarregar" name="reload"/> - <button label="OK" name="go"/> - </layout_panel> - <layout_panel name="time_controls"> - <button label="p/ trás" name="rewind"/> - <button label="parar" name="stop"/> - <button label="p/ frente" name="seek"/> - </layout_panel> - <layout_panel name="parcel_owner_controls"> - <button label="Enviar esta página para lote" name="assign"/> - </layout_panel> - <layout_panel name="external_controls"> - <button label="Abrir no meu navegador" name="open_browser"/> - <check_box label="Abrir sempre no meu navegador" name="open_always"/> - <button label="Fechar" name="close"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/floater_nearby_chat.xml b/indra/newview/skins/minimal/xui/pt/floater_nearby_chat.xml deleted file mode 100644 index 60edfa505fe..00000000000 --- a/indra/newview/skins/minimal/xui/pt/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="Bate-papo local"> - <check_box label="Traduzir bate-papo (via Google)" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/floater_web_content.xml b/indra/newview/skins/minimal/xui/pt/floater_web_content.xml deleted file mode 100644 index 5101579c6f2..00000000000 --- a/indra/newview/skins/minimal/xui/pt/floater_web_content.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_web_content" title=""> - <layout_stack name="stack1"> - <layout_panel name="nav_controls"> - <button name="back" tool_tip="Navegar para trás"/> - <button name="forward" tool_tip="Navegar para frente"/> - <button name="stop" tool_tip="Parar a navegação"/> - <button name="reload" tool_tip="Recarregar página"/> - <combo_box name="address" tool_tip="Digite a URL aqui"/> - <icon name="media_secure_lock_flag" tool_tip="Navegação segura"/> - <button name="popexternal" tool_tip="Abrir a URL atual no navegador do seu computador"/> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/inspect_avatar.xml b/indra/newview/skins/minimal/xui/pt/inspect_avatar.xml deleted file mode 100644 index a199c58c152..00000000000 --- a/indra/newview/skins/minimal/xui/pt/inspect_avatar.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_avatar"> - <string name="Subtitle"> - [IDADE] - </string> - <string name="Details"> - [PERFIL_SL] - </string> - <text name="user_details"> - This is my second life description and I really think it is great. But for some reason my description is super extra long because I like to talk a whole lot - </text> - <slider name="volume_slider" tool_tip="Volume de Voz" value="0.5"/> - <button label="Adicionar amigo" name="add_friend_btn"/> - <button label="MI" name="im_btn"/> - <button label="Perfil" name="view_profile_btn"/> - <panel name="moderator_panel"> - <button label="Disabilitar Voz" name="disable_voice"/> - <button label="Habilitar Voz" name="enable_voice"/> - </panel> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/inspect_object.xml b/indra/newview/skins/minimal/xui/pt/inspect_object.xml deleted file mode 100644 index b72de7038d2..00000000000 --- a/indra/newview/skins/minimal/xui/pt/inspect_object.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- - Not can_close / no title to avoid window chrome - Single instance - only have one at a time, recycle it each spawn ---> -<floater name="inspect_object"> - <string name="Creator"> - Autor: [CREATOR] - </string> - <string name="CreatorAndOwner"> - Autor [CREATOR] -Proprietário [OWNER] - </string> - <string name="Price"> - L$[AMOUNT] - </string> - <string name="PriceFree"> - Grátis! - </string> - <string name="Touch"> - Tocar - </string> - <string name="Sit"> - Sentar - </string> - <text name="object_name" value="Test Object Name That Is actually two lines and Really Long"/> - <text name="price_text"> - L$30.000 - </text> - <text name="object_description"> - This is a really long description for an object being as how it is at least 80 characters in length and so but maybe more like 120 at this point. Who knows, really? - </text> - <button label="Comprar" name="buy_btn"/> - <button label="Pagar" name="pay_btn"/> - <button label="Pegar uma cópia" name="take_free_copy_btn"/> - <button label="Tocar" name="touch_btn"/> - <button label="Sentar" name="sit_btn"/> - <button label="Abrir" name="open_btn"/> - <icon name="secure_browsing" tool_tip="Navegação segura"/> - <button label="Mais" name="more_info_btn"/> -</floater> diff --git a/indra/newview/skins/minimal/xui/pt/menu_add_wearable_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_add_wearable_gear.xml deleted file mode 100644 index 4b81276ab34..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_add_wearable_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Add Wearable Gear Menu"> - <menu_item_check label="Ordenar por mais recente" name="sort_by_most_recent"/> - <menu_item_check label="Ordenar por nome" name="sort_by_name"/> - <menu_item_check label="Ordenar por tipo" name="sort_by_type"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_attachment_other.xml b/indra/newview/skins/minimal/xui/pt/menu_attachment_other.xml deleted file mode 100644 index cfd69158bca..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_attachment_other.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_avatar_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Ver perfil" name="Profile..."/> - <menu_item_call label="Adicionar amigo..." name="Add Friend"/> - <menu_item_call label="MI" name="Send IM..."/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Convidar para entrar no grupo" name="Invite..."/> - <menu_item_call label="Bloquear" name="Avatar Mute"/> - <menu_item_call label="Denunciar" name="abuse"/> - <menu_item_call label="Congelar" name="Freeze..."/> - <menu_item_call label="Ejetar" name="Eject..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> - <menu_item_call label="Mais zoom" name="Zoom In"/> - <menu_item_call label="Pagar" name="Pay..."/> - <menu_item_call label="Perfil do objeto" name="Object Inspect"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_attachment_self.xml b/indra/newview/skins/minimal/xui/pt/menu_attachment_self.xml deleted file mode 100644 index 09060cf3aee..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_attachment_self.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Attachment Pie"> - <menu_item_call label="Tocar" name="Attachment Object Touch"/> - <menu_item_call label="Editar" name="Edit..."/> - <menu_item_call label="Tirar" name="Detach"/> - <menu_item_call label="Sentar" name="Sit Down Here"/> - <menu_item_call label="Ficar de pé" name="Stand Up"/> - <menu_item_call label="Trocar de look" name="Change Outfit"/> - <menu_item_call label="Editar meu look" name="Edit Outfit"/> - <menu_item_call label="Editar meu corpo" name="Edit My Shape"/> - <menu_item_call label="Meus amigos" name="Friends..."/> - <menu_item_call label="Meus grupos" name="Groups..."/> - <menu_item_call label="Meu perfil" name="Profile..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> - <menu_item_call label="Largar" name="Drop"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_avatar_icon.xml b/indra/newview/skins/minimal/xui/pt/menu_avatar_icon.xml deleted file mode 100644 index beba969b7ef..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_avatar_icon.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Avatar Icon Menu"> - <menu_item_call label="Ver perfil" name="Show Profile"/> - <menu_item_call label="Enviar MI..." name="Send IM"/> - <menu_item_call label="Adicionar amigo..." name="Add Friend"/> - <menu_item_call label="Remover amigo..." name="Remove Friend"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_avatar_other.xml b/indra/newview/skins/minimal/xui/pt/menu_avatar_other.xml deleted file mode 100644 index a4a26144c79..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_avatar_other.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- *NOTE: See also menu_attachment_other.xml --> -<context_menu name="Avatar Pie"> - <menu_item_call label="Ver perfil" name="Profile..."/> - <menu_item_call label="Adicionar amigo..." name="Add Friend"/> - <menu_item_call label="MI" name="Send IM..."/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Convidar para entrar no grupo" name="Invite..."/> - <menu_item_call label="Bloquear" name="Avatar Mute"/> - <menu_item_call label="Denunciar" name="abuse"/> - <menu_item_call label="Congelar" name="Freeze..."/> - <menu_item_call label="Ejetar" name="Eject..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> - <menu_item_call label="Mais zoom" name="Zoom In"/> - <menu_item_call label="Pagar" name="Pay..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_avatar_self.xml b/indra/newview/skins/minimal/xui/pt/menu_avatar_self.xml deleted file mode 100644 index 6e203d5a259..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_avatar_self.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Self Pie"> - <menu_item_call label="Sentar" name="Sit Down Here"/> - <menu_item_call label="Ficar de pé" name="Stand Up"/> - <context_menu label="Tirar" name="Take Off >"> - <context_menu label="Roupa" name="Clothes >"> - <menu_item_call label="Camisa" name="Shirt"/> - <menu_item_call label="Calças" name="Pants"/> - <menu_item_call label="Saia" name="Skirt"/> - <menu_item_call label="Sapatos" name="Shoes"/> - <menu_item_call label="Meias" name="Socks"/> - <menu_item_call label="Jaqueta" name="Jacket"/> - <menu_item_call label="Luvas" name="Gloves"/> - <menu_item_call label="Camiseta" name="Self Undershirt"/> - <menu_item_call label="Roupa de baixo" name="Self Underpants"/> - <menu_item_call label="Tatuagem" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Todas as roupas" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Tirar" name="Object Detach"/> - <menu_item_call label="Tirar tudo" name="Detach All"/> - </context_menu> - <menu_item_call label="Trocar de look" name="Chenge Outfit"/> - <menu_item_call label="Editar meu look" name="Edit Outfit"/> - <menu_item_call label="Editar meu corpo" name="Edit My Shape"/> - <menu_item_call label="Meus amigos" name="Friends..."/> - <menu_item_call label="Meus grupos" name="Groups..."/> - <menu_item_call label="Meu perfil" name="Profile..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_bottomtray.xml b/indra/newview/skins/minimal/xui/pt/menu_bottomtray.xml deleted file mode 100644 index 479d02512fb..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Botão de gestos" name="ShowGestureButton"/> - <menu_item_check label="Botão de movimento" name="ShowMoveButton"/> - <menu_item_check label="Botão de ver" name="ShowCameraButton"/> - <menu_item_check label="Botão de fotos" name="ShowSnapshotButton"/> - <menu_item_check label="Botão da Barra lateral" name="ShowSidebarButton"/> - <menu_item_check label="Botão Construir" name="ShowBuildButton"/> - <menu_item_check label="Botão Buscar" name="ShowSearchButton"/> - <menu_item_check label="Botão Mapa" name="ShowWorldMapButton"/> - <menu_item_check label="Botão do Mini Mapa" name="ShowMiniMapButton"/> - <menu_item_call label="Cortar" name="NearbyChatBar_Cut"/> - <menu_item_call label="Copiar" name="NearbyChatBar_Copy"/> - <menu_item_call label="Colar" name="NearbyChatBar_Paste"/> - <menu_item_call label="Excluir" name="NearbyChatBar_Delete"/> - <menu_item_call label="Selecionar tudo" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_cof_attachment.xml b/indra/newview/skins/minimal/xui/pt/menu_cof_attachment.xml deleted file mode 100644 index 527e3af3c93..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_cof_attachment.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Attachment"> - <menu_item_call label="Separar" name="detach"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_cof_body_part.xml b/indra/newview/skins/minimal/xui/pt/menu_cof_body_part.xml deleted file mode 100644 index 704fd226eb8..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_cof_body_part.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Body"> - <menu_item_call label="Trocar" name="replace"/> - <menu_item_call label="Editar" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_cof_clothing.xml b/indra/newview/skins/minimal/xui/pt/menu_cof_clothing.xml deleted file mode 100644 index 051323ae6aa..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_cof_clothing.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="COF Clothing"> - <menu_item_call label="Tirar" name="take_off"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Trocar" name="replace"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_cof_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_cof_gear.xml deleted file mode 100644 index 8716992a5e0..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_cof_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear COF"> - <menu label="Roupas novas" name="COF.Gear.New_Clothes"/> - <menu label="Nova parte do corpo" name="COF.Geear.New_Body_Parts"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_edit.xml b/indra/newview/skins/minimal/xui/pt/menu_edit.xml deleted file mode 100644 index ff431c9a21e..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_edit.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu label="Editar" name="Edit"> - <menu_item_call label="Desfazer" name="Undo"/> - <menu_item_call label="Repetir" name="Redo"/> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Colar" name="Paste"/> - <menu_item_call label="Excluir" name="Delete"/> - <menu_item_call label="Replicar" name="Duplicate"/> - <menu_item_call label="Selecionar tudo" name="Select All"/> - <menu_item_call label="Desfazer seleção" name="Deselect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_favorites.xml b/indra/newview/skins/minimal/xui/pt/menu_favorites.xml deleted file mode 100644 index 062820fbca3..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_favorites.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Teletransportar" name="Teleport To Landmark"/> - <menu_item_call label="Ver/Editar marco" name="Landmark Open"/> - <menu_item_call label="Copiar SLurl" name="Copy slurl"/> - <menu_item_call label="Mostrar no mapa" name="Show On Map"/> - <menu_item_call label="Copiar" name="Landmark Copy"/> - <menu_item_call label="Colar" name="Landmark Paste"/> - <menu_item_call label="Excluir" name="Delete"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_gesture_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_gesture_gear.xml deleted file mode 100644 index 70d8ae7a8e6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_gesture_gear.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_gesture_gear"> - <menu_item_call label="Adicionar/remover de favoritos" name="activate"/> - <menu_item_call label="Copiar" name="copy_gesture"/> - <menu_item_call label="Colar" name="paste"/> - <menu_item_call label="Copiar UUID" name="copy_uuid"/> - <menu_item_call label="Salvar para look atual" name="save_to_outfit"/> - <menu_item_call label="Editar" name="edit_gesture"/> - <menu_item_call label="Verificar" name="inspect"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_group_plus.xml b/indra/newview/skins/minimal/xui/pt/menu_group_plus.xml deleted file mode 100644 index 1083845d688..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_group_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Entrar no grupo..." name="item_join"/> - <menu_item_call label="Novo grupo..." name="item_new"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_hide_navbar.xml b/indra/newview/skins/minimal/xui/pt/menu_hide_navbar.xml deleted file mode 100644 index c2b063193ec..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_hide_navbar.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_navbar_menu"> - <menu_item_check label="Mostrar barra de navegação" name="ShowNavbarNavigationPanel"/> - <menu_item_check label="Mostrar barra de favoritos" name="ShowNavbarFavoritesPanel"/> - <menu_item_check label="Mostrar minibarra de localização" name="ShowMiniLocationPanel"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_im_well_button.xml b/indra/newview/skins/minimal/xui/pt/menu_im_well_button.xml deleted file mode 100644 index 2d37cefd6fe..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_im_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="IM Well Button Context Menu"> - <menu_item_call label="Fechar tudo" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_adhoc.xml b/indra/newview/skins/minimal/xui/pt/menu_imchiclet_adhoc.xml deleted file mode 100644 index ead949ba131..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_adhoc.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet AdHoc Menu"> - <menu_item_call label="Encerrar esta sessão" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_group.xml b/indra/newview/skins/minimal/xui/pt/menu_imchiclet_group.xml deleted file mode 100644 index dd177d1b8da..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet Group Menu"> - <menu_item_call label="Sobre o grupo" name="Show Profile"/> - <menu_item_call label="Mostrar sessão" name="Chat"/> - <menu_item_call label="Encerrar esta sessão" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_p2p.xml b/indra/newview/skins/minimal/xui/pt/menu_imchiclet_p2p.xml deleted file mode 100644 index d821b3ded0c..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_imchiclet_p2p.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="IMChiclet P2P Menu"> - <menu_item_call label="Ver perfil" name="Show Profile"/> - <menu_item_call label="Adicionar amigo..." name="Add Friend"/> - <menu_item_call label="Mostrar sessão" name="Send IM"/> - <menu_item_call label="Encerrar esta sessão" name="End Session"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_inspect_avatar_gear.xml deleted file mode 100644 index 90b321e0a2f..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Ver perfil" name="view_profile"/> - <menu_item_call label="Adicionar amigo..." name="add_friend"/> - <menu_item_call label="MI" name="im"/> - <menu_item_call label="Ligar" name="call"/> - <menu_item_call label="Teletransportar" name="teleport"/> - <menu_item_call label="Bloquear" name="block"/> - <menu_item_call label="Desbloquear" name="unblock"/> - <menu_item_call label="Denunciar" name="report"/> - <menu_item_call label="Congelar" name="freeze"/> - <menu_item_call label="Ejetar" name="eject"/> - <menu_item_call label="Chutar" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Depurar texturas" name="debug"/> - <menu_item_call label="Localizar no mapa" name="find_on_map"/> - <menu_item_call label="Mais zoom" name="zoom_in"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inspect_object_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_inspect_object_gear.xml deleted file mode 100644 index 184db26538d..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inspect_object_gear.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> - <menu_item_call label="Tocar" name="touch"/> - <menu_item_call label="Sentar" name="sit"/> - <menu_item_call label="Pagar" name="pay"/> - <menu_item_call label="Comprar" name="buy"/> - <menu_item_call label="Pegar" name="take"/> - <menu_item_call label="Pegar uma cópia" name="take_copy"/> - <menu_item_call label="Abrir" name="open"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Vestir" name="wear"/> - <menu_item_call label="Adicionar" name="add"/> - <menu_item_call label="Denunciar" name="report"/> - <menu_item_call label="Bloquear" name="block"/> - <menu_item_call label="Mais zoom" name="zoom_in"/> - <menu_item_call label="Tirar" name="remove"/> - <menu_item_call label="Mais informações" name="more_info"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_inspect_self_gear.xml deleted file mode 100644 index c1f27e765d7..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inspect_self_gear.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="Sentar" name="Sit Down Here"/> - <menu_item_call label="Ficar de pé" name="Stand Up"/> - <menu_item_call label="Meus amigos" name="Friends..."/> - <menu_item_call label="Meu perfil" name="Profile..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inv_offer_chiclet.xml b/indra/newview/skins/minimal/xui/pt/menu_inv_offer_chiclet.xml deleted file mode 100644 index c404719c956..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inv_offer_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="InvOfferChiclet Menu"> - <menu_item_call label="Fechar" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inventory.xml b/indra/newview/skins/minimal/xui/pt/menu_inventory.xml deleted file mode 100644 index 1b1efd32704..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inventory.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Compartilhar" name="Share"/> - <menu_item_call label="Comprar" name="Task Buy"/> - <menu_item_call label="Abrir" name="Task Open"/> - <menu_item_call label="Executar" name="Task Play"/> - <menu_item_call label="Propriedades" name="Task Properties"/> - <menu_item_call label="Renomear" name="Task Rename"/> - <menu_item_call label="Apagar" name="Task Remove"/> - <menu_item_call label="Limpar lixeira" name="Empty Trash"/> - <menu_item_call label="Limpar Achados & perdidos" name="Empty Lost And Found"/> - <menu_item_call label="Nova pasta" name="New Folder"/> - <menu_item_call label="Novo script" name="New Script"/> - <menu_item_call label="Nova anotação" name="New Note"/> - <menu_item_call label="Novo gesto" name="New Gesture"/> - <menu label="Novas roupas" name="New Clothes"> - <menu_item_call label="Nova camisa" name="New Shirt"/> - <menu_item_call label="Nova calça" name="New Pants"/> - <menu_item_call label="Novos sapatos" name="New Shoes"/> - <menu_item_call label="Novas meias" name="New Socks"/> - <menu_item_call label="Nova jaqueta" name="New Jacket"/> - <menu_item_call label="Nova saia" name="New Skirt"/> - <menu_item_call label="Novas luvas" name="New Gloves"/> - <menu_item_call label="Nova anágua" name="New Undershirt"/> - <menu_item_call label="Nova roupa de baixo" name="New Underpants"/> - <menu_item_call label="Nova máscara alfa" name="New Alpha Mask"/> - <menu_item_call label="Nova tatuagem" name="New Tattoo"/> - </menu> - <menu label="Nova parte do corpo" name="New Body Parts"> - <menu_item_call label="Nova forma" name="New Shape"/> - <menu_item_call label="Nova pele" name="New Skin"/> - <menu_item_call label="Novo cabelo" name="New Hair"/> - <menu_item_call label="Novos olhos" name="New Eyes"/> - </menu> - <menu label="Alterar fonte" name="Change Type"> - <menu_item_call label="Padrão" name="Default"/> - <menu_item_call label="Luvas" name="Gloves"/> - <menu_item_call label="Jaqueta" name="Jacket"/> - <menu_item_call label="Calças" name="Pants"/> - <menu_item_call label="Silhueta" name="Shape"/> - <menu_item_call label="Sapatos" name="Shoes"/> - <menu_item_call label="Camisa" name="Shirt"/> - <menu_item_call label="Saia" name="Skirt"/> - <menu_item_call label="Roupa de baixo" name="Underpants"/> - <menu_item_call label="Camiseta" name="Undershirt"/> - </menu> - <menu_item_call label="Teletransporte" name="Landmark Open"/> - <menu_item_call label="Abrir" name="Animation Open"/> - <menu_item_call label="Abrir" name="Sound Open"/> - <menu_item_call label="Substituir look" name="Replace Outfit"/> - <menu_item_call label="Adicionar a look" name="Add To Outfit"/> - <menu_item_call label="Tirar do look atual" name="Remove From Outfit"/> - <menu_item_call label="Encontrar original" name="Find Original"/> - <menu_item_call label="Remover item" name="Purge Item"/> - <menu_item_call label="Restaurar item" name="Restore Item"/> - <menu_item_call label="Abrir" name="Open"/> - <menu_item_call label="Abrir original" name="Open Original"/> - <menu_item_call label="Propriedades" name="Properties"/> - <menu_item_call label="Renomear" name="Rename"/> - <menu_item_call label="Copiar item UUID" name="Copy Asset UUID"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Colar" name="Paste"/> - <menu_item_call label="Colar como link" name="Paste As Link"/> - <menu_item_call label="Excluir" name="Remove Link"/> - <menu_item_call label="Apagar" name="Delete"/> - <menu_item_call label="Excluir pasta do sistema" name="Delete System Folder"/> - <menu_item_call label="Pasta conversa em conferência" name="Conference Chat Folder"/> - <menu_item_call label="Executar som" name="Sound Play"/> - <menu_item_call label="Sobre o marco" name="About Landmark"/> - <menu_item_call label="Executar animação" name="Animation Play"/> - <menu_item_call label="Executar áudio" name="Animation Audition"/> - <menu_item_call label="Mandar MI" name="Send Instant Message"/> - <menu_item_call label="Oferecer teletransporte..." name="Offer Teleport..."/> - <menu_item_call label="Bate-papo em conferência" name="Conference Chat"/> - <menu_item_call label="Ativar" name="Activate"/> - <menu_item_call label="Desativar" name="Deactivate"/> - <menu_item_call label="Salvar como" name="Save As"/> - <menu_item_call label="Tirar de si mesmo" name="Detach From Yourself"/> - <menu_item_call label="Vestir" name="Wearable And Object Wear"/> - <menu label="Anexar a" name="Attach To"/> - <menu label="Anexar ao HUD" name="Attach To HUD"/> - <menu_item_call label="Editar" name="Wearable Edit"/> - <menu_item_call label="Adicionar" name="Wearable Add"/> - <menu_item_call label="Tirar" name="Take Off"/> - <menu_item_call label="--Sem opções--" name="--no options--"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inventory_add.xml b/indra/newview/skins/minimal/xui/pt/menu_inventory_add.xml deleted file mode 100644 index 2723f39287d..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inventory_add.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_inventory_add"> - <menu label="Upload" name="upload"> - <menu_item_call label="Imagem (L$[COST])..." name="Upload Image"/> - <menu_item_call label="Som (L$[COST])..." name="Upload Sound"/> - <menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/> - <menu_item_call label="Volume (L$[COST] per file)..." name="Bulk Upload"/> - <menu_item_call label="Autorizações de upload padrão" name="perm prefs"/> - </menu> - <menu_item_call label="Nova pasta" name="New Folder"/> - <menu_item_call label="Novo script" name="New Script"/> - <menu_item_call label="Nova anotação" name="New Note"/> - <menu_item_call label="Novo gesto" name="New Gesture"/> - <menu label="Novas roupas" name="New Clothes"> - <menu_item_call label="Nova camisa" name="New Shirt"/> - <menu_item_call label="Novas calças" name="New Pants"/> - <menu_item_call label="Novos sapatos" name="New Shoes"/> - <menu_item_call label="Novas meias" name="New Socks"/> - <menu_item_call label="Nova blusa" name="New Jacket"/> - <menu_item_call label="Nova saia" name="New Skirt"/> - <menu_item_call label="Novas luvas" name="New Gloves"/> - <menu_item_call label="Nova camiseta" name="New Undershirt"/> - <menu_item_call label="Novas roupa de baixo" name="New Underpants"/> - <menu_item_call label="Novo alpha" name="New Alpha"/> - <menu_item_call label="Nova tatuagem" name="New Tattoo"/> - </menu> - <menu label="Nova parte do corpo" name="New Body Parts"> - <menu_item_call label="Nova forma" name="New Shape"/> - <menu_item_call label="Nova pele" name="New Skin"/> - <menu_item_call label="Novo cabelo" name="New Hair"/> - <menu_item_call label="Novos olhos" name="New Eyes"/> - </menu> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_inventory_gear_default.xml b/indra/newview/skins/minimal/xui/pt/menu_inventory_gear_default.xml deleted file mode 100644 index 3400578d9a9..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_inventory_gear_default.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_gear_default"> - <menu_item_call label="Nova janela de inventário" name="new_window"/> - <menu_item_check label="Ordenar por nome" name="sort_by_name"/> - <menu_item_check label="Ordenar por mais recente" name="sort_by_recent"/> - <menu_item_check label="Pastas do sistema no topo" name="sort_system_folders_to_top"/> - <menu_item_call label="Mostrar filtros" name="show_filters"/> - <menu_item_call label="Restabelecer filtros" name="reset_filters"/> - <menu_item_call label="Fechar todas as pastas" name="close_folders"/> - <menu_item_call label="Esvaziar achados e perdidos" name="empty_lostnfound"/> - <menu_item_call label="Salvar textura como" name="Save Texture As"/> - <menu_item_call label="Compartilhar" name="Share"/> - <menu_item_call label="Encontrar original" name="Find Original"/> - <menu_item_call label="Encontrar todos os links" name="Find All Links"/> - <menu_item_call label="Esvaziar lixeira" name="empty_trash"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_land.xml b/indra/newview/skins/minimal/xui/pt/menu_land.xml deleted file mode 100644 index 9182ce321af..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_land.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Land Pie"> - <menu_item_call label="Sobre terrenos" name="Place Information..."/> - <menu_item_call label="Sentar aqui" name="Sit Here"/> - <menu_item_call label="Comprar este terreno" name="Land Buy"/> - <menu_item_call label="Comprar passe" name="Land Buy Pass"/> - <menu_item_call label="Construir" name="Create"/> - <menu_item_call label="Editar a topografia" name="Edit Terrain"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_landmark.xml b/indra/newview/skins/minimal/xui/pt/menu_landmark.xml deleted file mode 100644 index 6accfebee7e..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_landmark.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="landmark_overflow_menu"> - <menu_item_call label="Copiar SLurl" name="copy"/> - <menu_item_call label="Excluir" name="delete"/> - <menu_item_call label="Criar destaque" name="pick"/> - <menu_item_call label="Adicionar à barra de favoritos" name="add_to_favbar"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_login.xml b/indra/newview/skins/minimal/xui/pt/menu_login.xml deleted file mode 100644 index 3dff3d7c8a9..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_login.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Login Menu"> - <menu label="Eu" name="File"> - <menu_item_call label="Preferências" name="Preferences..."/> - <menu_item_call label="Sair do [APP_NAME]" name="Quit"/> - </menu> - <menu label="Ajuda" name="Help"> - <menu_item_call label="Ajuda do [SECOND_LIFE]" name="Second Life Help"/> - <menu_item_call label="Sobre [APP_NAME]" name="About Second Life"/> - </menu> - <menu_item_check label="Exibir menu de depuração" name="Show Debug Menu"/> - <menu label="Depurar" name="Debug"> - <menu_item_call label="Mostrar configurações" name="Debug Settings"/> - <menu_item_call label="Configurações da interface e cor" name="UI/Color Settings"/> - <menu label="Testes de UI" name="UI Tests"/> - <menu_item_call label="Definir tamanho da janela:" name="Set Window Size..."/> - <menu_item_call label="Mostrar TOS" name="TOS"/> - <menu_item_call label="Mostrar mensagem crÃtica" name="Critical"/> - <menu_item_call label="Teste de mÃdia do navegador" name="Web Browser Test"/> - <menu_item_call label="Teste de conteúdo web" name="Web Content Floater Test"/> - <menu_item_check label="Exibir seletor da grade" name="Show Grid Picker"/> - <menu_item_call label="Exibir painel de notificações" name="Show Notifications Console"/> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/pt/menu_mini_map.xml b/indra/newview/skins/minimal/xui/pt/menu_mini_map.xml deleted file mode 100644 index 6a3fe55de52..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_mini_map.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Zoom Perto" name="Zoom Close"/> - <menu_item_call label="Zoom Médio" name="Zoom Medium"/> - <menu_item_call label="Zoom Longe" name="Zoom Far"/> - <menu_item_call label="Zoom padrão" name="Zoom Default"/> - <menu_item_check label="Girar mapa" name="Rotate Map"/> - <menu_item_check label="Auto Center" name="Auto Center"/> - <menu_item_call label="Parar Acompanhamento" name="Stop Tracking"/> - <menu_item_call label="Mapa-múndi" name="World Map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_navbar.xml b/indra/newview/skins/minimal/xui/pt/menu_navbar.xml deleted file mode 100644 index 57c1471de31..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_navbar.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Navbar Menu"> - <menu_item_check label="Mostrar coordenadas" name="Show Coordinates"/> - <menu_item_check label="Mostrar as propriedades do terreno" name="Show Parcel Properties"/> - <menu_item_call label="Marco" name="Landmark"/> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Colar" name="Paste"/> - <menu_item_call label="Excluir" name="Delete"/> - <menu_item_call label="Selecionar tudo" name="Select All"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_nearby_chat.xml b/indra/newview/skins/minimal/xui/pt/menu_nearby_chat.xml deleted file mode 100644 index f1ea83c837f..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_nearby_chat.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="NearBy Chat Menu"> - <menu_item_call label="Mostrar quem está aqui..." name="nearby_people"/> - <menu_item_check label="Mostrar texto bloqueado" name="muted_text"/> - <menu_item_check label="Mostrar Ãcones de amigos" name="show_buddy_icons"/> - <menu_item_check label="Mostrar nomes" name="show_names"/> - <menu_item_check label="Mostrar Ãcones e nomes" name="show_icons_and_names"/> - <menu_item_call label="Tamanho da fonte" name="font_size"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_notification_well_button.xml b/indra/newview/skins/minimal/xui/pt/menu_notification_well_button.xml deleted file mode 100644 index 43ad4134ec1..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_notification_well_button.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Notification Well Button Context Menu"> - <menu_item_call label="Fechar tudo" name="Close All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_object.xml b/indra/newview/skins/minimal/xui/pt/menu_object.xml deleted file mode 100644 index bf948596998..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_object.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Object Pie"> - <menu_item_call label="Tocar" name="Object Touch"> - <menu_item_call.on_enable name="EnableTouch" parameter="Tocar"/> - </menu_item_call> - <menu_item_call label="Editar" name="Edit..."/> - <menu_item_call label="Construir" name="Build"/> - <menu_item_call label="Abrir" name="Open"/> - <menu_item_call label="Sentar aqui" name="Object Sit"/> - <menu_item_call label="Ficar de pé" name="Object Stand Up"/> - <menu_item_call label="Perfil do objeto" name="Object Inspect"/> - <menu_item_call label="Mais zoom" name="Zoom In"/> - <context_menu label="Colocar no(a)" name="Put On"> - <menu_item_call label="Vestir" name="Wear"/> - <menu_item_call label="Adicionar" name="Add"/> - <context_menu label="Anexar" name="Object Attach"/> - <context_menu label="Anexar o HUD" name="Object Attach HUD"/> - </context_menu> - <context_menu label="Tirar" name="Remove"> - <menu_item_call label="Denunciar abuso" name="Report Abuse..."/> - <menu_item_call label="Bloquear" name="Object Mute"/> - <menu_item_call label="Devolver" name="Return..."/> - <menu_item_call label="Excluir" name="Delete"/> - </context_menu> - <menu_item_call label="Pegar" name="Pie Object Take"/> - <menu_item_call label="Pegar uma cópia" name="Take Copy"/> - <menu_item_call label="Pagar" name="Pay..."/> - <menu_item_call label="Comprar" name="Buy..."/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_object_icon.xml b/indra/newview/skins/minimal/xui/pt/menu_object_icon.xml deleted file mode 100644 index 7af760a6ee4..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_object_icon.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Object Icon Menu"> - <menu_item_call label="Perfil do objeto..." name="Object Profile"/> - <menu_item_call label="Bloquear..." name="Block"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_outfit_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_outfit_gear.xml deleted file mode 100644 index 11b3e653c66..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_outfit_gear.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> - <menu_item_call label="Vestir - Substituir look atual" name="wear"/> - <menu_item_call label="Vestir - Adicionar ao look atual" name="wear_add"/> - <menu_item_call label="Tirar - Tirar do look atual" name="take_off"/> - <menu label="Roupas novas" name="New Clothes"> - <menu_item_call label="Nova camisa" name="New Shirt"/> - <menu_item_call label="Novas calças" name="New Pants"/> - <menu_item_call label="Novos sapatos" name="New Shoes"/> - <menu_item_call label="Novas meias" name="New Socks"/> - <menu_item_call label="Nova blusa" name="New Jacket"/> - <menu_item_call label="Nova saia" name="New Skirt"/> - <menu_item_call label="Novas luvas" name="New Gloves"/> - <menu_item_call label="Nova camiseta" name="New Undershirt"/> - <menu_item_call label="Novas roupa de baixo" name="New Underpants"/> - <menu_item_call label="Novo alpha" name="New Alpha"/> - <menu_item_call label="Nova tatuagem" name="New Tattoo"/> - </menu> - <menu label="Nova parte do corpo" name="New Body Parts"> - <menu_item_call label="Nova silhueta" name="New Shape"/> - <menu_item_call label="Nova pele" name="New Skin"/> - <menu_item_call label="Novo cabelo" name="New Hair"/> - <menu_item_call label="Novos olhos" name="New Eyes"/> - </menu> - <menu_item_call label="Renomear look" name="rename"/> - <menu_item_call label="Excluir visual" name="delete_outfit"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_outfit_tab.xml b/indra/newview/skins/minimal/xui/pt/menu_outfit_tab.xml deleted file mode 100644 index 8db5e405b31..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_outfit_tab.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit"> - <menu_item_call label="Vestir - Substituir look atual" name="wear_replace"/> - <menu_item_call label="Vestir - Sem tirar look atual" name="wear_add"/> - <menu_item_call label="Tirar - Tirar do look atual" name="take_off"/> - <menu_item_call label="Editar look" name="edit"/> - <menu_item_call label="Renomear look" name="rename"/> - <menu_item_call label="Excluir visual" name="delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_participant_list.xml b/indra/newview/skins/minimal/xui/pt/menu_participant_list.xml deleted file mode 100644 index 01f1d4ef805..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_participant_list.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Participant List Context Menu"> - <menu_item_check label="Ordenar por nome" name="SortByName"/> - <menu_item_check label="Ordenar por conversas mais recentes" name="SortByRecentSpeakers"/> - <menu_item_call label="Ver perfil" name="View Profile"/> - <menu_item_call label="Adicionar amigo..." name="Add Friend"/> - <menu_item_call label="MI" name="IM"/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Compartilhar" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_check label="Ver Ãcones de pessoas" name="View Icons"/> - <menu_item_check label="Bloquear voz" name="Block/Unblock"/> - <menu_item_check label="Bloquear texto" name="MuteText"/> - <context_menu label="Opções do moderador >" name="Moderator Options"> - <menu_item_check label="Pode bater papo por escrito" name="AllowTextChat"/> - <menu_item_call label="Silenciar este participante" name="ModerateVoiceMuteSelected"/> - <menu_item_call label="Desfazer silenciar deste participante" name="ModerateVoiceUnMuteSelected"/> - <menu_item_call label="Silenciar todos" name="ModerateVoiceMute"/> - <menu_item_call label="Desfazer silenciar para todos" name="ModerateVoiceUnmute"/> - </context_menu> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_friends_view_sort.xml b/indra/newview/skins/minimal/xui/pt/menu_people_friends_view_sort.xml deleted file mode 100644 index e7c325010fb..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por nome" name="sort_name"/> - <menu_item_check label="Ordenar por status" name="sort_status"/> - <menu_item_check label="Ver Ãcones de pessoas" name="view_icons"/> - <menu_item_check label="Autorizações de visualização dadas" name="view_permissions"/> - <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_groups.xml b/indra/newview/skins/minimal/xui/pt/menu_people_groups.xml deleted file mode 100644 index 9a924ad7b93..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_groups.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_call label="Ver dados" name="View Info"/> - <menu_item_call label="Bate-papo" name="Chat"/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Ativar" name="Activate"/> - <menu_item_call label="Sair" name="Leave"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_groups_view_sort.xml b/indra/newview/skins/minimal/xui/pt/menu_people_groups_view_sort.xml deleted file mode 100644 index 86a9d2263f3..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Mostrar Ãcones de grupos" name="Display Group Icons"/> - <menu_item_call label="Sair do grupo selecionado" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/pt/menu_people_nearby.xml deleted file mode 100644 index b446a2fe81a..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_nearby.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Avatar Context Menu"> - <menu_item_call label="Ver perfil" name="View Profile"/> - <menu_item_call label="Adicionar amigo" name="Add Friend"/> - <menu_item_call label="Remover amigo" name="Remove Friend"/> - <menu_item_call label="IM" name="IM"/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Mapa" name="Map"/> - <menu_item_call label="Compartilhar" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_check label="Bloquear/desbloquear" name="Block/Unblock"/> - <menu_item_call label="Teletransportar?" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_nearby_multiselect.xml b/indra/newview/skins/minimal/xui/pt/menu_people_nearby_multiselect.xml deleted file mode 100644 index 79edb96b1c6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_nearby_multiselect.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Multi-Selected People Context Menu"> - <menu_item_call label="Adicionar amigo..." name="Add Friends"/> - <menu_item_call label="Remover amigo..." name="Remove Friend"/> - <menu_item_call label="MI" name="IM"/> - <menu_item_call label="Ligar" name="Call"/> - <menu_item_call label="Compartilhar" name="Share"/> - <menu_item_call label="Pagar" name="Pay"/> - <menu_item_call label="Teletransportar?" name="teleport"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_nearby_view_sort.xml b/indra/newview/skins/minimal/xui/pt/menu_people_nearby_view_sort.xml deleted file mode 100644 index 228ce46a319..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por conversas mais recentes" name="sort_by_recent_speakers"/> - <menu_item_check label="Ordenar por nome" name="sort_name"/> - <menu_item_check label="Ordenar por distância" name="sort_distance"/> - <menu_item_check label="Ver Ãcones de pessoas" name="view_icons"/> - <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_people_recent_view_sort.xml b/indra/newview/skins/minimal/xui/pt/menu_people_recent_view_sort.xml deleted file mode 100644 index f3b89e01cd5..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por mais recente" name="sort_most"/> - <menu_item_check label="Ordenar por nome" name="sort_name"/> - <menu_item_check label="Ver Ãcones de pessoas" name="view_icons"/> - <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_picks.xml b/indra/newview/skins/minimal/xui/pt/menu_picks.xml deleted file mode 100644 index 8b9e10fc02a..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_picks.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Picks"> - <menu_item_call label="Info" name="pick_info"/> - <menu_item_call label="Editar" name="pick_edit"/> - <menu_item_call label="Teletransportar" name="pick_teleport"/> - <menu_item_call label="Mapa" name="pick_map"/> - <menu_item_call label="Excluir" name="pick_delete"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_picks_plus.xml b/indra/newview/skins/minimal/xui/pt/menu_picks_plus.xml deleted file mode 100644 index 95a7c052623..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_picks_plus.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="picks_plus_menu"> - <menu_item_call label="Adicionar" name="create_pick"/> - <menu_item_call label="Novo anúncio" name="create_classified"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_place.xml b/indra/newview/skins/minimal/xui/pt/menu_place.xml deleted file mode 100644 index 282ea20a7a1..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_place.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="place_overflow_menu"> - <menu_item_call label="Criar marco" name="landmark"/> - <menu_item_call label="Criar destaque" name="pick"/> - <menu_item_call label="Comprar passe" name="pass"/> - <menu_item_call label="Editar" name="edit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_place_add_button.xml b/indra/newview/skins/minimal/xui/pt/menu_place_add_button.xml deleted file mode 100644 index d099d04f8d6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_place_add_button.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Adicionar pasta" name="add_folder"/> - <menu_item_call label="Adicionar marco" name="add_landmark"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_places_gear_folder.xml b/indra/newview/skins/minimal/xui/pt/menu_places_gear_folder.xml deleted file mode 100644 index 2059a9ed2d6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_places_gear_folder.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_folder_gear"> - <menu_item_call label="Adicionar marco" name="add_landmark"/> - <menu_item_call label="Adicionar pasta" name="add_folder"/> - <menu_item_call label="Cortar" name="cut"/> - <menu_item_call label="Copiar" name="copy_folder"/> - <menu_item_call label="Colar" name="paste"/> - <menu_item_call label="Renomear" name="rename"/> - <menu_item_call label="Excluir" name="delete"/> - <menu_item_call label="Expanda" name="expand"/> - <menu_item_call label="Recolher" name="collapse"/> - <menu_item_call label="Expandir todas as pastas" name="expand_all"/> - <menu_item_call label="Recolher todas as pastas" name="collapse_all"/> - <menu_item_check label="Ordenar por data" name="sort_by_date"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_places_gear_landmark.xml b/indra/newview/skins/minimal/xui/pt/menu_places_gear_landmark.xml deleted file mode 100644 index 52a9d137359..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_places_gear_landmark.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_ladmark_gear"> - <menu_item_call label="Teletransportar" name="teleport"/> - <menu_item_call label="Mais informações" name="more_info"/> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Adicionar marco" name="add_landmark"/> - <menu_item_call label="Adicionar pasta" name="add_folder"/> - <menu_item_call label="Cortar" name="cut"/> - <menu_item_call label="Copiar marco" name="copy_landmark"/> - <menu_item_call label="Copiar SLurl" name="copy_slurl"/> - <menu_item_call label="Colar" name="paste"/> - <menu_item_call label="Renomear" name="rename"/> - <menu_item_call label="Excluir" name="delete"/> - <menu_item_call label="Expandir todas as pastas" name="expand_all"/> - <menu_item_call label="Recolher todas as pastas" name="collapse_all"/> - <menu_item_check label="Ordenar por data" name="sort_by_date"/> - <menu_item_call label="Criar destaque" name="create_pick"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_profile_overflow.xml b/indra/newview/skins/minimal/xui/pt/menu_profile_overflow.xml deleted file mode 100644 index d41ecbd7558..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_profile_overflow.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="profile_overflow_menu"> - <menu_item_call label="Mapa" name="show_on_map"/> - <menu_item_call label="Pagar" name="pay"/> - <menu_item_call label="Compartilhar" name="share"/> - <menu_item_call label="Bloquear" name="block"/> - <menu_item_call label="Desbloquear" name="unblock"/> - <menu_item_call label="Chutar" name="kick"/> - <menu_item_call label="Congelar" name="freeze"/> - <menu_item_call label="Descongelar" name="unfreeze"/> - <menu_item_call label="CSR" name="csr"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_save_outfit.xml b/indra/newview/skins/minimal/xui/pt/menu_save_outfit.xml deleted file mode 100644 index 61c6b9202f7..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_save_outfit.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="save_outfit_menu"> - <menu_item_call label="Salvar" name="save_outfit"/> - <menu_item_call label="Salvar como" name="save_as_new_outfit"/> -</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_script_chiclet.xml b/indra/newview/skins/minimal/xui/pt/menu_script_chiclet.xml deleted file mode 100644 index ccf3878e142..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_script_chiclet.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="ScriptChiclet Menu"> - <menu_item_call label="Fechar" name="Close"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_slurl.xml b/indra/newview/skins/minimal/xui/pt/menu_slurl.xml deleted file mode 100644 index 6d4c84fc3c3..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_slurl.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Popup"> - <menu_item_call label="Sobre a URL" name="about_url"/> - <menu_item_call label="Teletransporte para a URL" name="teleport_to_url"/> - <menu_item_call label="Mapa" name="show_on_map"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_teleport_history_gear.xml deleted file mode 100644 index f034509be86..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_gear.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Teleport History Gear Context Menu"> - <menu_item_call label="Expandir todas as pastas" name="Expand all folders"/> - <menu_item_call label="Recolher todas as pastas" name="Collapse all folders"/> - <menu_item_call label="Limpar histórico de teletransporte" name="Clear Teleport History"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_item.xml b/indra/newview/skins/minimal/xui/pt/menu_teleport_history_item.xml deleted file mode 100644 index ec1e7a09502..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_item.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Teletransportar" name="Teleport"/> - <menu_item_call label="Mais informações" name="More Information"/> - <menu_item_call label="Copiar" name="CopyToClipboard"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_tab.xml b/indra/newview/skins/minimal/xui/pt/menu_teleport_history_tab.xml deleted file mode 100644 index 6a633cf74ce..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_teleport_history_tab.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Teleport History Item Context Menu"> - <menu_item_call label="Abrir" name="TabOpen"/> - <menu_item_call label="Fechar" name="TabClose"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_text_editor.xml b/indra/newview/skins/minimal/xui/pt/menu_text_editor.xml deleted file mode 100644 index 31c284c6eda..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_text_editor.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Text editor context menu"> - <menu_item_call label="Cortar" name="Cut"/> - <menu_item_call label="Copiar" name="Copy"/> - <menu_item_call label="Colar" name="Paste"/> - <menu_item_call label="Excluir" name="Delete"/> - <menu_item_call label="Selecionar tudo" name="Select All"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_topinfobar.xml b/indra/newview/skins/minimal/xui/pt/menu_topinfobar.xml deleted file mode 100644 index d9347950b12..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_topinfobar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_topinfobar"> - <menu_item_check label="Mostrar coordenadas" name="Show Coordinates"/> - <menu_item_check label="Mostrar as propriedades do terreno" name="Show Parcel Properties"/> - <menu_item_call label="Marco" name="Landmark"/> - <menu_item_call label="Copiar" name="Copy"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_agent.xml b/indra/newview/skins/minimal/xui/pt/menu_url_agent.xml deleted file mode 100644 index ba5e0551248..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_agent.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar perfil de residente" name="show_agent"/> - <menu_item_call label="Copiar nome para área de transferência" name="url_copy_label"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_group.xml b/indra/newview/skins/minimal/xui/pt/menu_url_group.xml deleted file mode 100644 index 5b67a69c9a1..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_group.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar informações do grupo" name="show_group"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy_label"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_http.xml b/indra/newview/skins/minimal/xui/pt/menu_url_http.xml deleted file mode 100644 index e53a2572b82..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_http.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Abrir página da web" name="url_open"/> - <menu_item_call label="Abrir no navegador do SL" name="url_open_internal"/> - <menu_item_call label="Abrir no navegador externo" name="url_open_external"/> - <menu_item_call label="Copiar URL para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_inventory.xml b/indra/newview/skins/minimal/xui/pt/menu_url_inventory.xml deleted file mode 100644 index 45c14355d07..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_inventory.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar item de inventário" name="show_item"/> - <menu_item_call label="Copiar nome para área de transferência" name="url_copy_label"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_map.xml b/indra/newview/skins/minimal/xui/pt/menu_url_map.xml deleted file mode 100644 index ba114cccaab..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_map.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Teletransportar para este lugar" name="teleport_to_location"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_objectim.xml b/indra/newview/skins/minimal/xui/pt/menu_url_objectim.xml deleted file mode 100644 index c1974441815..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_objectim.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar informações sobre o objeto" name="show_object"/> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Teletransportar para lugar do objeto" name="teleport_to_object"/> - <menu_item_call label="Copiar nome do objeto para área de transferência" name="url_copy_label"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_parcel.xml b/indra/newview/skins/minimal/xui/pt/menu_url_parcel.xml deleted file mode 100644 index 6cc668bfd3d..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_parcel.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar informações sobre este lote" name="show_parcel"/> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_slapp.xml b/indra/newview/skins/minimal/xui/pt/menu_url_slapp.xml deleted file mode 100644 index d0784149acb..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_slapp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Executar este comando" name="run_slapp"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_slurl.xml b/indra/newview/skins/minimal/xui/pt/menu_url_slurl.xml deleted file mode 100644 index 7216ccf0b30..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_slurl.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Mostrar informações sobre este lugar" name="show_place"/> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Teletransportar para este lugar" name="teleport_to_location"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_url_teleport.xml b/indra/newview/skins/minimal/xui/pt/menu_url_teleport.xml deleted file mode 100644 index f007425646a..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_url_teleport.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Url Popup"> - <menu_item_call label="Teletransportar para este lugar" name="teleport"/> - <menu_item_call label="Mostrar no mapa" name="show_on_map"/> - <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_viewer.xml b/indra/newview/skins/minimal/xui/pt/menu_viewer.xml deleted file mode 100644 index 2bd1e88279e..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_viewer.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu_bar name="Main Menu"> - <menu label="Ajuda" name="Help"> - <menu_item_call label="[SECOND_LIFE] Ajuda" name="Second Life Help"/> - </menu> - <menu label="Avançado" name="Advanced"> - <menu label="Atalhos" name="Shortcuts"> - <menu_item_check label="Voar" name="Fly"/> - <menu_item_call label="Fechar janela" name="Close Window"/> - <menu_item_call label="Fechar todas as janelas" name="Close All Windows"/> - <menu_item_call label="Visão padrão" name="Reset View"/> - </menu> - </menu> -</menu_bar> diff --git a/indra/newview/skins/minimal/xui/pt/menu_wearable_list_item.xml b/indra/newview/skins/minimal/xui/pt/menu_wearable_list_item.xml deleted file mode 100644 index 2487f6779f6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_wearable_list_item.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Outfit Wearable Context Menu"> - <menu_item_call label="Trocar" name="wear_replace"/> - <menu_item_call label="Vestir" name="wear_wear"/> - <menu_item_call label="Adicionar" name="wear_add"/> - <menu_item_call label="Tirar / Separar" name="take_off_or_detach"/> - <menu_item_call label="Separar" name="detach"/> - <context_menu label="Colocar em" name="wearable_attach_to"/> - <context_menu label="Anexar ao HUD" name="wearable_attach_to_hud"/> - <menu_item_call label="Tirar" name="take_off"/> - <menu_item_call label="Editar" name="edit"/> - <menu_item_call label="Perfil do item" name="object_profile"/> - <menu_item_call label="Mostrar original" name="show_original"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_wearing_gear.xml b/indra/newview/skins/minimal/xui/pt/menu_wearing_gear.xml deleted file mode 100644 index 7b6ce4d87ec..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_wearing_gear.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Wearing"> - <menu_item_call label="Editar look" name="edit"/> - <menu_item_call label="Tirar" name="takeoff"/> -</menu> diff --git a/indra/newview/skins/minimal/xui/pt/menu_wearing_tab.xml b/indra/newview/skins/minimal/xui/pt/menu_wearing_tab.xml deleted file mode 100644 index 4e6e52ebc70..00000000000 --- a/indra/newview/skins/minimal/xui/pt/menu_wearing_tab.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<context_menu name="Wearing"> - <menu_item_call label="Tirar" name="take_off"/> - <menu_item_call label="Tirar" name="detach"/> - <menu_item_call label="Editar look" name="edit"/> -</context_menu> diff --git a/indra/newview/skins/minimal/xui/pt/notifications.xml b/indra/newview/skins/minimal/xui/pt/notifications.xml deleted file mode 100644 index 9e5ff6fe60b..00000000000 --- a/indra/newview/skins/minimal/xui/pt/notifications.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<notifications> - <notification name="UserGiveItem"> - [NAME_SLURL] quer lhe dar [ITEM_SLURL]. Esta ação requer o modo Avançado. Passe para o modo avançado e você verá o item em seu inventário. Para passar para o modo avançado, feche e reinicialize esse aplicativo e mude o modo (indicado na tela de login). - <form name="form"> - <button name="Show" text="Guardar item"/> - <button name="Discard" text="Recusar item"/> - <button name="Mute" text="Bloquear usuário"/> - </form> - </notification> - <notification name="ObjectGiveItem"> - Um objeto chamado <nolink>[OBJECTFROMNAME]</nolink>, de [NAME_SLURL], está lhe oferecendo <nolink>[ITEM_SLURL]</nolink>. Esta ação requer o modo Avançado. Passe para o modo Avançado e você verá o item em seu Inventário. Para passar para o modo Avançado, feche e reinicialize esse aplicativo e mude o modo (indicado na tela de login). - <form name="form"> - <button name="Keep" text="Guardar item"/> - <button name="Discard" text="Recusar item"/> - <button name="Mute" text="Bloquear objeto"/> - </form> - </notification> -</notifications> diff --git a/indra/newview/skins/minimal/xui/pt/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/pt/panel_adhoc_control_panel.xml deleted file mode 100644 index bd50d4953d8..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="call_btn_panel"> - <button label="Ligar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Desligar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Controles de voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/pt/panel_bottomtray.xml deleted file mode 100644 index 9b4eb2c2b8a..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_bottomtray.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <string name="SpeakBtnToolTip" value="Liga e desliga o microfone"/> - <string name="VoiceControlBtnToolTip" value="Mostra/oculta os controles de voz"/> - <layout_stack name="toolbar_stack"> - <layout_panel name="speak_panel"> - <button label="Falar" name="speak_btn" tool_tip="Ligar/desligar seu microfone"/> - </layout_panel> - <layout_panel name="speak_flyout_panel"> - <button label="" name="flyout_btn" tool_tip="Mudar as preferências de áudio"/> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gesto" name="Gesture" tool_tip="Fazer seu avatar agir"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Exibir" name="camera_btn" tool_tip="Controlar ângulo da câmera"/> - </layout_panel> - <layout_panel name="destinations_panel"> - <bottomtray_button label="Destinos" name="destination_btn" tool_tip="Viajar no Second Life"/> - </layout_panel> - <layout_panel name="avatar_panel"> - <bottomtray_button label="Meu avatar" name="avatar_btn" tool_tip="Trocar seu visual"/> - </layout_panel> - <layout_panel name="people_panel"> - <bottomtray_button label="Pessoas" name="show_people_button" tool_tip="Encontrar pessoas no Second Life"/> - </layout_panel> - <layout_panel name="profile_panel"> - <bottomtray_button label="Perfil" name="show_profile_btn" tool_tip="Ver e editar seu perfil"/> - </layout_panel> - <layout_panel name="howto_panel"> - <bottomtray_button label="Como..." name="show_help_btn" tool_tip="Opções de ajuda do Second Life"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Conversas"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notificações"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/pt/panel_group_control_panel.xml deleted file mode 100644 index 177cee28a64..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_group_control_panel.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="end_call_btn_panel"> - <button label="Desligar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Abrir controles de voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/pt/panel_im_control_panel.xml deleted file mode 100644 index 190323c3b05..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Perfil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Adicionar amigo..." name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teletransportar" name="teleport_btn" tool_tip="Oferecer teletransporte"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Ligar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Encerrar ligação" name="end_call_btn"/> - </layout_panel> - <layout_panel name="block_btn_panel"> - <button label="Bloquear" name="block_btn"/> - </layout_panel> - <layout_panel name="unblock_btn_panel"> - <button label="Desbloquear" name="unblock_btn"/> - </layout_panel> - <layout_panel name="volume_ctrl_panel"> - <slider name="volume_slider" tool_tip="Volume da ligação" value="0.5"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_login.xml b/indra/newview/skins/minimal/xui/pt/panel_login.xml deleted file mode 100644 index de9717874f3..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_login.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_login"> - <panel.string name="create_account_url"> - http://join.secondlife.com/ - </panel.string> - <panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php?lang=pt - </panel.string> - <layout_stack name="login_widgets"> - <layout_panel name="login"> - <text name="username_text"> - Nome de usuário: - </text> - <combo_box name="username_combo" tool_tip="O nome de usuário que você escolheu ao fazer seu cadastro, como zecazc12 or Magia Solar"/> - <text name="password_text"> - Senha: - </text> - <check_box label="Lembrar senha" name="remember_check"/> - <button label="conectar" name="connect_btn"/> - <text name="mode_selection_text"> - Modo: - </text> - <combo_box name="mode_combo" tool_tip="Selecione o modo. O modo Básico é mais rápido e ideal para explorar e conversar. Use o modo Avançado para acessar mais recursos."> - <combo_box.item label="Básico" name="Basic"/> - <combo_box.item label="Avançado" name="Advanced"/> - </combo_box> - </layout_panel> - <layout_panel name="links"> - <text name="create_new_account_text"> - Cadastre-se - </text> - <text name="forgot_password_text"> - Esqueceu seu nome ou senha? - </text> - <text name="login_help"> - Precisa de ajuda ao conectar? - </text> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_navigation_bar.xml b/indra/newview/skins/minimal/xui/pt/panel_navigation_bar.xml deleted file mode 100644 index 01930bf3b35..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_navigation_bar.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="navigation_bar"> - <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Voltar para região anterior"/> - <pull_button name="forward_btn" tool_tip="Avançar uma região"/> - <button name="home_btn" tool_tip="Teletransportar para meu inÃcio"/> - <location_input label="Onde" name="location_combo"/> - <search_combo_box label="Busca" name="search_combo_box" tool_tip="Busca"> - <combo_editor label="Buscar no [SECOND_LIFE]" name="search_combo_editor"/> - </search_combo_box> - </panel> - <favorites_bar name="favorite" tool_tip="Arraste marcos para cá para acessar seus lugares preferidos do Second Life!"> - <label name="favorites_bar_label" tool_tip="Arraste marcos para cá para acessar seus lugares preferidos do Second Life!"> - Barra Destaques - </label> - <chevron_button name=">>" tool_tip="Mostrar mais favoritos"/> - </favorites_bar> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_people.xml b/indra/newview/skins/minimal/xui/pt/panel_people.xml deleted file mode 100644 index 0e98c586c65..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_people.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<!-- Side tray panel --> -<panel label="Pessoas" name="people_panel"> - <string name="no_recent_people" value="Ninguém, recentemente. Em busca de alguém para conversar? Confira o botão Destinos abaixo."/> - <string name="no_filtered_recent_people" value="Não há ninguém com esse nome ultimamente."/> - <string name="no_one_near" value="Ninguém por perto Em busca de alguém para conversar? Confira o botão Destinos abaixo."/> - <string name="no_one_filtered_near" value="Não há ninguém com esse nome por perto."/> - <string name="no_friends_online" value="Nenhum amigo online"/> - <string name="no_friends" value="Nenhum amigo"/> - <string name="no_friends_msg"> - Clique em um residente com o botão direito to mouse para adicioná-lo como amigo. -Em busca de alguém para conversar? Confira o botão Destinos abaixo. - </string> - <string name="no_filtered_friends_msg"> - Não encontrou o que procura? Confira o botão Destinos abaixo. - </string> - <string name="people_filter_label" value="Filtro de pessoas"/> - <string name="groups_filter_label" value="Filtro de grupos"/> - <string name="no_filtered_groups_msg" value="Não encontrou o que procura? Tente buscar no [secondlife:///app/search/groups/[SEARCH_TERM] Search]."/> - <string name="no_groups_msg" value="À procura de grupos interessantes? Tente fazer uma [secondlife:///app/search/groups Busca]."/> - <string name="MiniMapToolTipMsg" value="[REGION](Clique duplo para abrir o Mapa, botão Shift e arrastar para ver mais)"/> - <string name="AltMiniMapToolTipMsg" value="[REGION](Clique duplo para se teletransportar, botão Shift e arrastar para ver mais)"/> - <filter_editor label="Filtro" name="filter_input"/> - <tab_container name="tabs"> - <panel label="PROXIMIDADE" name="nearby_panel"> - <panel label="bottom_panel" name="bottom_panel"/> - </panel> - <panel label="MEUS AMIGOS" name="friends_panel"> - <accordion name="friends_accordion"> - <accordion_tab name="tab_online" title="Online"/> - <accordion_tab name="tab_all" title="Todos"/> - </accordion> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel"> - <layout_panel name="trash_btn_panel"> - <dnd_button name="del_btn" tool_tip="Remover a pessoa selecionada da sua lista de amigos"/> - </layout_panel> - </layout_stack> - </panel> - </panel> - <panel label="RECENTE" name="recent_panel"> - <panel label="bottom_panel" name="bottom_panel"> - <button name="add_friend_btn" tool_tip="Adicionar o residente selecionado para sua lista de amigos"/> - </panel> - </panel> - </tab_container> - <panel name="button_bar"> - <layout_stack name="bottom_bar_ls"> - <layout_panel name="view_profile_btn_lp"> - <button label="Perfil" name="view_profile_btn" tool_tip="Exibir fotografia, grupos e outras informações dos residentes"/> - </layout_panel> - <layout_panel name="im_btn_lp"> - <button label="MI" name="im_btn" tool_tip="Abrir sessão de mensagem instantânea"/> - </layout_panel> - <layout_panel name="call_btn_lp"> - <button label="Ligar" name="call_btn" tool_tip="Ligar para este residente"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teletransportar" name="teleport_btn" tool_tip="Oferecer teletransporte"/> - </layout_panel> - </layout_stack> - <layout_stack name="bottom_bar_ls1"> - <layout_panel name="group_info_btn_lp"> - <button label="Perfil do grupo" name="group_info_btn" tool_tip="Exibir dados do grupo"/> - </layout_panel> - <layout_panel name="chat_btn_lp"> - <button label="Bate-papo de grupo" name="chat_btn" tool_tip="Nova sessão de bate-papo"/> - </layout_panel> - <layout_panel name="group_call_btn_lp"> - <button label="Ligar para o grupo" name="group_call_btn" tool_tip="Ligar para este grupo"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_side_tray_tab_caption.xml b/indra/newview/skins/minimal/xui/pt/panel_side_tray_tab_caption.xml deleted file mode 100644 index 09444a55356..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_side_tray_tab_caption.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="sidetray_tab_panel"> - <text name="sidetray_tab_title" value="Bandeja lateral"/> - <button name="undock" tool_tip="Soltar janela"/> - <button name="dock" tool_tip="Ancorar janela"/> - <button name="show_help" tool_tip="Mostrar ajuda"/> -</panel> diff --git a/indra/newview/skins/minimal/xui/pt/panel_status_bar.xml b/indra/newview/skins/minimal/xui/pt/panel_status_bar.xml deleted file mode 100644 index f7890ae57d6..00000000000 --- a/indra/newview/skins/minimal/xui/pt/panel_status_bar.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="status"> - <panel.string name="StatBarDaysOfWeek"> - Domingo:Segunda-feira:Terça-feira:Quarta-feira:Quinta-feira:Sexta-feira:Sábado - </panel.string> - <panel.string name="StatBarMonthsOfYear"> - Janeiro:Fevereiro:Março:Abril:Maio:Junho:Julho:Agosto:Setembro:Outubro:Novembro:Dezembro - </panel.string> - <panel.string name="packet_loss_tooltip"> - Perda de pacote - </panel.string> - <panel.string name="bandwidth_tooltip"> - Banda - </panel.string> - <panel.string name="time"> - [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] - </panel.string> - <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] - </panel.string> - <panel.string name="buycurrencylabel"> - L$ [AMT] - </panel.string> - <panel name="balance_bg"> - <text name="balance" tool_tip="Atualizar saldo de L$" value="L$20"/> - <button label="Comprar L$" name="buyL" tool_tip="Comprar mais L$"/> - </panel> - <text name="TimeText" tool_tip="Hora atual (PacÃfico)"> - 24:00 AM PST - </text> - <button name="media_toggle_btn" tool_tip="Tocar/Pausar todas mÃdias (música, vÃdeo, páginas web)"/> - <button name="volume_btn" tool_tip="Volume geral"/> -</panel> -- GitLab From 8a846bd3747ac9192691b8b588bbae8d5e0de403 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 20 Sep 2011 19:02:11 -0700 Subject: [PATCH 007/213] EXP-1230 FIX As a resident, I want to not have to choose a UI mode cleaned up status and navigation bars --- .../skins/default/xui/en/panel_navigation_bar.xml | 4 ++-- .../skins/default/xui/en/panel_status_bar.xml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 9749b6fdd46..8a7bd53054b 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -97,7 +97,7 @@ mouse_opaque="false" name="location_combo" top_delta="0" - width="226"> + width="266"> <combo_list mouse_wheel_opaque="true"/> <!-- *TODO: Delete. Let the location_input use the correct art sizes. @@ -137,7 +137,7 @@ name="search_combo_box" tool_tip="Search" top_delta="0" - width="244" > + width="200" > <combo_editor label="Search [SECOND_LIFE]" name="search_combo_editor"/> diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 3fb9aa0f3b9..cf684781b69 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -35,7 +35,7 @@ </panel.string> <panel height="18" - left="-355" + left="-315" width="95" top="1" follows="right|top" @@ -76,18 +76,18 @@ width="55" /> </panel> <text - left_pad="5" - type="string" + type="string" font="SansSerifSmall" text_readonly_color="TimeTextColor" follows="right|top" - halign="center" + halign="right" height="16" top="5" layout="topleft" + left_pad="0" name="TimeText" tool_tip="Current time (Pacific)" - width="75"> + width="145"> 24:00 AM PST </text> <button @@ -98,7 +98,7 @@ image_pressed="Pause_Press" image_pressed_selected="Play_Press" is_toggle="true" - left_pad="10" + left_pad="15" top="1" name="media_toggle_btn" tool_tip="Start/Stop All Media (Music, Video, Web pages)" -- GitLab From 00ba099a9e23103900399803ffc375873fbfe4a3 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Wed, 21 Sep 2011 19:28:16 +0300 Subject: [PATCH 008/213] EXP-1221 FIXED Added a floater container class that provides an interface for all former Side Tray panels. The container implements a unified behavior similar to Side Tray tabs for all floaters: - LLSD params are passed to the main panel (root panel containing other child panels) upon opening the floater via LLFloaterReg, - LLSD params can be passed to one of the child panels using LLFloaterSidePanelContainer::openChildPanel() - transient floaters (e.g. IM windows) should not hide when the container floater is clicked, so that it's possible to drag an inventory item from My Inventory floater to a docked IM window. --- indra/newview/CMakeLists.txt | 2 + indra/newview/llfloatersidepanelcontainer.cpp | 77 +++++++++++++++++++ indra/newview/llfloatersidepanelcontainer.h | 54 +++++++++++++ 3 files changed, 133 insertions(+) create mode 100644 indra/newview/llfloatersidepanelcontainer.cpp create mode 100644 indra/newview/llfloatersidepanelcontainer.h diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 11b19ca4fec..4001cd39750 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -228,6 +228,7 @@ set(viewer_SOURCE_FILES llfloatersearch.cpp llfloatersellland.cpp llfloatersettingsdebug.cpp + llfloatersidepanelcontainer.cpp llfloatersidetraytab.cpp llfloatersnapshot.cpp llfloatersounddevices.cpp @@ -791,6 +792,7 @@ set(viewer_HEADER_FILES llfloatersearch.h llfloatersellland.h llfloatersettingsdebug.h + llfloatersidepanelcontainer.h llfloatersidetraytab.h llfloatersnapshot.h llfloatersounddevices.h diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp new file mode 100644 index 00000000000..54cdb574b33 --- /dev/null +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -0,0 +1,77 @@ +/** + * @file llfloatersidepanelcontainer.cpp + * @brief LLFloaterSidePanelContainer class definition + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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 "llfloatersidepanelcontainer.h" + +// newview includes +#include "llsidetraypanelcontainer.h" +#include "lltransientfloatermgr.h" + +LLFloaterSidePanelContainer::LLFloaterSidePanelContainer(const LLSD& key, const Params& params) +: LLFloater(key, params) +{ + // Prevent transient floaters (e.g. IM windows) from hiding + // when this floater is clicked. + LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::GLOBAL, this); +} + +LLFloaterSidePanelContainer::~LLFloaterSidePanelContainer() +{ + LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::GLOBAL, this); +} + +void LLFloaterSidePanelContainer::onOpen(const LLSD& key) +{ + getChild<LLPanel>("main_panel")->onOpen(key); +} + +LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_name, const LLSD& params) +{ + LLView* view = findChildView(panel_name, true); + if (!view) return NULL; + + openFloater(); + + LLPanel* panel = NULL; + + LLSideTrayPanelContainer* container = dynamic_cast<LLSideTrayPanelContainer*>(view->getParent()); + if (container) + { + LLSD new_params = params; + new_params[LLSideTrayPanelContainer::PARAM_SUB_PANEL_NAME] = panel_name; + container->onOpen(new_params); + + panel = container->getCurrentPanel(); + } + else if (panel = dynamic_cast<LLPanel*>(view)) + { + panel->onOpen(params); + } + + return panel; +} diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h new file mode 100644 index 00000000000..37d65a13544 --- /dev/null +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -0,0 +1,54 @@ +/** + * @file llfloatersidepanelcontainer.h + * @brief LLFloaterSidePanelContainer class + * + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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_LLFLOATERSIDEPANELCONTAINER_H +#define LL_LLFLOATERSIDEPANELCONTAINER_H + +#include "llfloater.h" + +/** + * Class LLFloaterSidePanelContainer + * + * Provides an interface for all former Side Tray panels. + * + * This class helps to make sure that clicking a floater containing the side panel + * doesn't make transient floaters (e.g. IM windows) hide, so that it's possible to + * drag an inventory item from My Inventory window to a docked IM window, + * i.e. share the item (see VWR-22891). + */ +class LLFloaterSidePanelContainer : public LLFloater +{ +public: + LLFloaterSidePanelContainer(const LLSD& key, const Params& params = getDefaultParams()); + ~LLFloaterSidePanelContainer(); + + /*virtual*/ void onOpen(const LLSD& key); + + LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); +}; + +#endif // LL_LLFLOATERSIDEPANELCONTAINER_H -- GitLab From 305b65f6f600b81de9a78e1246d2a5353cc3189b Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 21 Sep 2011 12:11:23 -0700 Subject: [PATCH 009/213] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1210 FIX -- Implement new toybox floater window EXP-1231 FIX -- Add menu option to toggle the toybox floater on and off * Basic toybox floater implemented as its own class * Toybox is available through "Me -> Toolbars..." menu option or ctrl-T shortcut * Toolbars now have "side" type rather than simple orientation, as well as button state for "icons only" or "icons with text". Reviewed by Richard --- indra/llui/lltoolbar.cpp | 58 ++++++++-- indra/llui/lltoolbar.h | 55 ++++++++-- indra/newview/CMakeLists.txt | 2 + indra/newview/llfloatertoybox.cpp | 103 ++++++++++++++++++ indra/newview/llfloatertoybox.h | 58 ++++++++++ indra/newview/llviewerfloaterreg.cpp | 2 + .../skins/default/xui/en/floater_toybox.xml | 63 +++++++++++ .../skins/default/xui/en/menu_login.xml | 2 +- .../skins/default/xui/en/menu_viewer.xml | 14 ++- 9 files changed, 336 insertions(+), 21 deletions(-) create mode 100644 indra/newview/llfloatertoybox.cpp create mode 100644 indra/newview/llfloatertoybox.h create mode 100644 indra/newview/skins/default/xui/en/floater_toybox.xml diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index cdd3a502053..2c1e141ca79 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -32,23 +32,45 @@ //static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); + +namespace LLToolBarEnums +{ + LLLayoutStack::ELayoutOrientation getOrientation(SideType sideType) + { + LLLayoutStack::ELayoutOrientation orientation = LLLayoutStack::HORIZONTAL; + + if ((sideType == SIDE_LEFT) || (sideType == SIDE_RIGHT)) + { + orientation = LLLayoutStack::VERTICAL; + } + + return orientation; + } +} + + LLToolBar::Params::Params() -: orientation("orientation"), - buttons("button") +: button_display_mode("button_display_mode"), + buttons("button"), + side("side") {} LLToolBar::LLToolBar(const Params& p) : LLUICtrl(p), - mOrientation(p.orientation), + mButtonType(p.button_display_mode), + mSideType(p.side), mStack(NULL) -{} +{ +} void LLToolBar::initFromParams(const LLToolBar::Params& p) { + LLLayoutStack::ELayoutOrientation orientation = LLToolBarEnums::getOrientation(p.side); + LLLayoutStack::Params centering_stack_p; centering_stack_p.rect = getLocalRect(); centering_stack_p.follows.flags = FOLLOWS_ALL; - centering_stack_p.orientation = p.orientation; + centering_stack_p.orientation = orientation; centering_stack_p.name = "centering_stack"; LLLayoutPanel::Params border_panel_p; @@ -75,8 +97,8 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) LLLayoutStack::Params stack_p; stack_p.rect = getLocalRect(); stack_p.name = "button_stack"; - stack_p.orientation = p.orientation; - stack_p.follows.flags = (mOrientation == LLLayoutStack::HORIZONTAL) + stack_p.orientation = orientation; + stack_p.follows.flags = (orientation == LLLayoutStack::HORIZONTAL) ? (FOLLOWS_TOP|FOLLOWS_BOTTOM) // horizontal : (FOLLOWS_LEFT|FOLLOWS_RIGHT); // vertical @@ -88,7 +110,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) // remove any offset from button LLRect button_rect(button_p.rect); - if (mOrientation == LLLayoutStack::HORIZONTAL) + if (orientation == LLLayoutStack::HORIZONTAL) { button_rect.setOriginAndSize(0, 0, 0, getRect().getHeight()); } @@ -139,7 +161,7 @@ void LLToolBar::updateLayout() max_height = llmax(button->getRect().getHeight(), max_height); } - if (mOrientation == LLLayoutStack::HORIZONTAL) + if (LLToolBarEnums::getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) { mStack->reshape(total_width, mStack->getParent()->getRect().getHeight()); } @@ -153,6 +175,24 @@ void LLToolBar::updateLayout() void LLToolBar::draw() { + //gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); LLUICtrl::draw(); } +namespace LLInitParam +{ + void TypeValues<LLToolBarEnums::ButtonType>::declareValues() + { + declare("icons_only", LLToolBarEnums::BTNTYPE_ICONS_ONLY); + declare("icons_with_text", LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT); + } + + void TypeValues<LLToolBarEnums::SideType>::declareValues() + { + declare("none", LLToolBarEnums::SIDE_NONE); + declare("bottom", LLToolBarEnums::SIDE_BOTTOM); + declare("left", LLToolBarEnums::SIDE_LEFT); + declare("right", LLToolBarEnums::SIDE_RIGHT); + declare("top", LLToolBarEnums::SIDE_TOP); + } +} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index fb03095c566..60a848a6e39 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -32,6 +32,7 @@ #include "lllayoutstack.h" #include "llbutton.h" + class LLToolBarButton : public LLButton { public: @@ -40,9 +41,44 @@ class LLToolBarButton : public LLButton }; LLToolBarButton(const Params& p) : LLButton(p) {} - }; + +namespace LLToolBarEnums +{ + enum ButtonType + { + BTNTYPE_ICONS_ONLY = 0, + BTNTYPE_ICONS_WITH_TEXT, + }; + + enum SideType + { + SIDE_NONE = 0, + SIDE_BOTTOM, + SIDE_LEFT, + SIDE_RIGHT, + SIDE_TOP, + }; +} + +// NOTE: This needs to occur before Param block declaration for proper compilation. +namespace LLInitParam +{ + template<> + struct TypeValues<LLToolBarEnums::ButtonType> : public TypeValuesHelper<LLToolBarEnums::ButtonType> + { + static void declareValues(); + }; + + template<> + struct TypeValues<LLToolBarEnums::SideType> : public TypeValuesHelper<LLToolBarEnums::SideType> + { + static void declareValues(); + }; +} + + class LLToolBar : public LLUICtrl { @@ -50,26 +86,29 @@ class LLToolBar struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { - Mandatory<LLLayoutStack::ELayoutOrientation, - LLLayoutStack::OrientationNames> orientation; - Multiple<LLToolBarButton::Params> buttons; + Mandatory<LLToolBarEnums::ButtonType> button_display_mode; + Multiple<LLToolBarButton::Params> buttons; + Mandatory<LLToolBarEnums::SideType> side; Params(); }; - /*virtual*/ void draw(); + // virtuals + void draw(); protected: friend class LLUICtrlFactory; LLToolBar(const Params&); + void initFromParams(const Params&); void addButton(LLToolBarButton* buttonp); void updateLayout(); private: - LLLayoutStack::ELayoutOrientation mOrientation; - LLLayoutStack* mStack; - std::list<LLToolBarButton*> mButtons; + std::list<LLToolBarButton*> mButtons; + LLToolBarEnums::ButtonType mButtonType; + LLToolBarEnums::SideType mSideType; + LLLayoutStack* mStack; }; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 73511447658..18e092eb4a3 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -237,6 +237,7 @@ set(viewer_SOURCE_FILES llfloatertools.cpp llfloatertopobjects.cpp llfloatertos.cpp + llfloatertoybox.cpp llfloateruipreview.cpp llfloaterurlentry.cpp llfloatervoiceeffect.cpp @@ -800,6 +801,7 @@ set(viewer_HEADER_FILES llfloatertools.h llfloatertopobjects.h llfloatertos.h + llfloatertoybox.h llfloateruipreview.h llfloaterurlentry.h llfloatervoiceeffect.h diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp new file mode 100644 index 00000000000..b4fb2e45ab9 --- /dev/null +++ b/indra/newview/llfloatertoybox.cpp @@ -0,0 +1,103 @@ +/** + * @file llfloatertoybox.cpp + * @brief The toybox for flexibilizing the UI. + * + * $LicenseInfo:firstyear=2002&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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 "llfloatertoybox.h" + +#include "llbutton.h" +#include "llpanel.h" + + +LLFloaterToybox::LLFloaterToybox(const LLSD& key) + : LLFloater(key) + , mBtnRestoreDefaults(NULL) +{ + mCommitCallbackRegistrar.add("Toybox.RestoreDefaults", boost::bind(&LLFloaterToybox::onBtnRestoreDefaults, this)); +} + +LLFloaterToybox::~LLFloaterToybox() +{ +} + +BOOL LLFloaterToybox::postBuild() +{ + center(); + + mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); + + // + // Create Buttons + // +/* + LLToyboxButtons::load(); + + for (size_t i = 0; i < LLToyboxButtons::buttonCount(); i++) + { + LLToyboxButton * button = LLToyboxButtons::get(i); + + // Panel opacity depends on whether or not button position is established + LLPanel * buttonPanel = createPanelForButton(button); + + mToolBar->add(buttonPanel); + } +*/ + + return TRUE; +} + +void LLFloaterToybox::onOpen(const LLSD& key) +{ + +} + +BOOL LLFloaterToybox::canClose() +{ + return TRUE; +} + +void LLFloaterToybox::onClose(bool app_quitting) +{ + +} + +void LLFloaterToybox::draw() +{ + LLFloater::draw(); +} + +void LLFloaterToybox::onFocusReceived() +{ + +} + +void LLFloaterToybox::onBtnRestoreDefaults() +{ + +} + + +// eof diff --git a/indra/newview/llfloatertoybox.h b/indra/newview/llfloatertoybox.h new file mode 100644 index 00000000000..bb9392a0e3b --- /dev/null +++ b/indra/newview/llfloatertoybox.h @@ -0,0 +1,58 @@ +/** + * @file llfloatertoybox.h + * @brief The toybox for flexibilizing the UI. + * + * $LicenseInfo:firstyear=2002&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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_LLFLOATERTOYBOX_H +#define LL_LLFLOATERTOYBOX_H + +#include "llfloater.h" + + +class LLButton; + + +class LLFloaterToybox +: public LLFloater +{ +public: + LLFloaterToybox(const LLSD& key); + virtual ~LLFloaterToybox(); + + // virtuals + BOOL postBuild(); + void onOpen(const LLSD& key); + BOOL canClose(); + void onClose(bool app_quitting); + void draw(); + void onFocusReceived(); + +protected: + void onBtnRestoreDefaults(); + +public: + LLButton * mBtnRestoreDefaults; +}; + +#endif // LL_LLFLOATERTOYBOX_H diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 4af5fdd9f36..375ee3ad33b 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -103,6 +103,7 @@ #include "llfloatertools.h" #include "llfloatertos.h" #include "llfloatertopobjects.h" +#include "llfloatertoybox.h" #include "llfloateruipreview.h" #include "llfloatervoiceeffect.h" #include "llfloaterwhitelistentry.h" @@ -255,6 +256,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("test_text_editor", "floater_test_text_editor.xml", &LLFloaterReg::build<LLFloater>); LLFloaterReg::add("test_widgets", "floater_test_widgets.xml", &LLFloaterReg::build<LLFloater>); LLFloaterReg::add("top_objects", "floater_top_objects.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTopObjects>); + LLFloaterReg::add("toybox", "floater_toybox.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterToybox>); LLFloaterReg::add("reporter", "floater_report_abuse.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterReporter>); LLFloaterReg::add("reset_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterResetQueue>); diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml new file mode 100644 index 00000000000..19514973091 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + can_close="true" + can_dock="false" + can_minimize="false" + can_resize="false" + default_tab_group="1" + height="460" + help_topic="toybox" + layout="topleft" + legacy_header_height="18" + name="Toybox" + open_centered="true" + single_instance="true" + title="Customize toolbars" + width="658"> + <text + follows="left|top" + font="SansSerifMedium" + halign="left" + height="20" + layout="topleft" + left="40" + length="1" + name="toybox label 1" + right="-40" + top="35" + type="string"> + Add or remove buttons by dragging them to or from the toolbars. + </text> + <text + follows="left|top" + font="SansSerifMedium" + halign="left" + height="20" + layout="topleft" + left="40" + length="1" + name="toybox label 2" + right="-40" + top="55" + type="string"> + Buttons will appear as shown or as icon-only depending on each toolbar's settings. + </text> + <toolbar + bottom="395" + left="40" + right="-40" + top="85"> + </toolbar> + <button + follows="left|bottom" + height="23" + label="Restore defaults" + label_selected="Restore defaults" + layout="topleft" + left="40" + name="btn_restore_defaults" + top="415" + width="130"> + <button.commit_callback function="Toybox.RestoreDefaults" /> + </button> +</floater> diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 4c4ff3e5c45..bb58dd500f0 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -13,7 +13,7 @@ tear_off="true" name="File"> <menu_item_call - label="Preferences" + label="Preferences..." name="Preferences..." shortcut="control|P"> <menu_item_call.on_click diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 36ebe737532..2e93243b0f0 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -9,14 +9,22 @@ name="Me" tear_off="true"> <menu_item_call - label="Preferences" + label="Preferences..." name="Preferences" shortcut="control|P"> <menu_item_call.on_click function="Floater.Show" parameter="preferences" /> </menu_item_call> - <menu_item_call + <menu_item_call + label="Toolbars..." + name="Toolbars" + shortcut="control|T"> + <menu_item_call.on_click + function="Floater.Toggle" + parameter="toybox" /> + </menu_item_call> + <menu_item_call label="My Dashboard" name="Manage My Account"> <menu_item_call.on_click @@ -2855,7 +2863,7 @@ function="ToggleControl" parameter="BottomPanelNew" /> </menu_item_check>--> - <menu_item_call + <menu_item_call label="Media Browser Test" name="Web Browser Test"> <menu_item_call.on_click -- GitLab From 3dfc05c2e84923bc0aef5256d227f566aaa37868 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 21 Sep 2011 13:51:59 -0700 Subject: [PATCH 010/213] Updating toolbar test floater to use new side definition rather than orientation --- indra/newview/skins/default/xui/en/floater_test_toolbar.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index 55cfd462acc..76bba4e72e4 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -13,7 +13,7 @@ width="500" left="0" top="20" - orientation="horizontal"> + side="top"> <button width="0" auto_resize="true" label="Button 1"/> @@ -30,7 +30,7 @@ width="100" left="0" top="70" - orientation="vertical"> + side="left"> <button height="30" label="Button 1"/> <button height="50" -- GitLab From 7bc6e626f40a910b4a3e5b88161e96b9967bd24d Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 21 Sep 2011 14:24:38 -0700 Subject: [PATCH 011/213] EXP-1207 : LLToolbarView skeleton, nothing operational yet... --- indra/llui/CMakeLists.txt | 2 + indra/llui/lltoolbarview.cpp | 74 +++++++++++++++++++ indra/llui/lltoolbarview.h | 52 +++++++++++++ indra/newview/app_settings/settings.xml | 11 +++ indra/newview/llviewerwindow.cpp | 10 +++ .../skins/default/xui/en/main_view.xml | 35 +++++++++ 6 files changed, 184 insertions(+) create mode 100644 indra/llui/lltoolbarview.cpp create mode 100644 indra/llui/lltoolbarview.h diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index cf3f9b1a7b3..d81801a0d26 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -100,6 +100,7 @@ set(llui_SOURCE_FILES lltransutil.cpp lltoggleablemenu.cpp lltoolbar.cpp + lltoolbarview.cpp lltooltip.cpp llui.cpp lluicolortable.cpp @@ -202,6 +203,7 @@ set(llui_HEADER_FILES lltimectrl.h lltoggleablemenu.h lltoolbar.h + lltoolbarview.h lltooltip.h lltransutil.h lluicolortable.h diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp new file mode 100644 index 00000000000..40d1ac3418e --- /dev/null +++ b/indra/llui/lltoolbarview.cpp @@ -0,0 +1,74 @@ +/** + * @file lltoolbarview.cpp + * @author Merov Linden + * @brief User customizable toolbar class + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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 "linden_common.h" + +#include "lltoolbarview.h" +#include "llbutton.h" + +LLToolBarView* gToolBarView = NULL; + +static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); + +LLToolBarView::LLToolBarView(const Params& p) +: LLUICtrl(p) +{ +} + +BOOL LLToolBarView::postBuild() +{ + LLButton* btn = getChild<LLButton>("color_pipette"); + btn->setVisible(TRUE); + LLRect ctrl_rect = getRect(); + LLRect btn_rect = btn->getRect(); + llinfos << "Merov debug : control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; + llinfos << "Merov debug : button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; + btn_rect.mLeft = 0; + btn_rect.mTop = ctrl_rect.getHeight(); + btn_rect.mRight = 28; + btn_rect.mBottom = btn_rect.mTop - 28; + btn->setRect(btn_rect); + btn_rect = btn->getRect(); + llinfos << "Merov debug : button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; + return TRUE; +} + +void LLToolBarView::draw() +{ + LLButton* btn = getChild<LLButton>("color_pipette"); + btn->setVisible(TRUE); + static bool debug_print = true; + if (debug_print) + { + LLRect ctrl_rect = getRect(); + LLRect btn_rect = btn->getRect(); + llinfos << "Merov debug : draw control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; + llinfos << "Merov debug : draw button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; + debug_print = false; + } + LLUICtrl::draw(); +} diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h new file mode 100644 index 00000000000..0bd0070ab77 --- /dev/null +++ b/indra/llui/lltoolbarview.h @@ -0,0 +1,52 @@ +/** + * @file lltoolbarview.h + * @author Merov Linden + * @brief User customizable toolbar class + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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_LLTOOLBARVIEW_H +#define LL_LLTOOLBARVIEW_H + +#include "lluictrl.h" + +// Parent of all LLToolBar + +class LLToolBarView : public LLUICtrl +{ +public: + struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> {}; + void draw(); + /*virtual*/ BOOL postBuild(); + +protected: + friend class LLUICtrlFactory; + LLToolBarView(const Params&); + +private: + LLHandle<LLView> mSnapView; +}; + +extern LLToolBarView* gToolBarView; + +#endif // LL_LLTOOLBARVIEW_H diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 7ab9f36b87f..edebbcb8cf2 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2652,6 +2652,17 @@ <key>Value</key> <integer>-1</integer> </map> + <key>DebugToolbarFUI</key> + <map> + <key>Comment</key> + <string>Turn on the FUI Toolbars</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>1</integer> + </map> <key>DebugViews</key> <map> <key>Comment</key> diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 5893259d964..e92e7f11836 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -76,6 +76,7 @@ #include "lltimer.h" #include "timing.h" #include "llviewermenu.h" +#include "lltoolbarview.h" #include "lltooltip.h" #include "llmediaentry.h" #include "llurldispatcher.h" @@ -1778,6 +1779,14 @@ void LLViewerWindow::initBase() mHintHolder = main_view->getChild<LLView>("hint_holder")->getHandle(); mLoginPanelHolder = main_view->getChild<LLView>("login_panel_holder")->getHandle(); + // Update the toolbar global holder + // *TODO: Eventually, suppress the existence of this debug setting and turn toolbar FUI on permanently + if (gSavedSettings.getBOOL("DebugToolbarFUI")) + { + gToolBarView = main_view->getChild<LLToolBarView>("Toolbar View"); + } + + // Constrain floaters to inside the menu and status bar regions. gFloaterView = main_view->getChild<LLFloaterView>("Floater View"); gFloaterView->setFloaterSnapView(main_view->getChild<LLView>("floater_snap_region")->getHandle()); @@ -2000,6 +2009,7 @@ void LLViewerWindow::shutdownViews() gIMMgr = NULL; gToolTipView = NULL; + gToolBarView = NULL; gFloaterView = NULL; gMorphView = NULL; diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index a7d1aa963c7..54badb13862 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -162,6 +162,41 @@ top="0" width="1024"/> </panel> + + <panel follows="left|top" + layout="topleft" + height="500" + left="0" + mouse_opaque="false" + name="toolbar_view_holder" + tab_stop="false" + top="0" + visible="true" + width="1024"> + <toolbar_view follows="left|top" + layout="topleft" + height="100" + left="100" + mouse_opaque="false" + name="Toolbar View" + tab_stop="false" + top="100" + visible="true" + width="512"> + <button + follows="left|top" + height="28" + image_selected="eye_button_active.tga" + image_unselected="eye_button_inactive.tga" + layout="topleft" + top="0" + left="0" + name="color_pipette" + width="28" + visible="true" /> + </toolbar_view> + </panel> + </layout_panel> </layout_stack> <panel mouse_opaque="false" -- GitLab From 412e29ed9d62e975a5290c6008558a739b88065d Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 21 Sep 2011 17:25:38 -0700 Subject: [PATCH 012/213] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1232 FIX -- Create class to load and hold all of the command meta data associated with FUI toolbar actions * Added basic commands.xml file to define FUI-related toolbar actions. For now a basic "avatar" and "places" button are defined. * Added basic command manager to parse and hold strings that define potential toolbar command actions. * Broke out a separate floater function as a placeholder for the 3-state toolbar floater toggling. * LLUI::initClass now parses the new commands.xml file Reviewed by Richard. --- indra/llui/CMakeLists.txt | 2 + indra/llui/llcommandmanager.cpp | 138 ++++++++++++++++++ indra/llui/llcommandmanager.h | 97 ++++++++++++ indra/llui/llfloaterreg.cpp | 11 ++ indra/llui/llfloaterreg.h | 1 + indra/llui/llui.cpp | 5 + indra/newview/CMakeLists.txt | 1 + indra/newview/app_settings/commands.xml | 17 +++ .../skins/default/textures/textures.xml | 3 + .../newview/skins/default/xui/en/strings.xml | 8 +- 10 files changed, 282 insertions(+), 1 deletion(-) create mode 100644 indra/llui/llcommandmanager.cpp create mode 100644 indra/llui/llcommandmanager.h create mode 100644 indra/newview/app_settings/commands.xml diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index cf3f9b1a7b3..0687cf55d8c 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -35,6 +35,7 @@ set(llui_SOURCE_FILES llcheckboxctrl.cpp llclipboard.cpp llcombobox.cpp + llcommandmanager.cpp llconsole.cpp llcontainerview.cpp llctrlselectioninterface.cpp @@ -132,6 +133,7 @@ set(llui_HEADER_FILES llcheckboxctrl.h llclipboard.h llcombobox.h + llcommandmanager.h llconsole.h llcontainerview.h llctrlselectioninterface.h diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp new file mode 100644 index 00000000000..306b357d6a9 --- /dev/null +++ b/indra/llui/llcommandmanager.cpp @@ -0,0 +1,138 @@ +/** + * @file llcommandmanager.cpp + * @brief LLCommandManager class + * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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$ + */ + +// A control that displays the name of the chosen item, which when +// clicked shows a scrolling box of options. + +#include "linden_common.h" + +#include "llcommandmanager.h" +#include "lldir.h" +#include "llerror.h" +#include "llxuiparser.h" + +#include <boost/foreach.hpp> + + +// +// LLCommand class +// + +LLCommand::Params::Params() + : function("function") + , icon("icon") + , label_ref("label_ref") + , name("name") + , param("param") + , tooltip_ref("tooltip_ref") +{ +} + +LLCommand::LLCommand(const LLCommand::Params& p) + : mFunction(p.function) + , mIcon(p.icon) + , mLabelRef(p.label_ref) + , mName(p.name) + , mParam(p.param) + , mTooltipRef(p.tooltip_ref) +{ +} + + +// +// LLCommandManager class +// + +LLCommandManager::LLCommandManager() +{ +} + +LLCommandManager::~LLCommandManager() +{ +} + +U32 LLCommandManager::count() const +{ + return mCommands.size(); +} + +LLCommand * LLCommandManager::getCommand(U32 commandIndex) +{ + return mCommands[commandIndex]; +} + +LLCommand * LLCommandManager::getCommand(const std::string& commandName) +{ + LLCommand * command_name_match = NULL; + + for (CommandVector::iterator it = mCommands.begin(); it != mCommands.end(); ++it) + { + LLCommand * command = *it; + + if (command->name() == commandName) + { + command_name_match = command; + break; + } + } + + return command_name_match; +} + +//static +bool LLCommandManager::load() +{ + LLCommandManager& mgr = LLCommandManager::instance(); + + std::string commands_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "commands.xml"); + + LLCommandManager::Params commandsParams; + + LLSimpleXUIParser parser; + + if (!parser.readXUI(commands_file, commandsParams)) + { + llerrs << "Unable to load xml file: " << commands_file << llendl; + return false; + } + + if (!commandsParams.validateBlock()) + { + llerrs << "Unable to validate commands param block from file: " << commands_file << llendl; + return false; + } + + BOOST_FOREACH(LLCommand::Params& commandParams, commandsParams.commands) + { + LLCommand * command = new LLCommand(commandParams); + + mgr.mCommands.push_back(command); + + llinfos << "Successfully loaded command: " << command->name() << llendl; + } + + return true; +} diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h new file mode 100644 index 00000000000..4f3c9b2ada5 --- /dev/null +++ b/indra/llui/llcommandmanager.h @@ -0,0 +1,97 @@ +/** + * @file llcommandmanager.h + * @brief LLCommandManager class to hold commands + * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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_COMMANDMANAGER_H +#define LL_COMMANDMANAGER_H + +#include "llinitparam.h" +#include "llsingleton.h" + + +class LLCommand +{ +public: + struct Params : public LLInitParam::Block<Params> + { + Mandatory<std::string> function; + Mandatory<std::string> icon; + Mandatory<std::string> label_ref; + Mandatory<std::string> name; + Optional<std::string> param; + Mandatory<std::string> tooltip_ref; + + Params(); + }; + + LLCommand(const LLCommand::Params& p); + + const std::string& functionName() const { return mFunction; } + const std::string& icon() const { return mIcon; } + const std::string& labelRef() const { return mLabelRef; } + const std::string& name() const { return mName; } + const std::string& param() const { return mParam; } + const std::string& tooltipRef() const { return mTooltipRef; } + +private: + std::string mFunction; + std::string mIcon; + std::string mLabelRef; + std::string mName; + std::string mParam; + std::string mTooltipRef; +}; + + +class LLCommandManager +: public LLSingleton<LLCommandManager> +{ +public: + struct Params : public LLInitParam::Block<Params> + { + Multiple< LLCommand::Params, AtLeast<1> > commands; + + Params() + : commands("command") + { + } + }; + + LLCommandManager(); + ~LLCommandManager(); + + U32 count() const; + LLCommand * getCommand(U32 commandIndex); + LLCommand * getCommand(const std::string& commandName); + + static bool load(); + +private: + typedef std::vector<LLCommand *> CommandVector; + CommandVector mCommands; +}; + + +#endif // LL_COMMANDMANAGER_H diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index fc7dcfcc4e3..bc740dde171 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -452,6 +452,17 @@ void LLFloaterReg::toggleFloaterInstance(const LLSD& sdname) toggleInstance(name, key); } +//static +void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) +{ + // Do some extra logic here for 3-state toolbar floater toggling madness :) + + LLSD key; + std::string name = sdname.asString(); + parse_name_key(name, key); + toggleInstance(name, key); +} + //static bool LLFloaterReg::floaterInstanceVisible(const LLSD& sdname) { diff --git a/indra/llui/llfloaterreg.h b/indra/llui/llfloaterreg.h index a2027a77a00..6239d98a7d7 100644 --- a/indra/llui/llfloaterreg.h +++ b/indra/llui/llfloaterreg.h @@ -127,6 +127,7 @@ class LLFloaterReg static void showFloaterInstance(const LLSD& sdname); static void hideFloaterInstance(const LLSD& sdname); static void toggleFloaterInstance(const LLSD& sdname); + static void toggleToolbarFloaterInstance(const LLSD& sdname); static bool floaterInstanceVisible(const LLSD& sdname); static bool floaterInstanceMinimized(const LLSD& sdname); diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 593354ee9ba..1bc575438c3 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -41,6 +41,7 @@ #include "llgl.h" // Project includes +#include "llcommandmanager.h" #include "llcontrol.h" #include "llui.h" #include "lluicolortable.h" @@ -1617,6 +1618,7 @@ void LLUI::initClass(const settings_map_t& settings, // Callbacks for associating controls with floater visibilty: reg.add("Floater.Toggle", boost::bind(&LLFloaterReg::toggleFloaterInstance, _2)); + reg.add("Floater.ToolbarToggle", boost::bind(&LLFloaterReg::toggleToolbarFloaterInstance, _2)); reg.add("Floater.Show", boost::bind(&LLFloaterReg::showFloaterInstance, _2)); reg.add("Floater.Hide", boost::bind(&LLFloaterReg::hideFloaterInstance, _2)); reg.add("Floater.InitToVisibilityControl", boost::bind(&LLFloaterReg::initUICtrlToFloaterVisibilityControl, _1, _2)); @@ -1635,6 +1637,9 @@ void LLUI::initClass(const settings_map_t& settings, // Used by menus along with Floater.Toggle to display visibility as a checkmark LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.Visible", boost::bind(&LLFloaterReg::floaterInstanceVisible, _2)); + + // Parse the master list of commands + LLCommandManager::load(); } void LLUI::cleanupClass() diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 18e092eb4a3..597a1dd603a 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1409,6 +1409,7 @@ list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES}) set(viewer_APPSETTINGS_FILES app_settings/anim.ini app_settings/cmd_line.xml + app_settings/commands.xml app_settings/grass.xml app_settings/high_graphics.xml app_settings/ignorable_dialogs.xml diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml new file mode 100644 index 00000000000..8e45e866ca4 --- /dev/null +++ b/indra/newview/app_settings/commands.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<commands> + <command name="avatar" + icon="Command_Avatar_Icon" + label_ref="Command_Avatar_Label" + tooltip_ref="Command_Avatar_Tooltip" + function="Floater.ToolbarToggle" + param="avatar" + /> + <command name="places" + icon="Command_Places_Icon" + label_ref="Command_Places_Label" + tooltip_ref="Command_Places_Tooltip" + function="Floater.ToolbarToggle" + param="places" + /> +</commands> diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 4d83ec29021..598e39730cc 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,6 +125,9 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_UpSelected" file_name="widgets/ComboButton_UpSelected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index c0154ae9b3c..3b986664dbc 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3651,4 +3651,10 @@ Try enclosing path to the editor with double quotes. <string name="BeaconMedia">Viewing media beacons (white)</string> <string name="ParticleHiding">Hiding Particles</string> - </strings> + <!-- commands --> + <string name="Command_Avatar_Label">Avatar</string> + <string name="Command_Avatar_Tooltip">Customize your avatar</string> + <string name="Command_Places_Label">Places</string> + <string name="Command_Places_Tooltip">Destination guide</string> + +</strings> -- GitLab From f72115059e7b1450e221a8006d2030ac35767b5a Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 21 Sep 2011 17:57:49 -0700 Subject: [PATCH 013/213] EXP-1230 FIX As a resident, I want to not have to choose a UI mode for existing configs that point to settings_minimal.xml, make it a valid, but empty file --- indra/newview/app_settings/settings_minimal.xml | 1 + 1 file changed, 1 insertion(+) create mode 100644 indra/newview/app_settings/settings_minimal.xml diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml new file mode 100644 index 00000000000..01a70f26713 --- /dev/null +++ b/indra/newview/app_settings/settings_minimal.xml @@ -0,0 +1 @@ +<llsd/> \ No newline at end of file -- GitLab From 7e308b551c7fde9178e354dba005a5b35f793245 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 21 Sep 2011 18:48:39 -0700 Subject: [PATCH 014/213] EXP-1239 WIP make toolbars wrap when there is not enough room initial pass at wrapping --- indra/llui/lltoolbar.cpp | 196 ++++++++++++------ indra/llui/lltoolbar.h | 27 ++- .../default/xui/en/floater_test_toolbar.xml | 13 +- 3 files changed, 165 insertions(+), 71 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 2c1e141ca79..1e8be93f17a 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -30,9 +30,10 @@ #include "boost/foreach.hpp" #include "lltoolbar.h" +// uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit +// thanks, MSVC! //static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); - namespace LLToolBarEnums { LLLayoutStack::ELayoutOrientation getOrientation(SideType sideType) @@ -47,85 +48,88 @@ namespace LLToolBarEnums return orientation; } } - +using namespace LLToolBarEnums; LLToolBar::Params::Params() : button_display_mode("button_display_mode"), buttons("button"), - side("side") + side("side"), + button_icon("button_icon"), + button_icon_and_text("button_icon_and_text"), + wrap("wrap", true), + min_width("min_width", 0), + max_width("max_width", S32_MAX), + background_image("background_image") {} LLToolBar::LLToolBar(const Params& p) : LLUICtrl(p), mButtonType(p.button_display_mode), mSideType(p.side), - mStack(NULL) + mWrap(p.wrap), + mNeedsLayout(false), + mCenterPanel(NULL), + mCenteringStack(NULL), + mMinWidth(p.min_width), + mMaxWidth(p.max_width), + mBackgroundImage(p.background_image) { } void LLToolBar::initFromParams(const LLToolBar::Params& p) { - LLLayoutStack::ELayoutOrientation orientation = LLToolBarEnums::getOrientation(p.side); + LLLayoutStack::ELayoutOrientation orientation = getOrientation(p.side); LLLayoutStack::Params centering_stack_p; + centering_stack_p.name = "centering_stack"; centering_stack_p.rect = getLocalRect(); centering_stack_p.follows.flags = FOLLOWS_ALL; centering_stack_p.orientation = orientation; - centering_stack_p.name = "centering_stack"; + mCenteringStack = LLUICtrlFactory::create<LLLayoutStack>(centering_stack_p); + addChild(mCenteringStack); + LLLayoutPanel::Params border_panel_p; border_panel_p.name = "border_panel"; border_panel_p.rect = getLocalRect(); border_panel_p.auto_resize = true; border_panel_p.user_resize = false; - - LLLayoutStack* centering_stack = LLUICtrlFactory::create<LLLayoutStack>(centering_stack_p); - addChild(centering_stack); + mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); + LLLayoutPanel::Params center_panel_p; center_panel_p.name = "center_panel"; center_panel_p.rect = getLocalRect(); center_panel_p.auto_resize = false; center_panel_p.user_resize = false; center_panel_p.fit_content = true; + mCenterPanel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); + mCenteringStack->addChild(mCenterPanel); + + mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - centering_stack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - LLLayoutPanel* center_panel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); - centering_stack->addChild(center_panel); - centering_stack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - - LLLayoutStack::Params stack_p; - stack_p.rect = getLocalRect(); - stack_p.name = "button_stack"; - stack_p.orientation = orientation; - stack_p.follows.flags = (orientation == LLLayoutStack::HORIZONTAL) - ? (FOLLOWS_TOP|FOLLOWS_BOTTOM) // horizontal - : (FOLLOWS_LEFT|FOLLOWS_RIGHT); // vertical - - mStack = LLUICtrlFactory::create<LLLayoutStack>(stack_p); - center_panel->addChild(mStack); + addRow(); BOOST_FOREACH (LLToolBarButton::Params button_p, p.buttons) { - // remove any offset from button LLRect button_rect(button_p.rect); - - if (orientation == LLLayoutStack::HORIZONTAL) - { - button_rect.setOriginAndSize(0, 0, 0, getRect().getHeight()); + { // remove any offset from button + if (orientation == LLLayoutStack::HORIZONTAL) + { + button_rect.setOriginAndSize(0, 0, mMinWidth, getRect().getHeight()); + } + else // VERTICAL + { + button_rect.setOriginAndSize(0, 0, mMinWidth, button_rect.getHeight()); + } } - else // VERTICAL - { - button_rect.setOriginAndSize(0, 0, 0, button_rect.getHeight()); - } - button_p.follows.flags = FOLLOWS_NONE; - button_p.rect = button_rect; - button_p.chrome = true; - button_p.auto_resize = true; - LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + button_p.fillFrom((mButtonType == BTNTYPE_ICONS_ONLY) + ? p.button_icon // icon only + : p.button_icon_and_text); // icon + text - addButton(button); + mButtons.push_back(LLUICtrlFactory::create<LLToolBarButton>(button_p)); + mNeedsLayout = true; } updateLayout(); @@ -142,57 +146,127 @@ void LLToolBar::addButton(LLToolBarButton* buttonp) LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p); panel->addChild(buttonp); - mStack->addChild(panel); - mButtons.push_back(buttonp); + mStacks.back()->addChild(panel); } void LLToolBar::updateLayout() { - S32 total_width = 0; - S32 total_height = 0; - S32 max_width = getRect().getWidth(); - S32 max_height = getRect().getHeight(); + mCenteringStack->updateLayout(); + + if (!mNeedsLayout) return; + mNeedsLayout = false; + + { // clean up existing rows + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { + if (button->getParent()) + { + button->getParent()->removeChild(button); + } + } + + BOOST_FOREACH(LLLayoutStack* stack, mStacks) + { + delete stack; + } + mStacks.clear(); + } + // start with one row of buttons + addRow(); + S32 total_width = 0, total_height = 0; + S32 max_total_width = 0, max_total_height = 0; + S32 max_width = getRect().getWidth(), max_height = getRect().getHeight(); BOOST_FOREACH(LLToolBarButton* button, mButtons) { - total_width += button->getRect().getWidth(); - total_height += button->getRect().getHeight(); + S32 button_width = button->getRect().getWidth(); + S32 button_height = button->getRect().getHeight(); + + if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL + && total_width + button_height > getRect().getWidth()) + { + addRow(); + total_width = 0; + } + addButton(button); + + total_width += button_width; + total_height += button_height; + max_total_width = llmax(max_total_width, total_width); + max_total_height = llmax(max_total_height, total_height); max_width = llmax(button->getRect().getWidth(), max_width); max_height = llmax(button->getRect().getHeight(), max_height); } - if (LLToolBarEnums::getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) + if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) { - mStack->reshape(total_width, mStack->getParent()->getRect().getHeight()); + BOOST_FOREACH(LLLayoutStack* stack, mStacks) + { + stack->reshape(max_total_width, stack->getParent()->getRect().getHeight()); + stack->updateLayout(); + } } else { - mStack->reshape(mStack->getParent()->getRect().getWidth(), total_height); - reshape(max_width, getRect().getHeight()); + BOOST_FOREACH(LLLayoutStack* stack, mStacks) + { + stack->reshape(stack->getParent()->getRect().getWidth(), max_total_height); + stack->updateLayout(); + } + + reshape(max_total_width, getRect().getHeight()); } } void LLToolBar::draw() { - //gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); + updateLayout(); + + { // draw background + LLRect bg_rect; + localRectToOtherView(mCenterPanel->getRect(),&bg_rect, this); + mBackgroundImage->draw(bg_rect); + } LLUICtrl::draw(); } +void LLToolBar::addRow() +{ + LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); + + LLLayoutStack::Params stack_p; + stack_p.rect = getLocalRect(); + stack_p.name = llformat("button_stack_%d", mStacks.size()); + stack_p.orientation = orientation; + stack_p.follows.flags = (orientation == LLLayoutStack::HORIZONTAL) + ? (FOLLOWS_TOP|FOLLOWS_BOTTOM) // horizontal + : (FOLLOWS_LEFT|FOLLOWS_RIGHT); // vertical + + mStacks.push_back(LLUICtrlFactory::create<LLLayoutStack>(stack_p)); + mCenterPanel->addChild(mStacks.back()); +} + +void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + LLUICtrl::reshape(width, height, called_from_parent); + mNeedsLayout = true; +} + namespace LLInitParam { - void TypeValues<LLToolBarEnums::ButtonType>::declareValues() + void TypeValues<ButtonType>::declareValues() { - declare("icons_only", LLToolBarEnums::BTNTYPE_ICONS_ONLY); - declare("icons_with_text", LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT); + declare("icons_only", BTNTYPE_ICONS_ONLY); + declare("icons_with_text", BTNTYPE_ICONS_WITH_TEXT); } - void TypeValues<LLToolBarEnums::SideType>::declareValues() + void TypeValues<SideType>::declareValues() { - declare("none", LLToolBarEnums::SIDE_NONE); - declare("bottom", LLToolBarEnums::SIDE_BOTTOM); - declare("left", LLToolBarEnums::SIDE_LEFT); - declare("right", LLToolBarEnums::SIDE_RIGHT); - declare("top", LLToolBarEnums::SIDE_TOP); + declare("none", SIDE_NONE); + declare("bottom", SIDE_BOTTOM); + declare("left", SIDE_LEFT); + declare("right", SIDE_RIGHT); + declare("top", SIDE_TOP); } } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 60a848a6e39..3a593e42d91 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -87,14 +87,25 @@ class LLToolBar struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { Mandatory<LLToolBarEnums::ButtonType> button_display_mode; - Multiple<LLToolBarButton::Params> buttons; Mandatory<LLToolBarEnums::SideType> side; + Optional<LLToolBarButton::Params> button_icon, + button_icon_and_text; + + Optional<bool> wrap; + Optional<S32> min_width, + max_width; + // get rid of this + Multiple<LLToolBarButton::Params> buttons; + + Optional<LLUIImage*> background_image; + Params(); }; // virtuals void draw(); + void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); protected: friend class LLUICtrlFactory; @@ -105,10 +116,22 @@ class LLToolBar void updateLayout(); private: + void addRow(); + std::list<LLToolBarButton*> mButtons; LLToolBarEnums::ButtonType mButtonType; + LLLayoutStack* mCenteringStack; + LLLayoutStack* mWrapStack; + LLLayoutPanel* mCenterPanel; LLToolBarEnums::SideType mSideType; - LLLayoutStack* mStack; + + std::vector<LLLayoutStack*> mStacks; + bool mWrap; + bool mNeedsLayout; + S32 mMinWidth, + mMaxWidth; + + LLUIImagePtr mBackgroundImage; }; diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index 55cfd462acc..138322eca7b 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -13,15 +13,12 @@ width="500" left="0" top="20" - orientation="horizontal"> - <button width="0" - auto_resize="true" + side="top"> + <button auto_resize="true" label="Button 1"/> - <button width="0" - auto_resize="true" + <button auto_resize="true" label="Button with long label"/> - <button width="0" - auto_resize="true" + <button auto_resize="true" label="Button with longest label of all"/> </toolbar> <toolbar name="test_toolbar_vertical" @@ -30,7 +27,7 @@ width="100" left="0" top="70" - orientation="vertical"> + side="left"> <button height="30" label="Button 1"/> <button height="50" -- GitLab From d9b96097cd67f1d72410c262973ac67fd0f82493 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 21 Sep 2011 18:48:51 -0700 Subject: [PATCH 015/213] EXP-1239 WIP make toolbars wrap when there is not enough room initial pass at wrapping --- .../skins/default/xui/en/widgets/toolbar.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 indra/newview/skins/default/xui/en/widgets/toolbar.xml diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml new file mode 100644 index 00000000000..a7f73c0c7c6 --- /dev/null +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toolbar background_image = "Rounded_Rect"> + <button_icon_and_text + follows="none" + height="30" + chrome="true" + auto_resize="true" + /> + <button_icon + follows="none" + height="30" + chrome="true" + auto_resize="true" + /> +</toolbar> -- GitLab From 65892a01cad5d22403f36a10187af40b37b48383 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 21 Sep 2011 19:31:07 -0700 Subject: [PATCH 016/213] EXP-1207 : More work on LLToolbarView, still not operational... --- indra/llui/lltoolbarview.cpp | 35 +++++++----- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llviewerwindow.cpp | 11 +++- .../skins/default/xui/en/main_view.xml | 44 +++------------ .../default/xui/en/panel_toolbar_view.xml | 55 +++++++++++++++++++ 5 files changed, 95 insertions(+), 52 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/panel_toolbar_view.xml diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 40d1ac3418e..0e54c91ceaa 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -28,6 +28,7 @@ #include "linden_common.h" #include "lltoolbarview.h" +#include "lltoolbar.h" #include "llbutton.h" LLToolBarView* gToolBarView = NULL; @@ -41,34 +42,40 @@ LLToolBarView::LLToolBarView(const Params& p) BOOL LLToolBarView::postBuild() { - LLButton* btn = getChild<LLButton>("color_pipette"); - btn->setVisible(TRUE); LLRect ctrl_rect = getRect(); + LLButton* btn = getChild<LLButton>("test"); LLRect btn_rect = btn->getRect(); llinfos << "Merov debug : control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; - llinfos << "Merov debug : button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; - btn_rect.mLeft = 0; - btn_rect.mTop = ctrl_rect.getHeight(); - btn_rect.mRight = 28; - btn_rect.mBottom = btn_rect.mTop - 28; - btn->setRect(btn_rect); - btn_rect = btn->getRect(); - llinfos << "Merov debug : button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; + llinfos << "Merov debug : test rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; return TRUE; } void LLToolBarView::draw() { - LLButton* btn = getChild<LLButton>("color_pipette"); - btn->setVisible(TRUE); static bool debug_print = true; + + LLToolBar* toolbar_bottom = getChild<LLToolBar>("toolbar_bottom"); + LLToolBar* toolbar_left = getChild<LLToolBar>("toolbar_left"); + LLToolBar* toolbar_right = getChild<LLToolBar>("toolbar_right"); + + LLRect bottom_rect = toolbar_bottom->getRect(); + LLRect left_rect = toolbar_left->getRect(); + LLRect right_rect = toolbar_right->getRect(); + if (debug_print) { LLRect ctrl_rect = getRect(); - LLRect btn_rect = btn->getRect(); llinfos << "Merov debug : draw control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; - llinfos << "Merov debug : draw button rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; + llinfos << "Merov debug : draw bottom rect = " << bottom_rect.mLeft << ", " << bottom_rect.mTop << ", " << bottom_rect.mRight << ", " << bottom_rect.mBottom << llendl; + llinfos << "Merov debug : draw left rect = " << left_rect.mLeft << ", " << left_rect.mTop << ", " << left_rect.mRight << ", " << left_rect.mBottom << llendl; + llinfos << "Merov debug : draw right rect = " << right_rect.mLeft << ", " << right_rect.mTop << ", " << right_rect.mRight << ", " << right_rect.mBottom << llendl; debug_print = false; } + // Debug draw + gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); + gl_rect_2d(bottom_rect, LLColor4::red, TRUE); + gl_rect_2d(left_rect, LLColor4::green, TRUE); + gl_rect_2d(right_rect, LLColor4::yellow, TRUE); + LLUICtrl::draw(); } diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index cc9e17409f6..148b80e817c 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1858,7 +1858,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>1</integer> + <integer>0</integer> </map> <key>Cursor3D</key> <map> diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 1055fd373b0..d197782eed1 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1783,10 +1783,17 @@ void LLViewerWindow::initBase() // *TODO: Eventually, suppress the existence of this debug setting and turn toolbar FUI on permanently if (gSavedSettings.getBOOL("DebugToolbarFUI")) { - gToolBarView = main_view->getChild<LLToolBarView>("Toolbar View"); + llinfos << "Merov debug : Creating the toolbar view" << llendl; + // Get a pointer to the toolbar view holder + LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); + llinfos << "Merov debug : panel_holder = " << panel_holder << llendl; + // Load the toolbar view from file + gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", NULL, LLPanel::child_registry_t::instance()); + llinfos << "Merov debug : gToolBarView = " << gToolBarView << llendl; + // Attach it to the toolbar view holder + panel_holder->addChild(gToolBarView); } - // Constrain floaters to inside the menu and status bar regions. gFloaterView = main_view->getChild<LLFloaterView>("Floater View"); gFloaterView->setFloaterSnapView(main_view->getChild<LLView>("floater_snap_region")->getHandle()); diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 54badb13862..a21c988bb8f 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -162,41 +162,15 @@ top="0" width="1024"/> </panel> - - <panel follows="left|top" - layout="topleft" - height="500" - left="0" - mouse_opaque="false" - name="toolbar_view_holder" - tab_stop="false" - top="0" - visible="true" - width="1024"> - <toolbar_view follows="left|top" - layout="topleft" - height="100" - left="100" - mouse_opaque="false" - name="Toolbar View" - tab_stop="false" - top="100" - visible="true" - width="512"> - <button - follows="left|top" - height="28" - image_selected="eye_button_active.tga" - image_unselected="eye_button_inactive.tga" - layout="topleft" - top="0" - left="0" - name="color_pipette" - width="28" - visible="true" /> - </toolbar_view> - </panel> - + <panel name="toolbar_view_holder" + follows="all" + layout="topleft" + height="500" + width="1024" + top="0" + left="0" + mouse_opaque="false" + tab_stop="false"/> </layout_panel> </layout_stack> <panel mouse_opaque="false" diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml new file mode 100644 index 00000000000..b58f8e837a7 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<ui_ctrl + follows="all" + layout="topleft" + name="toolbar view" + height="500" + width="1024" + mouse_opaque="false" + tab_stop="false" + visible="true"> + <toolbar + follows="top|bottom|left" + layout="topleft" + name="toolbar_left" + height="500" + width="30" + left="0" + top="0" + button_display_mode="icons_only" + side="left" + visible="true" /> + <toolbar + follows="right|bottom|left" + layout="topleft" + name="toolbar_bottom" + height="30" + width="964" + left="30" + top="470" + button_display_mode="icons_with_text" + side="bottom" + visible="true" /> + <toolbar + follows="top|bottom|right" + layout="topleft" + name="toolbar_right" + height="500" + width="30" + left="994" + top="0" + button_display_mode="icons_only" + side="right" + visible="true" /> + <button + follows="none" + name="test" + layout="topleft" + top="100" + left="100" + height="28" + width="28" + image_selected="eye_button_active.tga" + image_unselected="eye_button_inactive.tga" + visible="true" /> +</ui_ctrl> -- GitLab From cdba1674c5293f5d55c059ada18eb1a1b75cf1e8 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Thu, 22 Sep 2011 13:27:59 +0300 Subject: [PATCH 017/213] EXP-1203 ADDITIONAL FIX (As a FUI user, I want the address bar and favorites to be on one line) - Changed member variable name mChevronButton to mMoreTextBox - Fixed some bugs which PE testers have found: 1. Parcel characteristics icons from location bar overlay other ui elements 2. Navigation & Favorites bar are displayed after exitting mouselook mode although 'Show Navigation & Favorites bar' is unchecked --- indra/newview/llagent.cpp | 2 +- indra/newview/llfavoritesbar.cpp | 30 +++++++++---------- indra/newview/llfavoritesbar.h | 2 +- .../default/xui/en/panel_navigation_bar.xml | 16 +++++----- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 642a1907f00..1587ed2dd7e 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -1797,7 +1797,7 @@ void LLAgent::endAnimationUpdateUI() gViewerWindow->showCursor(); // show menus gMenuBarView->setVisible(TRUE); - LLNavigationBar::getInstance()->setVisible(TRUE); + LLNavigationBar::getInstance()->setVisible(TRUE && gSavedSettings.getBOOL("ShowNavbarNavigationPanel")); gStatusBar->setVisibleForMouselook(true); if (gSavedSettings.getBOOL("ShowMiniLocationPanel")) diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 63519b7c214..e10767af309 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -390,9 +390,9 @@ LLFavoritesBarCtrl::LLFavoritesBarCtrl(const LLFavoritesBarCtrl::Params& p) //make chevron button LLTextBox::Params more_button_params(p.more_button); - mChevronButton = LLUICtrlFactory::create<LLTextBox> (more_button_params); - mChevronButton->setClickedCallback(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this)); - addChild(mChevronButton); + mMoreTextBox = LLUICtrlFactory::create<LLTextBox> (more_button_params); + mMoreTextBox->setClickedCallback(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this)); + addChild(mMoreTextBox); LLTextBox::Params label_param(p.label); mBarLabel = LLUICtrlFactory::create<LLTextBox> (label_param); @@ -692,7 +692,7 @@ void LLFavoritesBarCtrl::updateButtons() const child_list_t* childs = getChildList(); child_list_const_iter_t child_it = childs->begin(); int first_changed_item_index = 0; - int rightest_point = getRect().mRight - mChevronButton->getRect().getWidth(); + int rightest_point = getRect().mRight - mMoreTextBox->getRect().getWidth(); //lets find first changed button while (child_it != childs->end() && first_changed_item_index < mItems.count()) { @@ -735,9 +735,9 @@ void LLFavoritesBarCtrl::updateButtons() } // we have to remove ChevronButton to make sure that the last item will be LandmarkButton to get the right aligning // keep in mind that we are cutting all buttons in space between the last visible child of favbar and ChevronButton - if (mChevronButton->getParent() == this) + if (mMoreTextBox->getParent() == this) { - removeChild(mChevronButton); + removeChild(mMoreTextBox); } int last_right_edge = 0; //calculate new buttons offset @@ -777,13 +777,13 @@ void LLFavoritesBarCtrl::updateButtons() S32 buttonHGap = button_params.rect.left; // default value LLRect rect; // Chevron button should stay right aligned - rect.setOriginAndSize(getRect().mRight - mChevronButton->getRect().getWidth() - buttonHGap, 0, - mChevronButton->getRect().getWidth(), - mChevronButton->getRect().getHeight()); + rect.setOriginAndSize(getRect().mRight - mMoreTextBox->getRect().getWidth() - buttonHGap, 0, + mMoreTextBox->getRect().getWidth(), + mMoreTextBox->getRect().getHeight()); - addChild(mChevronButton); - mChevronButton->setRect(rect); - mChevronButton->setVisible(TRUE); + addChild(mMoreTextBox); + mMoreTextBox->setRect(rect); + mMoreTextBox->setVisible(TRUE); } // Update overflow menu LLToggleableMenu* overflow_menu = static_cast <LLToggleableMenu*> (mOverflowMenuHandle.get()); @@ -816,8 +816,8 @@ LLButton* LLFavoritesBarCtrl::createButton(const LLPointer<LLViewerInventoryItem int width = required_width > def_button_width? def_button_width : required_width; LLFavoriteLandmarkButton* fav_btn = NULL; - // do we have a place for next button + double buttonHGap + mChevronButton ? - if(curr_x + width + 2*button_x_delta + mChevronButton->getRect().getWidth() > getRect().mRight ) + // do we have a place for next button + double buttonHGap + mMoreTextBox ? + if(curr_x + width + 2*button_x_delta + mMoreTextBox->getRect().getWidth() > getRect().mRight ) { return NULL; } @@ -967,7 +967,7 @@ void LLFavoritesBarCtrl::showDropDownMenu() menu->buildDrawLabels(); menu->updateParent(LLMenuGL::sMenuContainer); - menu->setButtonRect(mChevronButton->getRect(), this); + menu->setButtonRect(mMoreTextBox->getRect(), this); LLMenuGL::showPopup(this, menu, getRect().getWidth() - max_width, 0); } diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index 3811de3e2f7..a41795a0807 100644 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -135,7 +135,7 @@ class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver BOOL mShowDragMarker; LLUICtrl* mLandingTab; LLUICtrl* mLastTab; - LLTextBox* mChevronButton; + LLTextBox* mMoreTextBox; LLTextBox* mBarLabel; LLUUID mDragItemId; diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 9aa2da5abd2..54befa38e9a 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -9,7 +9,7 @@ layout="topleft" name="navigation_bar" chrome="true" - width="600"> + width="800"> <icon follows="all" image_name="NavBar_BG" @@ -54,15 +54,15 @@ name="nvp_stack" orientation="horizontal" top="0" - width="600"> + width="800"> <layout_panel follows="top|left" layout="topleft" auto_resize="true" user_resize="true" - min_width="400" + min_width="500" name="navigation_layout_panel" - width="400"> + width="500"> <panel background_visible="false" follows="left|top|right" @@ -71,7 +71,7 @@ layout="topleft" left="0" name="navigation_panel" - width="400"> + width="500"> <pull_button follows="left|top" direction="down" @@ -118,7 +118,7 @@ mouse_opaque="false" name="location_combo" top_delta="0" - width="113"> + width="213"> <combo_list mouse_wheel_opaque="true"/> </location_input> @@ -174,7 +174,7 @@ user_resize="true" min_width="190" name="favorites_layout_panel" - width="190"> + width="290"> <favorites_bar follows="left|right|top" font="SansSerifSmall" @@ -184,7 +184,7 @@ name="favorite" image_drag_indication="Accordion_ArrowOpened_Off" tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" - width="190"> + width="290"> <label follows="left|top" height="15" -- GitLab From 0cd1988ef7f6f0b0330938fc44c7e35004114609 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Thu, 22 Sep 2011 14:41:44 +0300 Subject: [PATCH 018/213] EXP-1223 FIXED (Create and register a floater for Places side tab) - Added xml for a new floater and registred it in the floaterreg - Removed side tray dependencies - Added static helper method: LLFloaterSidePanelContainer::showPanel --- indra/newview/llfavoritesbar.cpp | 3 ++- indra/newview/llfloatersidepanelcontainer.cpp | 10 +++++++ indra/newview/llfloatersidepanelcontainer.h | 2 ++ indra/newview/llinventorybridge.cpp | 3 ++- indra/newview/lllocationinputctrl.cpp | 13 ++++----- indra/newview/llpanellandmarks.cpp | 13 ++++++--- indra/newview/llpanelplaces.cpp | 27 ++++++++++++------- indra/newview/llpanelplaces.h | 7 +++++ indra/newview/llpanelteleporthistory.cpp | 10 +++++-- indra/newview/llpanelteleporthistory.h | 2 ++ indra/newview/llpaneltopinfobar.cpp | 8 +++--- indra/newview/llurldispatcher.cpp | 3 ++- indra/newview/llviewerfloaterreg.cpp | 2 ++ indra/newview/llviewermenu.cpp | 5 ++-- indra/newview/llviewermessage.cpp | 7 +++-- indra/newview/llviewertexteditor.cpp | 3 ++- .../skins/default/xui/en/floater_places.xml | 19 +++++++++++++ 17 files changed, 103 insertions(+), 34 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_places.xml diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index e10767af309..d855252d8b0 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -41,6 +41,7 @@ #include "llinventoryclipboard.h" #include "llinventorybridge.h" #include "llinventoryfunctions.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "lllandmarkactions.h" #include "llnotificationsutil.h" @@ -1057,7 +1058,7 @@ void LLFavoritesBarCtrl::doToSelected(const LLSD& userdata) key["type"] = "landmark"; key["id"] = mSelectedItemID; - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } else if (action == "copy_slurl") { diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index 54cdb574b33..cff46e80eb2 100644 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -26,6 +26,7 @@ #include "llviewerprecompiledheaders.h" +#include "llfloaterreg.h" #include "llfloatersidepanelcontainer.h" // newview includes @@ -75,3 +76,12 @@ LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_na return panel; } + +void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const LLSD& panel_name) +{ + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); + if (floaterp) + { + floaterp->openChildPanel("main_panel", panel_name); + } +} diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index 37d65a13544..7b4e7643aed 100644 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -49,6 +49,8 @@ class LLFloaterSidePanelContainer : public LLFloater /*virtual*/ void onOpen(const LLSD& key); LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); + + static void showPanel(const std::string& floater_name, const LLSD& panel_name); }; #endif // LL_LLFLOATERSIDEPANELCONTAINER_H diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index a36aa3dedf9..0b3d6d80303 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -39,6 +39,7 @@ #include "llavataractions.h" #include "llfloateropenobject.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "llfolderview.h" #include "llfriendcard.h" @@ -3851,7 +3852,7 @@ void LLLandmarkBridge::performAction(LLInventoryModel* model, std::string action key["type"] = "landmark"; key["id"] = item->getUUID(); - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } } else diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 1c8f6b6c986..f519ad759e7 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -44,6 +44,7 @@ // newview includes #include "llagent.h" +#include "llfloatersidepanelcontainer.h" #include "llinventoryobserver.h" #include "lllandmarkactions.h" #include "lllandmarklist.h" @@ -600,7 +601,7 @@ void LLLocationInputCtrl::reshape(S32 width, S32 height, BOOL called_from_parent void LLLocationInputCtrl::onInfoButtonClicked() { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "agent")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "agent")); } void LLLocationInputCtrl::onForSaleButtonClicked() @@ -618,11 +619,11 @@ void LLLocationInputCtrl::onAddLandmarkButtonClicked() key["type"] = "landmark"; key["id"] = landmark->getUUID(); - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } else { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark")); } } @@ -1087,12 +1088,12 @@ void LLLocationInputCtrl::onLocationContextMenuItemClicked(const LLSD& userdata) if(!landmark) { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark")); } else { - LLSideTray::getInstance()->showPanel("panel_places", - LLSD().with("type", "landmark").with("id",landmark->getUUID())); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "landmark").with("id",landmark->getUUID())); + } } else if (item == "cut") diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index a9cc247d1b8..1b9eb4813bf 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -42,6 +42,7 @@ #include "llagentui.h" #include "llcallbacklist.h" #include "lldndbutton.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "llfolderviewitem.h" #include "llinventorymodelbackgroundfetch.h" @@ -367,7 +368,7 @@ void LLLandmarksPanel::onSelectorButtonClicked() key["type"] = "landmark"; key["id"] = listenerp->getUUID(); - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } } @@ -786,7 +787,7 @@ void LLLandmarksPanel::onAddAction(const LLSD& userdata) const } else { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark")); } } else if ("category" == command_name) @@ -1309,7 +1310,13 @@ void LLLandmarksPanel::doProcessParcelInfo(LLLandmark* landmark, landmark->getGlobalPos(landmark_global_pos); // let's toggle pick panel into panel places - LLPanel* panel_places = LLSideTray::getInstance()->getPanel("panel_places");//-> sidebar_places + LLPanel* panel_places = NULL; + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>("places"); + if (floaterp) + { + panel_places = floaterp->findChild<LLPanel>("main_panel"); + } + if (!panel_places) { llassert(NULL != panel_places); diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index 1e510a2d7b4..0129ac753ab 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -39,6 +39,7 @@ #include "llfiltereditor.h" #include "llfirstuse.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llmenubutton.h" #include "llnotificationsutil.h" #include "lltabcontainer.h" @@ -115,7 +116,7 @@ class LLParcelHandler : public LLCommandHandler LLSD key; key["type"] = "remote_place"; key["id"] = parcel_id; - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); return true; } } @@ -151,18 +152,16 @@ class LLPlacesInventoryObserver : public LLInventoryAddedObserver { public: LLPlacesInventoryObserver(LLPanelPlaces* places_panel) : - mPlaces(places_panel), - mTabsCreated(false) + mPlaces(places_panel) {} /*virtual*/ void changed(U32 mask) { LLInventoryAddedObserver::changed(mask); - if (!mTabsCreated && mPlaces) + if (mPlaces && !mPlaces->tabsCreated()) { mPlaces->createTabs(); - mTabsCreated = true; } } @@ -175,7 +174,6 @@ class LLPlacesInventoryObserver : public LLInventoryAddedObserver private: LLPanelPlaces* mPlaces; - bool mTabsCreated; }; class LLPlacesRemoteParcelInfoObserver : public LLRemoteParcelInfoObserver @@ -244,7 +242,8 @@ LLPanelPlaces::LLPanelPlaces() mPlaceMenu(NULL), mLandmarkMenu(NULL), mPosGlobal(), - isLandmarkEditModeOn(false) + isLandmarkEditModeOn(false), + mTabsCreated(false) { mParcelObserver = new LLPlacesParcelObserver(this); mInventoryObserver = new LLPlacesInventoryObserver(this); @@ -252,7 +251,7 @@ LLPanelPlaces::LLPanelPlaces() gInventory.addObserver(mInventoryObserver); - LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback( + mAgentParcelChangedConnection = LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback( boost::bind(&LLPanelPlaces::updateVerbs, this)); //buildFromFile( "panel_places.xml"); // Called from LLRegisterPanelClass::defaultPanelClassBuilder() @@ -268,6 +267,11 @@ LLPanelPlaces::~LLPanelPlaces() delete mInventoryObserver; delete mParcelObserver; delete mRemoteParcelObserver; + + if (mAgentParcelChangedConnection.connected()) + { + mAgentParcelChangedConnection.disconnect(); + } } BOOL LLPanelPlaces::postBuild() @@ -349,6 +353,9 @@ BOOL LLPanelPlaces::postBuild() LLComboBox* folder_combo = mLandmarkInfo->getChild<LLComboBox>("folder_combo"); folder_combo->setCommitCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this)); + createTabs(); + updateVerbs(); + return TRUE; } @@ -1025,7 +1032,7 @@ void LLPanelPlaces::changedParcelSelection() void LLPanelPlaces::createTabs() { - if (!(gInventory.isInventoryUsable() && LLTeleportHistory::getInstance())) + if (!(gInventory.isInventoryUsable() && LLTeleportHistory::getInstance() && !mTabsCreated)) return; LLLandmarksPanel* landmarks_panel = new LLLandmarksPanel(); @@ -1059,6 +1066,8 @@ void LLPanelPlaces::createTabs() // Filter applied to show all items. if (mActivePanel) mActivePanel->onSearchEdit(mActivePanel->getFilterSubString()); + + mTabsCreated = true; } void LLPanelPlaces::changedGlobalPos(const LLVector3d &global_pos) diff --git a/indra/newview/llpanelplaces.h b/indra/newview/llpanelplaces.h index b335f88a484..85bdc2c4e1f 100644 --- a/indra/newview/llpanelplaces.h +++ b/indra/newview/llpanelplaces.h @@ -77,6 +77,8 @@ class LLPanelPlaces : public LLPanel std::string getPlaceInfoType() { return mPlaceInfoType; } + bool tabsCreated() { return mTabsCreated;} + /*virtual*/ S32 notifyParent(const LLSD& info); private: @@ -146,7 +148,12 @@ class LLPanelPlaces : public LLPanel bool isLandmarkEditModeOn; + // Holds info whether "My Landmarks" and "Teleport History" tabs have been created. + bool mTabsCreated; + LLSafeHandle<LLParcelSelection> mParcel; + + boost::signals2::connection mAgentParcelChangedConnection; }; #endif //LL_LLPANELPLACES_H diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index 9b35e78134a..a253c3845cf 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -39,6 +39,7 @@ #include "llaccordionctrl.h" #include "llaccordionctrltab.h" #include "llflatlistview.h" +#include "llfloatersidepanelcontainer.h" #include "llnotificationsutil.h" #include "lltextbox.h" #include "lltoggleablemenu.h" @@ -221,7 +222,7 @@ void LLTeleportHistoryFlatItem::showPlaceInfoPanel(S32 index) params["id"] = index; params["type"] = "teleport_history"; - LLSideTray::getInstance()->showPanel("panel_places", params); + LLFloaterSidePanelContainer::showPanel("places", params); } void LLTeleportHistoryFlatItem::onProfileBtnClick() @@ -389,6 +390,11 @@ LLTeleportHistoryPanel::~LLTeleportHistoryPanel() { LLTeleportHistoryFlatItemStorage::instance().purge(); LLView::deleteViewByHandle(mGearMenuHandle); + + if (mTeleportHistoryChangedConnection.connected()) + { + mTeleportHistoryChangedConnection.disconnect(); + } } BOOL LLTeleportHistoryPanel::postBuild() @@ -396,7 +402,7 @@ BOOL LLTeleportHistoryPanel::postBuild() mTeleportHistory = LLTeleportHistoryStorage::getInstance(); if (mTeleportHistory) { - mTeleportHistory->setHistoryChangedCallback(boost::bind(&LLTeleportHistoryPanel::onTeleportHistoryChange, this, _1)); + mTeleportHistoryChangedConnection = mTeleportHistory->setHistoryChangedCallback(boost::bind(&LLTeleportHistoryPanel::onTeleportHistoryChange, this, _1)); } mHistoryAccordion = getChild<LLAccordionCtrl>("history_accordion"); diff --git a/indra/newview/llpanelteleporthistory.h b/indra/newview/llpanelteleporthistory.h index 3d29454d153..47b607a2f46 100644 --- a/indra/newview/llpanelteleporthistory.h +++ b/indra/newview/llpanelteleporthistory.h @@ -119,6 +119,8 @@ class LLTeleportHistoryPanel : public LLPanelPlacesTab LLContextMenu* mAccordionTabMenu; LLHandle<LLView> mGearMenuHandle; LLMenuButton* mMenuGearButton; + + boost::signals2::connection mTeleportHistoryChangedConnection; }; diff --git a/indra/newview/llpaneltopinfobar.cpp b/indra/newview/llpaneltopinfobar.cpp index 7087541fc80..b6e32dba78e 100644 --- a/indra/newview/llpaneltopinfobar.cpp +++ b/indra/newview/llpaneltopinfobar.cpp @@ -31,6 +31,7 @@ #include "llagent.h" #include "llagentui.h" #include "llclipboard.h" +#include "llfloatersidepanelcontainer.h" #include "lllandmarkactions.h" #include "lllocationinputctrl.h" #include "llnotificationsutil.h" @@ -436,12 +437,11 @@ void LLPanelTopInfoBar::onContextMenuItemClicked(const LLSD::String& item) if(landmark == NULL) { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark")); } else { - LLSideTray::getInstance()->showPanel("panel_places", - LLSD().with("type", "landmark").with("id",landmark->getUUID())); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "landmark").with("id",landmark->getUUID())); } } else if (item == "copy") @@ -456,5 +456,5 @@ void LLPanelTopInfoBar::onContextMenuItemClicked(const LLSD::String& item) void LLPanelTopInfoBar::onInfoButtonClicked() { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "agent")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "agent")); } diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp index ed4d278e906..477718d118b 100644 --- a/indra/newview/llurldispatcher.cpp +++ b/indra/newview/llurldispatcher.cpp @@ -32,6 +32,7 @@ #include "llcommandhandler.h" #include "llfloaterhelpbrowser.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "llpanellogin.h" #include "llregionhandle.h" @@ -246,7 +247,7 @@ void LLURLDispatcherImpl::regionHandleCallback(U64 region_handle, const LLSLURL& key["y"] = global_pos.mdV[VY]; key["z"] = global_pos.mdV[VZ]; - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index fecc6d91bd8..b28373c6d50 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -93,6 +93,7 @@ #include "llfloaterscriptlimits.h" #include "llfloatersellland.h" #include "llfloatersettingsdebug.h" +#include "llfloatersidepanelcontainer.h" #include "llfloatersidetraytab.h" #include "llfloatersnapshot.h" #include "llfloatersounddevices.h" @@ -230,6 +231,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("outgoing_call", "floater_outgoing_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutgoingCallDialog>); LLFloaterPayUtil::registerFloater(); + LLFloaterReg::add("places", "floater_places.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("postcard", "floater_postcard.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPostcard>); LLFloaterReg::add("preferences", "floater_preferences.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreference>); LLFloaterReg::add("prefs_proxy", "floater_preferences_proxy.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreferenceProxy>); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 26599f557e7..63d6e0ac304 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -30,6 +30,7 @@ // linden library includes #include "llavatarnamecache.h" // IDEVO #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llcombobox.h" #include "llinventorypanel.h" #include "llnotifications.h" @@ -5324,7 +5325,7 @@ class LLWorldCreateLandmark : public view_listener_t { bool handleEvent(const LLSD& userdata) { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "create_landmark")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark")); return true; } @@ -5334,7 +5335,7 @@ class LLWorldPlaceProfile : public view_listener_t { bool handleEvent(const LLSD& userdata) { - LLSideTray::getInstance()->showPanel("panel_places", LLSD().with("type", "agent")); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "agent")); return true; } diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 68745d5aeb9..c6baa8da299 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -61,6 +61,7 @@ #include "llfloaterlandholdings.h" #include "llfloaterpostcard.h" #include "llfloaterpreference.h" +#include "llfloatersidepanelcontainer.h" #include "llhudeffecttrail.h" #include "llhudmanager.h" #include "llinventoryfunctions.h" @@ -1192,9 +1193,7 @@ void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_nam LLInventoryCategory* parent_folder = gInventory.getCategory(item->getParentUUID()); if ("inventory_handler" == from_name) { - //we have to filter inventory_handler messages to avoid notification displaying - LLSideTray::getInstance()->showPanel("panel_places", - LLSD().with("type", "landmark").with("id", item->getUUID())); + LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "landmark").with("id", item->getUUID())); } else if("group_offer" == from_name) { @@ -1203,7 +1202,7 @@ void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_nam LLSD args; args["type"] = "landmark"; args["id"] = obj_id; - LLSideTray::getInstance()->showPanel("panel_places", args); + LLFloaterSidePanelContainer::showPanel("places", args); continue; } diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp index 4798bb536f1..b308e952adf 100644 --- a/indra/newview/llviewertexteditor.cpp +++ b/indra/newview/llviewertexteditor.cpp @@ -32,6 +32,7 @@ #include "llaudioengine.h" #include "llavataractions.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "llfocusmgr.h" #include "llinventorybridge.h" @@ -80,7 +81,7 @@ class LLEmbeddedLandmarkCopied: public LLInventoryCallback LLSD key; key["type"] = "landmark"; key["id"] = landmark_inv_id; - LLSideTray::getInstance()->showPanel("panel_places", key); + LLFloaterSidePanelContainer::showPanel("places", key); } static void processForeignLandmark(LLLandmark* landmark, const LLUUID& object_id, const LLUUID& notecard_inventory_id, diff --git a/indra/newview/skins/default/xui/en/floater_places.xml b/indra/newview/skins/default/xui/en/floater_places.xml new file mode 100644 index 00000000000..d589eb7d201 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_places.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> + +<floater + legacy_header_height="18" + can_resize="true" + height="588" + layout="topleft" + name="floater_places" + save_rect="true" + title="PLACES" + width="333"> + <panel + top="18" + class="panel_places" + name="main_panel" + filename="panel_places.xml" + label="Places" + font="SansSerifBold"/> +</floater> -- GitLab From f50d28303c28fdccc5f06dcbc1147a9d3223d07f Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Thu, 22 Sep 2011 10:05:53 -0700 Subject: [PATCH 019/213] Turn curl multithread setting to on by default as it should (mistakenly turned off on my machine to work around mac crasher) --- indra/newview/app_settings/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 148b80e817c..cc9e17409f6 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1858,7 +1858,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>0</integer> + <integer>1</integer> </map> <key>Cursor3D</key> <map> -- GitLab From 89b6e92b6cb60d326db0f3f129bf5227513d3b5c Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 22 Sep 2011 11:17:42 -0700 Subject: [PATCH 020/213] removed unused toolbar files --- indra/newview/lltoolbar.cpp | 365 ------------------------------------ indra/newview/lltoolbar.h | 82 -------- 2 files changed, 447 deletions(-) delete mode 100644 indra/newview/lltoolbar.cpp delete mode 100644 indra/newview/lltoolbar.h diff --git a/indra/newview/lltoolbar.cpp b/indra/newview/lltoolbar.cpp deleted file mode 100644 index c4f599561df..00000000000 --- a/indra/newview/lltoolbar.cpp +++ /dev/null @@ -1,365 +0,0 @@ -/** - * @file lltoolbar.cpp - * @author James Cook, Richard Nelson - * @brief Large friendly buttons at bottom of screen. - * - * $LicenseInfo:firstyear=2002&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 "lltoolbar.h" - -#include "imageids.h" -#include "llfloaterreg.h" -#include "llfontgl.h" -#include "llflyoutbutton.h" -#include "llrect.h" -#include "llparcel.h" - -#include "llagent.h" -#include "llagentwearables.h" -#include "llbutton.h" -#include "llfocusmgr.h" -#include "llviewercontrol.h" -#include "llmenucommands.h" -#include "llimview.h" -#include "lluiconstants.h" -#include "llvoavatarself.h" -#include "lltooldraganddrop.h" -#include "llfloaterinventory.h" -#include "llfloaterchatterbox.h" -#include "llfloatersnapshot.h" -#include "llinventorypanel.h" -#include "lltoolmgr.h" -#include "llui.h" -#include "llviewermenu.h" -//#include "llfirstuse.h" -#include "llpanelblockedlist.h" -#include "llscrolllistctrl.h" -#include "llscrolllistitem.h" -#include "llscrolllistcell.h" -#include "llviewerparcelmgr.h" -#include "lluictrlfactory.h" -#include "llviewerwindow.h" -#include "lltoolgrab.h" -#include "llcombobox.h" -#include "lllayoutstack.h" - -#if LL_DARWIN - - #include "llresizehandle.h" - -#endif // LL_DARWIN - -// -// Globals -// - -LLToolBar *gToolBar = NULL; - -// -// Statics -// -F32 LLToolBar::sInventoryAutoOpenTime = 1.f; - -// -// Functions -// - -LLToolBar::LLToolBar() - : LLPanel(), - - mInventoryAutoOpen(FALSE), - mNumUnreadIMs(0) -#if LL_DARWIN - , mResizeHandle(NULL) -#endif // LL_DARWIN -{ - setIsChrome(TRUE); - setFocusRoot(TRUE); - - mCommitCallbackRegistrar.add("HandleCommunicate", &LLToolBar::onClickCommunicate); -} - - -BOOL LLToolBar::postBuild() -{ - for (child_list_const_iter_t child_iter = getChildList()->begin(); - child_iter != getChildList()->end(); ++child_iter) - { - LLView *view = *child_iter; - LLButton* buttonp = dynamic_cast<LLButton*>(view); - if(buttonp) - { - buttonp->setSoundFlags(LLView::SILENT); - } - } - -#if LL_DARWIN - if(mResizeHandle == NULL) - { - LLRect rect(0, 0, RESIZE_HANDLE_WIDTH, RESIZE_HANDLE_HEIGHT); - LLResizeHandle::Params p; - p.name(""); - p.rect(rect); - p.min_width(RESIZE_HANDLE_WIDTH); - p.min_height(RESIZE_HANDLE_HEIGHT); - p.enabled(false); - mResizeHandle = LLUICtrlFactory::create<LLResizeHandle>(p); - addChildInBack(mResizeHandle); - LLLayoutStack* toolbar_stack = getChild<LLLayoutStack>("toolbar_stack"); - toolbar_stack->reshape(toolbar_stack->getRect().getWidth() - RESIZE_HANDLE_WIDTH, toolbar_stack->getRect().getHeight()); - } -#endif // LL_DARWIN - - layoutButtons(); - - return TRUE; -} - -LLToolBar::~LLToolBar() -{ - // LLView destructor cleans up children -} - - -BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, - EDragAndDropType cargo_type, - void* cargo_data, - EAcceptance* accept, - std::string& tooltip_msg) -{ - LLButton* inventory_btn = getChild<LLButton>("inventory_btn"); - if (!inventory_btn) return FALSE; - - LLRect button_screen_rect; - inventory_btn->localRectToScreen(inventory_btn->getRect(),&button_screen_rect); - - const LLInventoryPanel *active_panel = LLInventoryPanel::getActiveInventoryPanel(); - if(active_panel) - { - mInventoryAutoOpen = FALSE; - } - else if (button_screen_rect.pointInRect(x, y)) - { - if (mInventoryAutoOpen) - { - if (!active_panel && - mInventoryAutoOpenTimer.getElapsedTimeF32() > sInventoryAutoOpenTime) - { - LLFloaterInventory::showAgentInventory(); - } - } - else - { - mInventoryAutoOpen = TRUE; - mInventoryAutoOpenTimer.reset(); - } - } - - return LLPanel::handleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg); -} - -// static -void LLToolBar::toggle(void*) -{ - BOOL show = gSavedSettings.getBOOL("ShowToolBar"); - gSavedSettings.setBOOL("ShowToolBar", !show); - gToolBar->setVisible(!show); -} - - -// static -BOOL LLToolBar::visible(void*) -{ - return gToolBar->getVisible(); -} - - -void LLToolBar::layoutButtons() -{ -#if LL_DARWIN - const S32 FUDGE_WIDTH_OF_SCREEN = 4; - S32 width = gViewerWindow->getWindowWidthScaled() + FUDGE_WIDTH_OF_SCREEN; - S32 pad = 2; - - // this function may be called before postBuild(), in which case mResizeHandle won't have been set up yet. - if(mResizeHandle != NULL) - { - // Only when running in windowed mode on the Mac, leave room for a resize widget on the right edge of the bar. - width -= RESIZE_HANDLE_WIDTH; - - LLRect r; - r.mLeft = width - pad; - r.mBottom = 0; - r.mRight = r.mLeft + RESIZE_HANDLE_WIDTH; - r.mTop = r.mBottom + RESIZE_HANDLE_HEIGHT; - mResizeHandle->setRect(r); - mResizeHandle->setVisible(TRUE); - } -#endif // LL_DARWIN -} - - -// virtual -void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) -{ - LLPanel::reshape(width, height, called_from_parent); - - layoutButtons(); -} - - -// Per-frame updates of visibility -void LLToolBar::refresh() -{ - BOOL show = gSavedSettings.getBOOL("ShowToolBar"); - BOOL mouselook = gAgent.cameraMouselook(); - setVisible(show && !mouselook); - - if (isInVisibleChain()) - { - updateCommunicateList(); - } -} - -void LLToolBar::updateCommunicateList() -{ - LLFlyoutButton* communicate_button = getChild<LLFlyoutButton>("communicate_btn"); - LLSD selected = communicate_button->getValue(); - - communicate_button->removeall(); - - //LLFloater* frontmost_floater = LLFloaterChatterBox::getInstance()->getActiveFloater(); - LLScrollListItem* itemp = NULL; - - LLSD contact_sd; - contact_sd["value"] = "contacts"; - /*contact_sd["columns"][0]["value"] = LLFloaterMyFriends::getInstance()->getShortTitle(); - if (LLFloaterMyFriends::getInstance() == frontmost_floater) - { - contact_sd["columns"][0]["font"]["name"] = "SANSSERIF_SMALL"; - contact_sd["columns"][0]["font"]["style"] = "BOLD"; - // make sure current tab is selected in list - if (selected.isUndefined()) - { - selected = "contacts"; - } - }*/ - itemp = communicate_button->addElement(contact_sd, ADD_TOP); - - communicate_button->addSeparator(ADD_TOP); - communicate_button->add(getString("Redock Windows"), LLSD("redock"), ADD_TOP); - communicate_button->addSeparator(ADD_TOP); - communicate_button->add(getString("Blocked List"), LLSD("mute list"), ADD_TOP); - - std::set<LLHandle<LLFloater> >::const_iterator floater_handle_it; - - /*if (gIMMgr->getIMFloaterHandles().size() > 0) - { - communicate_button->addSeparator(ADD_TOP); - } - - for(floater_handle_it = gIMMgr->getIMFloaterHandles().begin(); floater_handle_it != gIMMgr->getIMFloaterHandles().end(); ++floater_handle_it) - { - LLFloaterIMPanel* im_floaterp = (LLFloaterIMPanel*)floater_handle_it->get(); - if (im_floaterp) - { - std::string floater_title = im_floaterp->getNumUnreadMessages() > 0 ? "*" : ""; - floater_title.append(im_floaterp->getShortTitle()); - LLSD im_sd; - im_sd["value"] = im_floaterp->getSessionID(); - im_sd["columns"][0]["value"] = floater_title; - if (im_floaterp == frontmost_floater) - { - im_sd["columns"][0]["font"]["name"] = "SANSSERIF_SMALL"; - im_sd["columns"][0]["font"]["style"] = "BOLD"; - if (selected.isUndefined()) - { - selected = im_floaterp->getSessionID(); - } - } - itemp = communicate_button->addElement(im_sd, ADD_TOP); - } - }*/ - - communicate_button->setValue(selected); -} - - -// static -void LLToolBar::onClickCommunicate(LLUICtrl* ctrl, const LLSD& user_data) -{ - LLFlyoutButton* communicate_button = dynamic_cast<LLFlyoutButton*>(ctrl); - llassert_always(communicate_button); - - LLSD selected_option = communicate_button->getValue(); - - if (selected_option.asString() == "contacts") - { - LLFloaterReg::showInstance("contacts", "friends"); - } - else if (selected_option.asString() == "local chat") - { - LLFloaterReg::showInstance("communicate", "local"); - } - else if (selected_option.asString() == "redock") - { - /*LLFloaterChatterBox* chatterbox_instance = LLFloaterChatterBox::getInstance(); - if(chatterbox_instance) - { - chatterbox_instance->addFloater(LLFloaterMyFriends::getInstance(), FALSE); - - LLUUID session_to_show; - - std::set<LLHandle<LLFloater> >::const_iterator floater_handle_it; - for(floater_handle_it = gIMMgr->getIMFloaterHandles().begin(); floater_handle_it != gIMMgr->getIMFloaterHandles().end(); ++floater_handle_it) - { - LLFloater* im_floaterp = floater_handle_it->get(); - if (im_floaterp) - { - if (im_floaterp->isFrontmost()) - { - session_to_show = ((LLFloaterIMPanel*)im_floaterp)->getSessionID(); - } - chatterbox_instance->addFloater(im_floaterp, FALSE); - } - } - LLFloaterReg::showInstance("communicate", session_to_show); - }*/ - } - else if (selected_option.asString() == "mute list") - { - LLPanelBlockedList::showPanelAndSelect(LLUUID::null); - } - else if (selected_option.isUndefined()) // user just clicked the communicate button, treat as toggle - { - /*LLFloaterReg::toggleInstance("communicate");*/ - } - else // otherwise selection_option is undifined or a specific IM session id - { - /*LLFloaterReg::showInstance("communicate", selected_option);*/ - } -} - - diff --git a/indra/newview/lltoolbar.h b/indra/newview/lltoolbar.h deleted file mode 100644 index 217b3c0ac80..00000000000 --- a/indra/newview/lltoolbar.h +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @file lltoolbar.h - * @brief Large friendly buttons at bottom of screen. - * - * $LicenseInfo:firstyear=2002&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_LLTOOLBAR_H -#define LL_LLTOOLBAR_H - -#include "llpanel.h" - -#include "llframetimer.h" - -class LLResizeHandle; - -class LLToolBar -: public LLPanel -{ -public: - LLToolBar(); - ~LLToolBar(); - - /*virtual*/ BOOL postBuild(); - - /*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, - EDragAndDropType cargo_type, - void* cargo_data, - EAcceptance* accept, - std::string& tooltip_msg); - - /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); - - static void toggle(void*); - static BOOL visible(void*); - - // Move buttons to appropriate locations based on rect. - void layoutButtons(); - - // Per-frame refresh call - void refresh(); - - // callbacks - static void onClickCommunicate(LLUICtrl*, const LLSD&); - - static F32 sInventoryAutoOpenTime; - -private: - void updateCommunicateList(); - - -private: - BOOL mInventoryAutoOpen; - LLFrameTimer mInventoryAutoOpenTimer; - S32 mNumUnreadIMs; -#if LL_DARWIN - LLResizeHandle *mResizeHandle; -#endif // LL_DARWIN -}; - -extern LLToolBar *gToolBar; - -#endif -- GitLab From 00f66ccf409b0f7fb974f23cd157cdd0b8a6ab96 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 22 Sep 2011 15:08:59 -0700 Subject: [PATCH 021/213] EXP-1239 WIP make toolbars wrap when there is not enough room added more toolbars to floater_test_toolbar.xml removed layout stack and got basic wrapping working reviewed by Leslie --- indra/llui/lltoolbar.cpp | 196 ++++++++++-------- indra/llui/lltoolbar.h | 13 +- indra/newview/lldndbutton.cpp | 9 +- indra/newview/lldndbutton.h | 5 +- .../default/xui/en/floater_test_toolbar.xml | 47 ++++- 5 files changed, 150 insertions(+), 120 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 1e8be93f17a..f623d99dc76 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -57,8 +57,8 @@ LLToolBar::Params::Params() button_icon("button_icon"), button_icon_and_text("button_icon_and_text"), wrap("wrap", true), - min_width("min_width", 0), - max_width("max_width", S32_MAX), + min_button_width("min_button_width", 0), + max_button_width("max_button_width", S32_MAX), background_image("background_image") {} @@ -70,8 +70,8 @@ LLToolBar::LLToolBar(const Params& p) mNeedsLayout(false), mCenterPanel(NULL), mCenteringStack(NULL), - mMinWidth(p.min_width), - mMaxWidth(p.max_width), + mMinButtonWidth(p.min_button_width), + mMaxButtonWidth(p.max_button_width), mBackgroundImage(p.background_image) { } @@ -108,120 +108,148 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - addRow(); - BOOST_FOREACH (LLToolBarButton::Params button_p, p.buttons) { + // buttons always follow left and top, for all orientations + button_p.follows.flags = FOLLOWS_LEFT|FOLLOWS_TOP; + button_p.fillFrom((mButtonType == BTNTYPE_ICONS_ONLY) + ? p.button_icon // icon only + : p.button_icon_and_text); // icon + text + LLRect button_rect(button_p.rect); { // remove any offset from button if (orientation == LLLayoutStack::HORIZONTAL) { - button_rect.setOriginAndSize(0, 0, mMinWidth, getRect().getHeight()); + button_rect.setOriginAndSize(0, 0, mMinButtonWidth, button_rect.getHeight()); } else // VERTICAL { - button_rect.setOriginAndSize(0, 0, mMinWidth, button_rect.getHeight()); + button_rect.setOriginAndSize(0, 0, mMinButtonWidth, button_rect.getHeight()); } } - button_p.fillFrom((mButtonType == BTNTYPE_ICONS_ONLY) - ? p.button_icon // icon only - : p.button_icon_and_text); // icon + text + // use our calculated rect + button_p.rect = button_rect; + LLToolBarButton* buttonp = LLUICtrlFactory::create<LLToolBarButton>(button_p); + + mButtons.push_back(buttonp); + mCenterPanel->addChild(buttonp); - mButtons.push_back(LLUICtrlFactory::create<LLToolBarButton>(button_p)); mNeedsLayout = true; } - - updateLayout(); } -void LLToolBar::addButton(LLToolBarButton* buttonp) +void LLToolBar::updateLayoutAsNeeded() { - LLLayoutPanel::Params panel_p; - panel_p.name = buttonp->getName() + "_panel"; - panel_p.user_resize = false; - panel_p.auto_resize= false; - panel_p.fit_content = true; + if (!mNeedsLayout) return; - LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p); - - panel->addChild(buttonp); - mStacks.back()->addChild(panel); -} + LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); -void LLToolBar::updateLayout() -{ - mCenteringStack->updateLayout(); + // our terminology for orientation-agnostic layout is that + // length refers to a distance in the direction we stack the buttons + // and girth refers to a distance in the direction buttons wrap + S32 total_length = 0; + S32 max_length = (orientation == LLLayoutStack::HORIZONTAL) + ? getRect().getWidth() + : getRect().getHeight(); + S32 max_row_girth = 0; + S32 cur_start = 0; + S32 cur_row = 0; - if (!mNeedsLayout) return; - mNeedsLayout = false; + LLRect panel_rect = mCenterPanel->getLocalRect(); - { // clean up existing rows - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { - if (button->getParent()) + std::vector<LLToolBarButton*> buttons_in_row; + + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { + S32 button_clamped_width = llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth); + S32 button_length = (orientation == LLLayoutStack::HORIZONTAL) + ? button_clamped_width + : button->getRect().getHeight(); + S32 button_girth = (orientation == LLLayoutStack::HORIZONTAL) + ? button->getRect().getHeight() + : button_clamped_width; + + // handle wrapping + if (total_length + button_length > max_length + && cur_start != 0) // not first button in row + { // go ahead and wrap + if (orientation == LLLayoutStack::VERTICAL) + { + // row girth is clamped to allowable button widths + max_row_girth = llclamp(max_row_girth, mMinButtonWidth, mMaxButtonWidth); + } + // make buttons in current row all same girth + BOOST_FOREACH(LLToolBarButton* button, buttons_in_row) { - button->getParent()->removeChild(button); + if (orientation == LLLayoutStack::HORIZONTAL) + { + button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); + } + else // VERTICAL + { + button->reshape(max_row_girth, button->getRect().getHeight()); + } } - } + buttons_in_row.clear(); - BOOST_FOREACH(LLLayoutStack* stack, mStacks) - { - delete stack; + total_length = 0; + cur_start = 0; + cur_row += max_row_girth; + max_row_girth = 0; } - mStacks.clear(); - } - // start with one row of buttons - addRow(); - - S32 total_width = 0, total_height = 0; - S32 max_total_width = 0, max_total_height = 0; - S32 max_width = getRect().getWidth(), max_height = getRect().getHeight(); - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { - S32 button_width = button->getRect().getWidth(); - S32 button_height = button->getRect().getHeight(); - if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL - && total_width + button_height > getRect().getWidth()) + LLRect button_rect; + if (orientation == LLLayoutStack::HORIZONTAL) + { + button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); + } + else // VERTICAL { - addRow(); - total_width = 0; + button_rect.setLeftTopAndSize(cur_row, panel_rect.mTop - cur_start, button_clamped_width, button->getRect().getHeight()); } - addButton(button); - - total_width += button_width; - total_height += button_height; - max_total_width = llmax(max_total_width, total_width); - max_total_height = llmax(max_total_height, total_height); - max_width = llmax(button->getRect().getWidth(), max_width); - max_height = llmax(button->getRect().getHeight(), max_height); + button->setShape(button_rect); + + buttons_in_row.push_back(button); + + total_length += button_length; + cur_start = total_length; + max_row_girth = llmax(button_girth, max_row_girth); } - if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) + // final resizing in "girth" direction + S32 total_girth = cur_row + max_row_girth; // increment by size of final row + + // grow and optionally shift toolbar to accomodate buttons + if (orientation == LLLayoutStack::HORIZONTAL) { - BOOST_FOREACH(LLLayoutStack* stack, mStacks) - { - stack->reshape(max_total_width, stack->getParent()->getRect().getHeight()); - stack->updateLayout(); + if (mSideType == SIDE_TOP) + { // shift down to maintain top edge + translate(0, getRect().getHeight() - total_girth); } + + reshape(getRect().getWidth(), total_girth); } - else + else // VERTICAL { - BOOST_FOREACH(LLLayoutStack* stack, mStacks) - { - stack->reshape(stack->getParent()->getRect().getWidth(), max_total_height); - stack->updateLayout(); + if (mSideType == SIDE_RIGHT) + { // shift left to maintain right edge + translate(getRect().getWidth() - total_girth, 0); } - - reshape(max_total_width, getRect().getHeight()); + reshape(total_girth, getRect().getHeight()); } + + // recenter toolbar buttons + mCenteringStack->updateLayout(); + + // don't clear flag until after we've resized ourselves, to avoid laying out every frame + mNeedsLayout = false; } void LLToolBar::draw() { - updateLayout(); + updateLayoutAsNeeded(); { // draw background LLRect bg_rect; @@ -231,22 +259,6 @@ void LLToolBar::draw() LLUICtrl::draw(); } -void LLToolBar::addRow() -{ - LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); - - LLLayoutStack::Params stack_p; - stack_p.rect = getLocalRect(); - stack_p.name = llformat("button_stack_%d", mStacks.size()); - stack_p.orientation = orientation; - stack_p.follows.flags = (orientation == LLLayoutStack::HORIZONTAL) - ? (FOLLOWS_TOP|FOLLOWS_BOTTOM) // horizontal - : (FOLLOWS_LEFT|FOLLOWS_RIGHT); // vertical - - mStacks.push_back(LLUICtrlFactory::create<LLLayoutStack>(stack_p)); - mCenterPanel->addChild(mStacks.back()); -} - void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) { LLUICtrl::reshape(width, height, called_from_parent); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 3a593e42d91..31729e32b49 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -93,8 +93,8 @@ class LLToolBar button_icon_and_text; Optional<bool> wrap; - Optional<S32> min_width, - max_width; + Optional<S32> min_button_width, + max_button_width; // get rid of this Multiple<LLToolBarButton::Params> buttons; @@ -112,11 +112,9 @@ class LLToolBar LLToolBar(const Params&); void initFromParams(const Params&); - void addButton(LLToolBarButton* buttonp); - void updateLayout(); private: - void addRow(); + void updateLayoutAsNeeded(); std::list<LLToolBarButton*> mButtons; LLToolBarEnums::ButtonType mButtonType; @@ -125,11 +123,10 @@ class LLToolBar LLLayoutPanel* mCenterPanel; LLToolBarEnums::SideType mSideType; - std::vector<LLLayoutStack*> mStacks; bool mWrap; bool mNeedsLayout; - S32 mMinWidth, - mMaxWidth; + S32 mMinButtonWidth, + mMaxButtonWidth; LLUIImagePtr mBackgroundImage; }; diff --git a/indra/newview/lldndbutton.cpp b/indra/newview/lldndbutton.cpp index 8a38c8a6437..7c9dda6b1dd 100644 --- a/indra/newview/lldndbutton.cpp +++ b/indra/newview/lldndbutton.cpp @@ -31,16 +31,9 @@ static LLDefaultChildRegistry::Register<LLDragAndDropButton> r("dnd_button"); -LLDragAndDropButton::Params::Params() -{ - -} - LLDragAndDropButton::LLDragAndDropButton(const Params& params) : LLButton(params) -{ - -} +{} BOOL LLDragAndDropButton::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void* cargo_data, EAcceptance* accept, std::string& tooltip_msg) { diff --git a/indra/newview/lldndbutton.h b/indra/newview/lldndbutton.h index 0642cbb7b91..53ea2f5ea7b 100644 --- a/indra/newview/lldndbutton.h +++ b/indra/newview/lldndbutton.h @@ -43,10 +43,7 @@ class LLDragAndDropButton : public LLButton { public: - struct Params : public LLInitParam::Block<Params, LLButton::Params> - { - Params(); - }; + struct Params : public LLInitParam::Block<Params, LLButton::Params> {}; LLDragAndDropButton(const Params& params); diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index 138322eca7b..85f0f104fcf 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -7,33 +7,64 @@ name="floater_test_toolbar" translate="false" width="500"> - <toolbar name="test_toolbar_horizontal" + <toolbar name="test_toolbar_top" follows="left|right|top" height="50" width="500" left="0" top="20" + min_width="100" side="top"> <button auto_resize="true" - label="Button 1"/> + label="Button"/> <button auto_resize="true" label="Button with long label"/> <button auto_resize="true" label="Button with longest label of all"/> </toolbar> - <toolbar name="test_toolbar_vertical" + <toolbar name="test_toolbar_left" follows="left|bottom|top" - height="430" + height="380" width="100" left="0" top="70" + min_width="100" side="left"> <button height="30" - label="Button 1"/> + label="Button"/> <button height="50" - label="Button 2"/> + label="Button with long label"/> <button height="60" - label="Button 3"/> + label="Button with longest label of all"/> + </toolbar> + <toolbar name="test_toolbar_right" + follows="right|bottom|top" + height="380" + width="100" + right="500" + top="70" + min_width="100" + side="right"> + <button auto_resize="true" + label="Button 1"/> + <button auto_resize="true" + label="Button with long label"/> + <button auto_resize="true" + label="Button with longest label of all"/> + </toolbar> + <toolbar name="test_toolbar_bottom" + follows="left|right|bottom" + height="50" + width="500" + left="0" + bottom="500" + min_width="100" + side="bottom"> + <button auto_resize="true" + label="Button"/> + <button auto_resize="true" + label="Button with long label"/> + <button auto_resize="true" + label="Button with longest label of all"/> </toolbar> - </floater> -- GitLab From 6c209d0fc8c8b171262074e1970c4e9ff299f9f0 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 22 Sep 2011 15:10:30 -0700 Subject: [PATCH 022/213] variable rename --- indra/llui/lltoolbar.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index f623d99dc76..8ed828efd3f 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -148,7 +148,7 @@ void LLToolBar::updateLayoutAsNeeded() // our terminology for orientation-agnostic layout is that // length refers to a distance in the direction we stack the buttons // and girth refers to a distance in the direction buttons wrap - S32 total_length = 0; + S32 row_running_length = 0; S32 max_length = (orientation == LLLayoutStack::HORIZONTAL) ? getRect().getWidth() : getRect().getHeight(); @@ -171,7 +171,7 @@ void LLToolBar::updateLayoutAsNeeded() : button_clamped_width; // handle wrapping - if (total_length + button_length > max_length + if (row_running_length + button_length > max_length && cur_start != 0) // not first button in row { // go ahead and wrap if (orientation == LLLayoutStack::VERTICAL) @@ -193,7 +193,7 @@ void LLToolBar::updateLayoutAsNeeded() } buttons_in_row.clear(); - total_length = 0; + row_running_length = 0; cur_start = 0; cur_row += max_row_girth; max_row_girth = 0; @@ -212,8 +212,8 @@ void LLToolBar::updateLayoutAsNeeded() buttons_in_row.push_back(button); - total_length += button_length; - cur_start = total_length; + row_running_length += button_length; + cur_start = row_running_length; max_row_girth = llmax(button_girth, max_row_girth); } -- GitLab From 565483ee1f2ea7b8d525c6d89700452216481c5e Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 22 Sep 2011 15:43:08 -0700 Subject: [PATCH 023/213] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1233 PROGRESS -- Populate the toybox floater window with all FUI toolbar buttons EXP-1236 FIX -- The toybox floater should remember its position for the user * Basic addCommand function to the LLToolBar. Need proper implementation. * Added map for faster lookup of commands * Toybox now adds commands to its toolbar for basic button setup Reviewed by Richard. --- indra/llui/llcommandmanager.cpp | 32 +++++--- indra/llui/llcommandmanager.h | 16 ++-- indra/llui/lltoolbar.cpp | 77 +++++++++++++++---- indra/llui/lltoolbar.h | 9 +++ indra/newview/llfloatertoybox.cpp | 18 ++--- indra/newview/llfloatertoybox.h | 5 +- .../skins/default/xui/en/floater_toybox.xml | 5 ++ 7 files changed, 120 insertions(+), 42 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 306b357d6a9..6be616b9809 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -72,9 +72,15 @@ LLCommandManager::LLCommandManager() LLCommandManager::~LLCommandManager() { + for (CommandVector::iterator cmdIt = mCommands.begin(); cmdIt != mCommands.end(); ++cmdIt) + { + LLCommand * command = *cmdIt; + + delete command; + } } -U32 LLCommandManager::count() const +U32 LLCommandManager::commandCount() const { return mCommands.size(); } @@ -88,20 +94,24 @@ LLCommand * LLCommandManager::getCommand(const std::string& commandName) { LLCommand * command_name_match = NULL; - for (CommandVector::iterator it = mCommands.begin(); it != mCommands.end(); ++it) + CommandIndexMap::const_iterator found = mCommandIndices.find(commandName); + + if (found != mCommandIndices.end()) { - LLCommand * command = *it; - - if (command->name() == commandName) - { - command_name_match = command; - break; - } + command_name_match = mCommands[found->second]; } return command_name_match; } +void LLCommandManager::addCommand(LLCommand * command) +{ + mCommandIndices[command->name()] = mCommands.size(); + mCommands.push_back(command); + + llinfos << "Successfully added command: " << command->name() << llendl; +} + //static bool LLCommandManager::load() { @@ -129,9 +139,7 @@ bool LLCommandManager::load() { LLCommand * command = new LLCommand(commandParams); - mgr.mCommands.push_back(command); - - llinfos << "Successfully loaded command: " << command->name() << llendl; + mgr.addCommand(command); } return true; diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 4f3c9b2ada5..24378ecd620 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -24,8 +24,8 @@ * $/LicenseInfo$ */ -#ifndef LL_COMMANDMANAGER_H -#define LL_COMMANDMANAGER_H +#ifndef LL_LLCOMMANDMANAGER_H +#define LL_LLCOMMANDMANAGER_H #include "llinitparam.h" #include "llsingleton.h" @@ -82,16 +82,22 @@ class LLCommandManager LLCommandManager(); ~LLCommandManager(); - U32 count() const; + U32 commandCount() const; LLCommand * getCommand(U32 commandIndex); LLCommand * getCommand(const std::string& commandName); static bool load(); +protected: + void addCommand(LLCommand * command); + private: + typedef std::map<std::string, U32> CommandIndexMap; typedef std::vector<LLCommand *> CommandVector; - CommandVector mCommands; + + CommandVector mCommands; + CommandIndexMap mCommandIndices; }; -#endif // LL_COMMANDMANAGER_H +#endif // LL_LLCOMMANDMANAGER_H diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 8ed828efd3f..bbd7706a111 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -27,9 +27,12 @@ #include "linden_common.h" -#include "boost/foreach.hpp" +#include <boost/foreach.hpp> #include "lltoolbar.h" +#include "llcommandmanager.h" +#include "lltrans.h" + // uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit // thanks, MSVC! //static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); @@ -74,6 +77,8 @@ LLToolBar::LLToolBar(const Params& p) mMaxButtonWidth(p.max_button_width), mBackgroundImage(p.background_image) { + mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; + mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; } void LLToolBar::initFromParams(const LLToolBar::Params& p) @@ -112,9 +117,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) { // buttons always follow left and top, for all orientations button_p.follows.flags = FOLLOWS_LEFT|FOLLOWS_TOP; - button_p.fillFrom((mButtonType == BTNTYPE_ICONS_ONLY) - ? p.button_icon // icon only - : p.button_icon_and_text); // icon + text + button_p.fillFrom(mButtonParams[mButtonType]); LLRect button_rect(button_p.rect); { // remove any offset from button @@ -139,12 +142,58 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) } } +bool LLToolBar::addCommand(LLCommand * command) +{ + // + // Init basic toolbar button params + // + + LLToolBarButton::Params button_p; + button_p.fillFrom(mButtonParams[mButtonType]); + + button_p.name = command->name(); + button_p.label = LLTrans::getString(command->labelRef()); + button_p.tool_tip = LLTrans::getString(command->tooltipRef()); + + // + // Set up the button rectangle + // + + S32 btn_width = mMinButtonWidth; + S32 btn_height = mButtonParams[mButtonType].rect.height; + + if ((mSideType == LLToolBarEnums::SIDE_BOTTOM) || (mSideType == LLToolBarEnums::SIDE_TOP)) + { + btn_height = getRect().getHeight(); + } + + LLRect button_rect; + button_rect.setOriginAndSize(0, 0, btn_width, btn_height); + + button_p.rect = button_rect; + + // + // Add it to the list of buttons + // + + LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + + toolbar_button->reshape(llclamp(toolbar_button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), toolbar_button->getRect().getHeight()); + + mButtons.push_back(toolbar_button); + mCenterPanel->addChild(toolbar_button); + + mNeedsLayout = true; + + return true; +} + void LLToolBar::updateLayoutAsNeeded() { if (!mNeedsLayout) return; LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); - + // our terminology for orientation-agnostic layout is that // length refers to a distance in the direction we stack the buttons // and girth refers to a distance in the direction buttons wrap @@ -160,8 +209,8 @@ void LLToolBar::updateLayoutAsNeeded() std::vector<LLToolBarButton*> buttons_in_row; - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { S32 button_clamped_width = llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth); S32 button_length = (orientation == LLLayoutStack::HORIZONTAL) ? button_clamped_width @@ -185,23 +234,23 @@ void LLToolBar::updateLayoutAsNeeded() if (orientation == LLLayoutStack::HORIZONTAL) { button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); - } + } else // VERTICAL - { + { button->reshape(max_row_girth, button->getRect().getHeight()); } - } + } buttons_in_row.clear(); row_running_length = 0; cur_start = 0; cur_row += max_row_girth; max_row_girth = 0; - } + } LLRect button_rect; if (orientation == LLLayoutStack::HORIZONTAL) - { + { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } else // VERTICAL @@ -209,7 +258,7 @@ void LLToolBar::updateLayoutAsNeeded() button_rect.setLeftTopAndSize(cur_row, panel_rect.mTop - cur_start, button_clamped_width, button->getRect().getHeight()); } button->setShape(button_rect); - + buttons_in_row.push_back(button); row_running_length += button_length; @@ -237,7 +286,7 @@ void LLToolBar::updateLayoutAsNeeded() translate(getRect().getWidth() - total_girth, 0); } reshape(total_girth, getRect().getHeight()); - } + } // recenter toolbar buttons mCenteringStack->updateLayout(); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 31729e32b49..85cd6d5170b 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -33,6 +33,9 @@ #include "llbutton.h" +class LLCommand; + + class LLToolBarButton : public LLButton { public: @@ -50,6 +53,8 @@ namespace LLToolBarEnums { BTNTYPE_ICONS_ONLY = 0, BTNTYPE_ICONS_WITH_TEXT, + + BTNTYPE_COUNT }; enum SideType @@ -107,6 +112,8 @@ class LLToolBar void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + bool addCommand(LLCommand * command); + protected: friend class LLUICtrlFactory; LLToolBar(const Params&); @@ -129,6 +136,8 @@ class LLToolBar mMaxButtonWidth; LLUIImagePtr mBackgroundImage; + + LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT]; }; diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index b4fb2e45ab9..eaaaeb3357a 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -29,12 +29,15 @@ #include "llfloatertoybox.h" #include "llbutton.h" +#include "llcommandmanager.h" #include "llpanel.h" +#include "lltoolbar.h" LLFloaterToybox::LLFloaterToybox(const LLSD& key) : LLFloater(key) , mBtnRestoreDefaults(NULL) + , mToolBar(NULL) { mCommitCallbackRegistrar.add("Toybox.RestoreDefaults", boost::bind(&LLFloaterToybox::onBtnRestoreDefaults, this)); } @@ -48,23 +51,20 @@ BOOL LLFloaterToybox::postBuild() center(); mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); + mToolBar = getChild<LLToolBar>("toybox_toolbar"); // // Create Buttons // -/* - LLToyboxButtons::load(); - for (size_t i = 0; i < LLToyboxButtons::buttonCount(); i++) - { - LLToyboxButton * button = LLToyboxButtons::get(i); + LLCommandManager& cmdMgr = LLCommandManager::instance(); - // Panel opacity depends on whether or not button position is established - LLPanel * buttonPanel = createPanelForButton(button); + for (U32 i = 0; i < cmdMgr.commandCount(); i++) + { + LLCommand * command = cmdMgr.getCommand(i); - mToolBar->add(buttonPanel); + mToolBar->addCommand(command); } -*/ return TRUE; } diff --git a/indra/newview/llfloatertoybox.h b/indra/newview/llfloatertoybox.h index bb9392a0e3b..3574e060bf4 100644 --- a/indra/newview/llfloatertoybox.h +++ b/indra/newview/llfloatertoybox.h @@ -31,10 +31,10 @@ class LLButton; +class LLToolBar; -class LLFloaterToybox -: public LLFloater +class LLFloaterToybox : public LLFloater { public: LLFloaterToybox(const LLSD& key); @@ -53,6 +53,7 @@ class LLFloaterToybox public: LLButton * mBtnRestoreDefaults; + LLToolBar * mToolBar; }; #endif // LL_LLFLOATERTOYBOX_H diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 19514973091..5f3a59d9647 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -11,6 +11,7 @@ legacy_header_height="18" name="Toybox" open_centered="true" + save_rect="true" single_instance="true" title="Customize toolbars" width="658"> @@ -45,7 +46,11 @@ <toolbar bottom="395" left="40" + max_button_width="140" + min_button_width="140" + name="toybox_toolbar" right="-40" + side="top" top="85"> </toolbar> <button -- GitLab From c155483fc206768e21d180fac9ccdd85db8f582e Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 22 Sep 2011 17:34:42 -0700 Subject: [PATCH 024/213] EXP-1239 WIP make toolbars wrap when there is not enough room toolbar button height configured by button_height attribute vertical toolbar buttons now share common width wrap attribute now controls wrapping --- indra/llui/lltoolbar.cpp | 60 ++++++++++++------- indra/llui/lltoolbar.h | 7 ++- .../default/xui/en/floater_test_toolbar.xml | 10 ++-- .../skins/default/xui/en/widgets/toolbar.xml | 23 ++++--- 4 files changed, 58 insertions(+), 42 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 8ed828efd3f..e10a254197a 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -59,6 +59,7 @@ LLToolBar::Params::Params() wrap("wrap", true), min_button_width("min_button_width", 0), max_button_width("max_button_width", S32_MAX), + button_height("button_height"), background_image("background_image") {} @@ -72,6 +73,7 @@ LLToolBar::LLToolBar(const Params& p) mCenteringStack(NULL), mMinButtonWidth(p.min_button_width), mMaxButtonWidth(p.max_button_width), + mButtonHeight(p.button_height), mBackgroundImage(p.background_image) { } @@ -120,11 +122,11 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) { // remove any offset from button if (orientation == LLLayoutStack::HORIZONTAL) { - button_rect.setOriginAndSize(0, 0, mMinButtonWidth, button_rect.getHeight()); + button_rect.setOriginAndSize(0, 0, mMinButtonWidth, mButtonHeight); } else // VERTICAL { - button_rect.setOriginAndSize(0, 0, mMinButtonWidth, button_rect.getHeight()); + button_rect.setOriginAndSize(0, 0, mMinButtonWidth, mButtonHeight); } } @@ -139,19 +141,38 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) } } +void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth) +{ + // make buttons in current row all same girth + BOOST_FOREACH(LLToolBarButton* button, buttons_in_row) + { + if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) + { + button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); + } + else // VERTICAL + { + button->reshape(max_row_girth, button->getRect().getHeight()); + } + } +} + void LLToolBar::updateLayoutAsNeeded() { if (!mNeedsLayout) return; LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); - // our terminology for orientation-agnostic layout is that + // our terminology for orientation-agnostic layout is such that // length refers to a distance in the direction we stack the buttons // and girth refers to a distance in the direction buttons wrap S32 row_running_length = 0; S32 max_length = (orientation == LLLayoutStack::HORIZONTAL) ? getRect().getWidth() : getRect().getHeight(); + S32 max_total_girth = (orientation == LLLayoutStack::HORIZONTAL) + ? getRect().getHeight() + : getRect().getWidth(); S32 max_row_girth = 0; S32 cur_start = 0; S32 cur_row = 0; @@ -170,27 +191,18 @@ void LLToolBar::updateLayoutAsNeeded() ? button->getRect().getHeight() : button_clamped_width; - // handle wrapping - if (row_running_length + button_length > max_length - && cur_start != 0) // not first button in row - { // go ahead and wrap + // wrap if needed + if (mWrap + && row_running_length + button_length > max_length // out of room... + && cur_start != 0) // ...and not first button in row + { if (orientation == LLLayoutStack::VERTICAL) - { - // row girth is clamped to allowable button widths + { // row girth (width in this case) is clamped to allowable button widths max_row_girth = llclamp(max_row_girth, mMinButtonWidth, mMaxButtonWidth); } + // make buttons in current row all same girth - BOOST_FOREACH(LLToolBarButton* button, buttons_in_row) - { - if (orientation == LLLayoutStack::HORIZONTAL) - { - button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); - } - else // VERTICAL - { - button->reshape(max_row_girth, button->getRect().getHeight()); - } - } + resizeButtonsInRow(buttons_in_row, max_row_girth); buttons_in_row.clear(); row_running_length = 0; @@ -218,9 +230,11 @@ void LLToolBar::updateLayoutAsNeeded() } // final resizing in "girth" direction - S32 total_girth = cur_row + max_row_girth; // increment by size of final row + S32 total_girth = cur_row // current row position... + + max_row_girth; // ...incremented by size of final row + resizeButtonsInRow(buttons_in_row, max_row_girth); - // grow and optionally shift toolbar to accomodate buttons + // grow and optionally shift toolbar to accommodate buttons if (orientation == LLLayoutStack::HORIZONTAL) { if (mSideType == SIDE_TOP) @@ -239,7 +253,7 @@ void LLToolBar::updateLayoutAsNeeded() reshape(total_girth, getRect().getHeight()); } - // recenter toolbar buttons + // re-center toolbar buttons mCenteringStack->updateLayout(); // don't clear flag until after we've resized ourselves, to avoid laying out every frame diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 31729e32b49..83e482a946a 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -94,7 +94,8 @@ class LLToolBar Optional<bool> wrap; Optional<S32> min_button_width, - max_button_width; + max_button_width, + button_height; // get rid of this Multiple<LLToolBarButton::Params> buttons; @@ -115,6 +116,7 @@ class LLToolBar private: void updateLayoutAsNeeded(); + void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); std::list<LLToolBarButton*> mButtons; LLToolBarEnums::ButtonType mButtonType; @@ -126,7 +128,8 @@ class LLToolBar bool mWrap; bool mNeedsLayout; S32 mMinButtonWidth, - mMaxButtonWidth; + mMaxButtonWidth, + mButtonHeight; LLUIImagePtr mBackgroundImage; }; diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index 85f0f104fcf..da964b88e2e 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -13,13 +13,16 @@ width="500" left="0" top="20" - min_width="100" + min_button_width="0" + max_button_width="100" side="top"> <button auto_resize="true" + use_ellipses="true" label="Button"/> <button auto_resize="true" label="Button with long label"/> <button auto_resize="true" + use_ellipses="true" label="Button with longest label of all"/> </toolbar> <toolbar name="test_toolbar_left" @@ -28,7 +31,7 @@ width="100" left="0" top="70" - min_width="100" + min_button_width="100" side="left"> <button height="30" label="Button"/> @@ -43,7 +46,6 @@ width="100" right="500" top="70" - min_width="100" side="right"> <button auto_resize="true" label="Button 1"/> @@ -58,7 +60,7 @@ width="500" left="0" bottom="500" - min_width="100" + min_button_width="100" side="bottom"> <button auto_resize="true" label="Button"/> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index a7f73c0c7c6..f9cc9b7c69a 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -1,15 +1,12 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toolbar background_image = "Rounded_Rect"> - <button_icon_and_text - follows="none" - height="30" - chrome="true" - auto_resize="true" - /> - <button_icon - follows="none" - height="30" - chrome="true" - auto_resize="true" - /> +<toolbar background_image = "Rounded_Rect" + button_height="30"> + <button_icon_and_text follows="none" + chrome="true" + use_ellipses="true" + auto_resize="true"/> + <button_icon follows="none" + chrome="true" + use_ellipses="true" + auto_resize="true"/> </toolbar> -- GitLab From 53a8e1299305a4acad83f52401679c86485fcf51 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 23 Sep 2011 09:45:28 -0700 Subject: [PATCH 025/213] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1233 PROGRESS -- Populate the toybox floater window with all FUI toolbar buttons * Added all documented FUI commands from the wiki, 20 in all, with text, tooltips and placeholder icons. * Note current toolbar checked in toolbar code does not lay these commands out properly. --- indra/newview/app_settings/commands.xml | 126 ++++++++++++++++++ .../skins/default/textures/textures.xml | 22 ++- .../newview/skins/default/xui/en/strings.xml | 38 +++++- 3 files changed, 183 insertions(+), 3 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 8e45e866ca4..5cb8ddffcd4 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -7,6 +7,83 @@ function="Floater.ToolbarToggle" param="avatar" /> + <command name="build" + icon="Command_Build_Icon" + label_ref="Command_Build_Label" + tooltip_ref="Command_Build_Tooltip" + function="Floater.ToolbarToggle" + param="build" + /> + <command name="chat" + icon="Command_Chat_Icon" + label_ref="Command_Chat_Label" + tooltip_ref="Command_Chat_Tooltip" + function="Floater.ToolbarToggle" + param="chat" + /> + <command name="compass" + icon="Command_Compass_Icon" + label_ref="Command_Compass_Label" + tooltip_ref="Command_Compass_Tooltip" + function="Floater.ToolbarToggle" + param="compass" + /> + <command name="gestures" + icon="Command_Gestures_Icon" + label_ref="Command_Gestures_Label" + tooltip_ref="Command_Gestures_Tooltip" + function="Floater.ToolbarToggle" + param="gestures" + /> + <command name="howto" + icon="Command_HowTo_Icon" + label_ref="Command_HowTo_Label" + tooltip_ref="Command_HowTo_Tooltip" + function="Floater.ToolbarToggle" + param="howto" + /> + <command name="landmarks" + icon="Command_Landmarks_Icon" + label_ref="Command_Landmarks_Label" + tooltip_ref="Command_Landmarks_Tooltip" + function="Floater.ToolbarToggle" + param="landmarks" + /> + <command name="map" + icon="Command_Map_Icon" + label_ref="Command_Map_Label" + tooltip_ref="Command_Map_Tooltip" + function="Floater.ToolbarToggle" + param="map" + /> + <command name="move" + icon="Command_Move_Icon" + label_ref="Command_Move_Label" + tooltip_ref="Command_Move_Tooltip" + function="Floater.ToolbarToggle" + param="move" + /> + <command name="myland" + icon="Command_MyLand_Icon" + label_ref="Command_MyLand_Label" + tooltip_ref="Command_MyLand_Tooltip" + function="Floater.ToolbarToggle" + param="myland" + /> + <command name="mystuff" + icon="Command_MyStuff_Icon" + label_ref="Command_MyStuff_Label" + tooltip_ref="Command_MyStuff_Tooltip" + function="Floater.ToolbarToggle" + param="mystuff" + /> + <command name="people" + icon="Command_People_Icon" + label_ref="Command_People_Label" + tooltip_ref="Command_People_Tooltip" + function="Floater.ToolbarToggle" + param="people" + /> <command name="places" icon="Command_Places_Icon" label_ref="Command_Places_Label" @@ -14,4 +91,53 @@ function="Floater.ToolbarToggle" param="places" /> + <command name="search" + icon="Command_Search_Icon" + label_ref="Command_Search_Label" + tooltip_ref="Command_Search_Tooltip" + function="Floater.ToolbarToggle" + param="search" + /> + <command name="settings" + icon="Command_Settings_Icon" + label_ref="Command_Settings_Label" + tooltip_ref="Command_Settings_Tooltip" + function="Floater.ToolbarToggle" + param="settings" + /> + <command name="shop" + icon="Command_Shop_Icon" + label_ref="Command_Shop_Label" + tooltip_ref="Command_Shop_Tooltip" + function="Floater.ToolbarToggle" + param="shop" + /> + <command name="snapshot" + icon="Command_Snapshot_Icon" + label_ref="Command_Snapshot_Label" + tooltip_ref="Command_Snapshot_Tooltip" + function="Floater.ToolbarToggle" + param="snapshot" + /> + <command name="speak" + icon="Command_Speak_Icon" + label_ref="Command_Speak_Label" + tooltip_ref="Command_Speak_Tooltip" + function="Floater.ToolbarToggle" + param="speak" + /> + <command name="upload" + icon="Command_Upload_Icon" + label_ref="Command_Upload_Label" + tooltip_ref="Command_Upload_Tooltip" + function="Floater.ToolbarToggle" + param="upload" + /> + <command name="view" + icon="Command_View_Icon" + label_ref="Command_View_Label" + tooltip_ref="Command_View_Tooltip" + function="Floater.ToolbarToggle" + param="view" + /> </commands> diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 598e39730cc..d68594097ce 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,8 +125,26 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> - <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Build_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Chat_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Compass_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Gestures_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_HowTo_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Landmarks_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Map_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Move_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_MyLand_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_MyStuff_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_People_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Search_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Settings_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Shop_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Snapshot_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Speak_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Upload_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_View_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 3b986664dbc..d4c2bc50ca4 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3653,8 +3653,44 @@ Try enclosing path to the editor with double quotes. <!-- commands --> <string name="Command_Avatar_Label">Avatar</string> - <string name="Command_Avatar_Tooltip">Customize your avatar</string> + <string name="Command_Avatar_Tooltip">Change the appearance of your avatar</string> + <string name="Command_Build_Label">Build</string> + <string name="Command_Build_Tooltip">Building, reshaping terrain</string> + <string name="Command_Chat_Label">Chat</string> + <string name="Command_Chat_Tooltip">Chat with people nearby</string> + <string name="Command_Compass_Label">Compass</string> + <string name="Command_Compass_Tooltip"></string> + <string name="Command_Gestures_Label">Gestures</string> + <string name="Command_Gestures_Tooltip"></string> + <string name="Command_HowTo_Label">How To</string> + <string name="Command_HowTo_Tooltip"></string> + <string name="Command_Landmarks_Label">Landmarks</string> + <string name="Command_Landmarks_Tooltip"></string> + <string name="Command_Map_Label">Map</string> + <string name="Command_Map_Tooltip"></string> + <string name="Command_Move_Label">Move</string> + <string name="Command_Move_Tooltip"></string> + <string name="Command_MyLand_Label">My Land</string> + <string name="Command_MyLand_Tooltip">Information about the land you're visiting</string> + <string name="Command_MyStuff_Label">My Stuff</string> + <string name="Command_MyStuff_Tooltip">View and use your belongings</string> + <string name="Command_People_Label">People</string> + <string name="Command_People_Tooltip"></string> <string name="Command_Places_Label">Places</string> <string name="Command_Places_Tooltip">Destination guide</string> + <string name="Command_Search_Label">Search</string> + <string name="Command_Search_Tooltip">Find...</string> + <string name="Command_Settings_Label">Settings</string> + <string name="Command_Settings_Tooltip">Preferences</string> + <string name="Command_Shop_Label">Shop</string> + <string name="Command_Shop_Tooltip"></string> + <string name="Command_Snapshot_Label">Snapshot</string> + <string name="Command_Snapshot_Tooltip">Take a picture</string> + <string name="Command_Speak_Label">Speak</string> + <string name="Command_Speak_Tooltip">Speak with people nearby using your microphone</string> + <string name="Command_Upload_Label">Upload</string> + <string name="Command_Upload_Tooltip"></string> + <string name="Command_View_Label">View</string> + <string name="Command_View_Tooltip">Changing your view of the world</string> </strings> -- GitLab From 1bcf6882c5faa94385f045e1c591da96408bb032 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Fri, 23 Sep 2011 15:09:37 -0700 Subject: [PATCH 026/213] EXP-1207 : More on lltoolbarview. Still not rendering --- indra/llui/lltoolbar.cpp | 9 ++--- indra/llui/lltoolbarview.cpp | 36 ++++++++++++------- indra/llui/lltoolbarview.h | 8 +++-- indra/llui/llui.cpp | 1 - indra/llui/lluictrlfactory.h | 4 +-- indra/newview/llviewerwindow.cpp | 7 ++-- .../skins/default/xui/en/main_view.xml | 3 +- .../default/xui/en/panel_toolbar_view.xml | 28 +++++++-------- 8 files changed, 55 insertions(+), 41 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 1e8be93f17a..167dbfcc472 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -30,9 +30,7 @@ #include "boost/foreach.hpp" #include "lltoolbar.h" -// uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit -// thanks, MSVC! -//static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); +static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); namespace LLToolBarEnums { @@ -62,7 +60,7 @@ LLToolBar::Params::Params() background_image("background_image") {} -LLToolBar::LLToolBar(const Params& p) +LLToolBar::LLToolBar(const LLToolBar::Params& p) : LLUICtrl(p), mButtonType(p.button_display_mode), mSideType(p.side), @@ -78,6 +76,9 @@ LLToolBar::LLToolBar(const Params& p) void LLToolBar::initFromParams(const LLToolBar::Params& p) { + // Initialize the base object + LLUICtrl::initFromParams(p); + LLLayoutStack::ELayoutOrientation orientation = getOrientation(p.side); LLLayoutStack::Params centering_stack_p; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 0e54c91ceaa..590cd4ffcaf 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -28,6 +28,7 @@ #include "linden_common.h" #include "lltoolbarview.h" + #include "lltoolbar.h" #include "llbutton.h" @@ -35,33 +36,39 @@ LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); -LLToolBarView::LLToolBarView(const Params& p) +LLToolBarView::LLToolBarView(const LLToolBarView::Params& p) : LLUICtrl(p) { } -BOOL LLToolBarView::postBuild() +void LLToolBarView::initFromParams(const LLToolBarView::Params& p) +{ + // Initialize the base object + LLUICtrl::initFromParams(p); +} + +LLToolBarView::~LLToolBarView() { - LLRect ctrl_rect = getRect(); - LLButton* btn = getChild<LLButton>("test"); - LLRect btn_rect = btn->getRect(); - llinfos << "Merov debug : control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; - llinfos << "Merov debug : test rect = " << btn_rect.mLeft << ", " << btn_rect.mTop << ", " << btn_rect.mRight << ", " << btn_rect.mBottom << llendl; - return TRUE; } void LLToolBarView::draw() { static bool debug_print = true; + static S32 old_width = 0; + static S32 old_height = 0; LLToolBar* toolbar_bottom = getChild<LLToolBar>("toolbar_bottom"); LLToolBar* toolbar_left = getChild<LLToolBar>("toolbar_left"); LLToolBar* toolbar_right = getChild<LLToolBar>("toolbar_right"); + LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); LLRect bottom_rect = toolbar_bottom->getRect(); LLRect left_rect = toolbar_left->getRect(); LLRect right_rect = toolbar_right->getRect(); + LLRect sizer_left_rect = sizer_left->getRect(); + if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) + debug_print = true; if (debug_print) { LLRect ctrl_rect = getRect(); @@ -69,13 +76,18 @@ void LLToolBarView::draw() llinfos << "Merov debug : draw bottom rect = " << bottom_rect.mLeft << ", " << bottom_rect.mTop << ", " << bottom_rect.mRight << ", " << bottom_rect.mBottom << llendl; llinfos << "Merov debug : draw left rect = " << left_rect.mLeft << ", " << left_rect.mTop << ", " << left_rect.mRight << ", " << left_rect.mBottom << llendl; llinfos << "Merov debug : draw right rect = " << right_rect.mLeft << ", " << right_rect.mTop << ", " << right_rect.mRight << ", " << right_rect.mBottom << llendl; + llinfos << "Merov debug : draw s left rect = " << sizer_left_rect.mLeft << ", " << sizer_left_rect.mTop << ", " << sizer_left_rect.mRight << ", " << sizer_left_rect.mBottom << llendl; + old_width = ctrl_rect.getWidth(); + old_height = ctrl_rect.getHeight(); debug_print = false; } // Debug draw - gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE); - gl_rect_2d(bottom_rect, LLColor4::red, TRUE); - gl_rect_2d(left_rect, LLColor4::green, TRUE); - gl_rect_2d(right_rect, LLColor4::yellow, TRUE); + LLColor4 back_color = LLColor4::blue; + back_color[VALPHA] = 0.5f; +// gl_rect_2d(getLocalRect(), back_color, TRUE); +// gl_rect_2d(bottom_rect, LLColor4::red, TRUE); +// gl_rect_2d(left_rect, LLColor4::green, TRUE); +// gl_rect_2d(right_rect, LLColor4::yellow, TRUE); LLUICtrl::draw(); } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 0bd0070ab77..73278e226b0 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -30,19 +30,23 @@ #include "lluictrl.h" +class LLUICtrlFactory; + // Parent of all LLToolBar class LLToolBarView : public LLUICtrl { public: struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> {}; - void draw(); - /*virtual*/ BOOL postBuild(); + virtual ~LLToolBarView(); + virtual void draw(); protected: friend class LLUICtrlFactory; LLToolBarView(const Params&); + void initFromParams(const Params&); + private: LLHandle<LLView> mSnapView; }; diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 1bc575438c3..a4303780fd3 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -93,7 +93,6 @@ std::list<std::string> gUntranslated; static LLDefaultChildRegistry::Register<LLFilterEditor> register_filter_editor("filter_editor"); static LLDefaultChildRegistry::Register<LLFlyoutButton> register_flyout_button("flyout_button"); static LLDefaultChildRegistry::Register<LLSearchEditor> register_search_editor("search_editor"); -static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); // register other widgets which otherwise may not be linked in static LLDefaultChildRegistry::Register<LLLoadingIndicator> register_loading_indicator("loading_indicator"); diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h index d345ad4cd01..71c38237c19 100644 --- a/indra/llui/lluictrlfactory.h +++ b/indra/llui/lluictrlfactory.h @@ -172,7 +172,7 @@ class LLUICtrlFactory : public LLSingleton<LLUICtrlFactory> static T* createFromFile(const std::string &filename, LLView *parent, const widget_registry_t& registry, LLXMLNodePtr output_node = NULL) { T* widget = NULL; - + std::string skinned_filename = findSkinnedFilename(filename); instance().pushFileName(filename); { @@ -201,10 +201,10 @@ class LLUICtrlFactory : public LLSingleton<LLUICtrlFactory> // not of right type, so delete it if (!widget) { + llwarns << "Widget in " << filename << " was of type " << typeid(view).name() << " instead of expected type " << typeid(T).name() << llendl; delete view; view = NULL; } - } } fail: diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index d197782eed1..e851398bf55 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1783,15 +1783,12 @@ void LLViewerWindow::initBase() // *TODO: Eventually, suppress the existence of this debug setting and turn toolbar FUI on permanently if (gSavedSettings.getBOOL("DebugToolbarFUI")) { - llinfos << "Merov debug : Creating the toolbar view" << llendl; // Get a pointer to the toolbar view holder LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); - llinfos << "Merov debug : panel_holder = " << panel_holder << llendl; // Load the toolbar view from file - gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", NULL, LLPanel::child_registry_t::instance()); - llinfos << "Merov debug : gToolBarView = " << gToolBarView << llendl; + gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLPanel::child_registry_t::instance()); // Attach it to the toolbar view holder - panel_holder->addChild(gToolBarView); + //panel_holder->addChild(gToolBarView); } // Constrain floaters to inside the menu and status bar regions. diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index a21c988bb8f..448f10a93cd 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -170,7 +170,8 @@ top="0" left="0" mouse_opaque="false" - tab_stop="false"/> + tab_stop="false"> + </panel> </layout_panel> </layout_stack> <panel mouse_opaque="false" diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index b58f8e837a7..33a19bcdb0e 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<ui_ctrl +<toolbar_view follows="all" layout="topleft" name="toolbar view" @@ -16,7 +16,6 @@ width="30" left="0" top="0" - button_display_mode="icons_only" side="left" visible="true" /> <toolbar @@ -27,7 +26,6 @@ width="964" left="30" top="470" - button_display_mode="icons_with_text" side="bottom" visible="true" /> <toolbar @@ -38,18 +36,20 @@ width="30" left="994" top="0" - button_display_mode="icons_only" side="right" visible="true" /> - <button - follows="none" - name="test" + <panel + follows="right|bottom|left" layout="topleft" - top="100" - left="100" - height="28" - width="28" - image_selected="eye_button_active.tga" - image_unselected="eye_button_inactive.tga" + name="sizer_left" + height="500" + width="30" + left="0" + top="0" + background_opaque="false" + border_visible="false" + background_visible="true" + bg_opaque_image="Toast_Over" + bg_alpha_image="Toast_Background" visible="true" /> -</ui_ctrl> +</toolbar_view> -- GitLab From 74d9663ff6444899bd5eedd29da197746a3ae226 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Fri, 23 Sep 2011 16:14:13 -0700 Subject: [PATCH 027/213] EXP-1246 Create chat bar floater reviewed by Leslie --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llbottomtray.cpp | 30 +++++++------ indra/newview/llnearbychat.cpp | 2 +- indra/newview/llnearbychatbar.cpp | 35 ++++++++------- indra/newview/llnearbychatbar.h | 8 ++-- indra/newview/llviewerfloaterreg.cpp | 2 + indra/newview/llviewerwindow.cpp | 57 ++++++++++++++----------- 7 files changed, 72 insertions(+), 64 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 7ab9f36b87f..238e4296cf5 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1493,7 +1493,7 @@ <key>Type</key> <string>S32</string> <key>Value</key> - <integer>0</integer> + <integer>1</integer> </map> <key>ChatBubbleOpacity</key> <map> diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 79e6c7b66bd..bcb89b379e2 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -165,13 +165,13 @@ class LLBottomTrayLite mChatBarContainer(NULL), mGesturePanel(NULL) { - mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); + //mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); buildFromFile("panel_bottomtray_lite.xml"); } BOOL postBuild() { - mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); + //mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); mChatBarContainer = getChild<LLLayoutPanel>("chat_bar_layout_panel"); mGesturePanel = getChild<LLPanel>("gesture_panel"); @@ -223,7 +223,7 @@ LLBottomTray::LLBottomTray(const LLSD&) // before chiclets do that. LLIMMgr::getInstance()->addSessionObserver(this); - mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); + //mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); buildFromFile("panel_bottomtray.xml"); @@ -270,7 +270,8 @@ LLBottomTray::~LLBottomTray() // *TODO Vadim: why void* ? void* LLBottomTray::createNearbyChatBar(void* userdata) { - return new LLNearbyChatBar(); + //return new LLNearbyChatBar(); + return NULL; } LLNearbyChatBar* LLBottomTray::getNearbyChatBar() @@ -536,10 +537,10 @@ BOOL LLBottomTray::postBuild() mBottomTrayContextMenu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_bottomtray.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); gMenuHolder->addChild(mBottomTrayContextMenu); - mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); - LLHints::registerHintTarget("chat_bar", mNearbyChatBar->LLView::getHandle()); + //mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); + //LLHints::registerHintTarget("chat_bar", mNearbyChatBar->LLView::getHandle()); - mListener.reset(new LLNearbyChatBarListener(*mNearbyChatBar)); + //mListener.reset(new LLNearbyChatBarListener(*mNearbyChatBar)); mChatBarContainer = getChild<LLLayoutPanel>("chat_bar_layout_panel"); mNearbyCharResizeHandlePanel = getChild<LLPanel>("chat_bar_resize_handle_panel"); @@ -576,7 +577,7 @@ BOOL LLBottomTray::postBuild() // Registering Chat Bar to receive Voice client status change notifications. LLVoiceClient::getInstance()->addObserver(this); - mNearbyChatBar->getChatBox()->setContextMenu(NULL); + //mNearbyChatBar->getChatBox()->setContextMenu(NULL); mChicletPanel = getChild<LLChicletPanel>("chiclet_list"); @@ -881,6 +882,7 @@ void LLBottomTray::draw() bool LLBottomTray::onContextMenuItemEnabled(const LLSD& userdata) { std::string item = userdata.asString(); + /* LLLineEditor* edit_box = mNearbyChatBar->findChild<LLLineEditor>("chat_box"); if (item == "can_cut") @@ -902,13 +904,13 @@ bool LLBottomTray::onContextMenuItemEnabled(const LLSD& userdata) else if (item == "can_select_all") { return edit_box->canSelectAll() && (edit_box->getLength()>0); - } + }*/ return true; } void LLBottomTray::onContextMenuItemClicked(const LLSD& userdata) -{ +{/* std::string item = userdata.asString(); LLLineEditor* edit_box = mNearbyChatBar->findChild<LLLineEditor>("chat_box"); @@ -932,7 +934,7 @@ void LLBottomTray::onContextMenuItemClicked(const LLSD& userdata) else if (item == "select_all") { edit_box->selectAll(); - } + }*/ } void LLBottomTray::log(LLView* panel, const std::string& descr) @@ -1115,7 +1117,7 @@ S32 LLBottomTray::processWidthDecreased(S32 delta_width) if(delta_panel > 0) { lldebugs << "Shrinking nearby chat bar by " << delta_panel << " px " << llendl; - mChatBarContainer->reshape(mNearbyChatBar->getRect().getWidth() - delta_panel, mChatBarContainer->getRect().getHeight()); + //mChatBarContainer->reshape(mNearbyChatBar->getRect().getWidth() - delta_panel, mChatBarContainer->getRect().getHeight()); } log(mNearbyChatBar, "after processing panel decreasing via nearby chatbar panel"); @@ -1141,8 +1143,8 @@ S32 LLBottomTray::processWidthDecreased(S32 delta_width) if (buttons_freed_width > 0) { - S32 nearby_needed_width = mDesiredNearbyChatWidth - mNearbyChatBar->getRect().getWidth(); - if (nearby_needed_width > 0) + S32 nearby_needed_width = mDesiredNearbyChatWidth; + if ( 0) { S32 compensative_width = nearby_needed_width > buttons_freed_width ? buttons_freed_width : nearby_needed_width; log(mNearbyChatBar, "before applying compensative width"); diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 03ebc344f17..361912a5cb4 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -92,7 +92,7 @@ BOOL LLNearbyChat::postBuild() if (getDockControl() == NULL) { setDockControl(new LLDockControl( - LLBottomTray::getInstance()->getNearbyChatBar(), this, + LLFloaterReg::getInstance("chat_bar"), this, getDockTongue(), LLDockControl::TOP, boost::bind(&LLNearbyChat::getAllowedRect, this, _1))); } diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 4b961db5f95..185acb14148 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -411,8 +411,9 @@ LLCtrlListInterface* LLGestureComboList::getListInterface() return mList; } -LLNearbyChatBar::LLNearbyChatBar() -: mChatBox(NULL) +LLNearbyChatBar::LLNearbyChatBar(const LLSD& key) + : LLFloater(key), + mChatBox(NULL) { mSpeakerMgr = LLLocalSpeakerMgr::getInstance(); } @@ -457,19 +458,13 @@ void LLNearbyChatBar::onChatFontChange(LLFontGL* fontp) //static LLNearbyChatBar* LLNearbyChatBar::getInstance() { - return LLBottomTray::getInstance() ? LLBottomTray::getInstance()->getNearbyChatBar() : NULL; -} - -//static -bool LLNearbyChatBar::instanceExists() -{ - return LLBottomTray::instanceExists() && LLBottomTray::getInstance()->getNearbyChatBar() != NULL; + return LLFloaterReg::getTypedInstance<LLNearbyChatBar>("chat_bar"); } void LLNearbyChatBar::draw() { displaySpeakingIndicator(); - LLPanel::draw(); + LLFloater::draw(); } std::string LLNearbyChatBar::getCurrentChat() @@ -780,17 +775,12 @@ void LLNearbyChatBar::sendChatFromViewer(const LLWString &wtext, EChatType type, // static void LLNearbyChatBar::startChat(const char* line) { - LLBottomTray *bt = LLBottomTray::getInstance(); - - if (!bt) - return; - - LLNearbyChatBar* cb = bt->getNearbyChatBar(); + LLNearbyChatBar* cb = LLNearbyChatBar::getInstance(); if (!cb ) return; - bt->setVisible(TRUE); + cb->setVisible(TRUE); cb->mChatBox->setFocus(TRUE); if (line) @@ -811,7 +801,7 @@ void LLNearbyChatBar::stopChat() if (!bt) return; - LLNearbyChatBar* cb = bt->getNearbyChatBar(); + LLNearbyChatBar* cb = LLNearbyChatBar::getInstance(); if (!cb) return; @@ -822,6 +812,15 @@ void LLNearbyChatBar::stopChat() gAgent.stopTyping(); } +void LLNearbyChatBar::onClose(bool app_quitting) +{ + LLFloater* nearby_chat = LLFloaterReg::findInstance("nearby_chat", LLSD()); + if (nearby_chat) + { + nearby_chat->closeFloater(app_quitting); + } +} + // If input of the form "/20foo" or "/20 foo", returns "foo" and channel 20. // Otherwise returns input and channel 0. LLWString LLNearbyChatBar::stripChannelNumber(const LLWString &mesg, S32* channel) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index efddec942fd..f4a8605e18e 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -93,23 +93,23 @@ class LLGestureComboList }; class LLNearbyChatBar -: public LLPanel +: public LLFloater { public: // constructor for inline chat-bars (e.g. hosted in chat history window) - LLNearbyChatBar(); + LLNearbyChatBar(const LLSD& key); ~LLNearbyChatBar() {} virtual BOOL postBuild(); static LLNearbyChatBar* getInstance(); - static bool instanceExists(); - LLLineEditor* getChatBox() { return mChatBox; } virtual void draw(); + virtual void onClose(bool app_quitting); + std::string getCurrentChat(); virtual BOOL handleKeyHere( KEY key, MASK mask ); diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index fecc6d91bd8..30fd631d4f1 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -127,6 +127,7 @@ #include "llscriptfloater.h" #include "llfloatermodelpreview.h" #include "llcommandhandler.h" +#include "llnearbychatbar.h" // *NOTE: Please add files in alphabetical order to keep merges easy. @@ -177,6 +178,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("camera", "floater_camera.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCamera>); LLFloaterReg::add("nearby_chat", "floater_nearby_chat.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNearbyChat>); + LLFloaterReg::add("chat_bar", "floater_chat_bar.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNearbyChatBar>); LLFloaterReg::add("compile_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCompileQueue>); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 5893259d964..6381f58f63c 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2467,38 +2467,43 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask) // Traverses up the hierarchy if( keyboard_focus ) { - LLLineEditor* chat_editor = LLBottomTray::instanceExists() ? LLBottomTray::getInstance()->getNearbyChatBar()->getChatBox() : NULL; - // arrow keys move avatar while chatting hack - if (chat_editor && chat_editor->hasFocus()) + LLNearbyChatBar* nearby_chat = LLFloaterReg::findTypedInstance<LLNearbyChatBar>("chat_bar"); + + if (nearby_chat) { - // If text field is empty, there's no point in trying to move - // cursor with arrow keys, so allow movement - if (chat_editor->getText().empty() - || gSavedSettings.getBOOL("ArrowKeysAlwaysMove")) + LLLineEditor* chat_editor = nearby_chat->getChatBox(); + + // arrow keys move avatar while chatting hack + if (chat_editor && chat_editor->hasFocus()) { - // let Control-Up and Control-Down through for chat line history, - if (!(key == KEY_UP && mask == MASK_CONTROL) - && !(key == KEY_DOWN && mask == MASK_CONTROL)) + // If text field is empty, there's no point in trying to move + // cursor with arrow keys, so allow movement + if (chat_editor->getText().empty() + || gSavedSettings.getBOOL("ArrowKeysAlwaysMove")) { - switch(key) + // let Control-Up and Control-Down through for chat line history, + if (!(key == KEY_UP && mask == MASK_CONTROL) + && !(key == KEY_DOWN && mask == MASK_CONTROL)) { - case KEY_LEFT: - case KEY_RIGHT: - case KEY_UP: - case KEY_DOWN: - case KEY_PAGE_UP: - case KEY_PAGE_DOWN: - case KEY_HOME: - // when chatbar is empty or ArrowKeysAlwaysMove set, - // pass arrow keys on to avatar... - return FALSE; - default: - break; + switch(key) + { + case KEY_LEFT: + case KEY_RIGHT: + case KEY_UP: + case KEY_DOWN: + case KEY_PAGE_UP: + case KEY_PAGE_DOWN: + case KEY_HOME: + // when chatbar is empty or ArrowKeysAlwaysMove set, + // pass arrow keys on to avatar... + return FALSE; + default: + break; + } } } } } - if (keyboard_focus->handleKey(key, mask, FALSE)) { return TRUE; @@ -2529,11 +2534,11 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask) if ( gSavedSettings.getS32("LetterKeysFocusChatBar") && !gAgentCamera.cameraMouselook() && !keyboard_focus && key < 0x80 && (mask == MASK_NONE || mask == MASK_SHIFT) ) { - LLLineEditor* chat_editor = LLBottomTray::instanceExists() ? LLBottomTray::getInstance()->getNearbyChatBar()->getChatBox() : NULL; + LLLineEditor* chat_editor = LLFloaterReg::getTypedInstance<LLNearbyChatBar>("chat_bar")->getChatBox(); if (chat_editor) { // passing NULL here, character will be added later when it is handled by character handler. - LLBottomTray::getInstance()->getNearbyChatBar()->startChat(NULL); + LLNearbyChatBar::getInstance()->startChat(NULL); return TRUE; } } -- GitLab From b6d7f99f065c87f7409a1e5e1ba1b59f3f4a3efb Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 23 Sep 2011 17:01:15 -0700 Subject: [PATCH 028/213] EXP-1239 FIX make toolbars wrap when there is not enough room spacing between buttons now configurable and correct background art now wraps buttons correctly created customizable panel for button background --- indra/llui/lltoolbar.cpp | 235 ++++++++++-------- indra/llui/lltoolbar.h | 20 +- .../default/xui/en/floater_test_toolbar.xml | 4 +- .../skins/default/xui/en/widgets/toolbar.xml | 17 +- 4 files changed, 154 insertions(+), 122 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index b2cf7e6554f..3311ed4a1b9 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -53,17 +53,40 @@ namespace LLToolBarEnums } using namespace LLToolBarEnums; + +namespace LLInitParam +{ + void TypeValues<ButtonType>::declareValues() + { + declare("icons_only", BTNTYPE_ICONS_ONLY); + declare("icons_with_text", BTNTYPE_ICONS_WITH_TEXT); + } + + void TypeValues<SideType>::declareValues() + { + declare("bottom", SIDE_BOTTOM); + declare("left", SIDE_LEFT); + declare("right", SIDE_RIGHT); + declare("top", SIDE_TOP); + } +} + LLToolBar::Params::Params() : button_display_mode("button_display_mode"), buttons("button"), - side("side"), + side("side", SIDE_TOP), button_icon("button_icon"), button_icon_and_text("button_icon_and_text"), wrap("wrap", true), min_button_width("min_button_width", 0), max_button_width("max_button_width", S32_MAX), button_height("button_height"), - background_image("background_image") + pad_left("pad_left"), + pad_top("pad_top"), + pad_right("pad_right"), + pad_bottom("pad_bottom"), + pad_between("pad_between"), + button_panel("button_panel") {} LLToolBar::LLToolBar(const Params& p) @@ -72,12 +95,16 @@ LLToolBar::LLToolBar(const Params& p) mSideType(p.side), mWrap(p.wrap), mNeedsLayout(false), - mCenterPanel(NULL), + mButtonPanel(NULL), mCenteringStack(NULL), - mMinButtonWidth(p.min_button_width), - mMaxButtonWidth(p.max_button_width), + mMinButtonWidth(llmin(p.min_button_width(), p.max_button_width())), + mMaxButtonWidth(llmax(p.max_button_width(), p.min_button_width())), mButtonHeight(p.button_height), - mBackgroundImage(p.background_image) + mPadLeft(p.pad_left), + mPadRight(p.pad_right), + mPadTop(p.pad_top), + mPadBottom(p.pad_bottom), + mPadBetween(p.pad_between) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; @@ -110,102 +137,81 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) center_panel_p.auto_resize = false; center_panel_p.user_resize = false; center_panel_p.fit_content = true; - mCenterPanel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); - mCenteringStack->addChild(mCenterPanel); + LLLayoutPanel* center_panel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); + mCenteringStack->addChild(center_panel); + + LLPanel::Params button_panel_p(p.button_panel); + button_panel_p.rect = center_panel->getLocalRect(); + switch(p.side()) + { + case SIDE_LEFT: + button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; + break; + case SIDE_RIGHT: + button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_RIGHT; + break; + case SIDE_TOP: + button_panel_p.follows.flags = FOLLOWS_TOP|FOLLOWS_LEFT; + break; + case SIDE_BOTTOM: + button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; + break; + } + mButtonPanel = LLUICtrlFactory::create<LLPanel>(button_panel_p); + center_panel->addChild(mButtonPanel); mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); BOOST_FOREACH (LLToolBarButton::Params button_p, p.buttons) { - // buttons always follow left and top, for all orientations - button_p.follows.flags = FOLLOWS_LEFT|FOLLOWS_TOP; button_p.fillFrom(mButtonParams[mButtonType]); - - LLRect button_rect(button_p.rect); - { // remove any offset from button - if (orientation == LLLayoutStack::HORIZONTAL) - { - button_rect.setOriginAndSize(0, 0, mMinButtonWidth, mButtonHeight); - } - else // VERTICAL - { - button_rect.setOriginAndSize(0, 0, mMinButtonWidth, mButtonHeight); - } - } - - // use our calculated rect - button_p.rect = button_rect; LLToolBarButton* buttonp = LLUICtrlFactory::create<LLToolBarButton>(button_p); mButtons.push_back(buttonp); - mCenterPanel->addChild(buttonp); + mButtonPanel->addChild(buttonp); mNeedsLayout = true; } } -void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth) -{ - // make buttons in current row all same girth - BOOST_FOREACH(LLToolBarButton* button, buttons_in_row) - { - if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) - { - button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); - } - else // VERTICAL - { - button->reshape(max_row_girth, button->getRect().getHeight()); - } - } -} - bool LLToolBar::addCommand(LLCommand * command) { // // Init basic toolbar button params // - - LLToolBarButton::Params button_p; - button_p.fillFrom(mButtonParams[mButtonType]); - + LLToolBarButton::Params button_p(mButtonParams[mButtonType]); button_p.name = command->name(); button_p.label = LLTrans::getString(command->labelRef()); button_p.tool_tip = LLTrans::getString(command->tooltipRef()); - // - // Set up the button rectangle - // - - S32 btn_width = mMinButtonWidth; - S32 btn_height = mButtonParams[mButtonType].rect.height; - - if ((mSideType == LLToolBarEnums::SIDE_BOTTOM) || (mSideType == LLToolBarEnums::SIDE_TOP)) - { - btn_height = getRect().getHeight(); - } - - LLRect button_rect; - button_rect.setOriginAndSize(0, 0, btn_width, btn_height); - - button_p.rect = button_rect; - // // Add it to the list of buttons // - LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); - - toolbar_button->reshape(llclamp(toolbar_button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), toolbar_button->getRect().getHeight()); - mButtons.push_back(toolbar_button); - mCenterPanel->addChild(toolbar_button); + mButtonPanel->addChild(toolbar_button); mNeedsLayout = true; return true; } +void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth) +{ + // make buttons in current row all same girth + BOOST_FOREACH(LLToolBarButton* button, buttons_in_row) + { + if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) + { + button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); + } + else // VERTICAL + { + button->reshape(max_row_girth, button->getRect().getHeight()); + } + } +} + void LLToolBar::updateLayoutAsNeeded() { if (!mNeedsLayout) return; @@ -215,23 +221,51 @@ void LLToolBar::updateLayoutAsNeeded() // our terminology for orientation-agnostic layout is such that // length refers to a distance in the direction we stack the buttons // and girth refers to a distance in the direction buttons wrap - S32 row_running_length = 0; - S32 max_length = (orientation == LLLayoutStack::HORIZONTAL) - ? getRect().getWidth() - : getRect().getHeight(); - S32 max_total_girth = (orientation == LLLayoutStack::HORIZONTAL) - ? getRect().getHeight() - : getRect().getWidth(); S32 max_row_girth = 0; - S32 cur_start = 0; - S32 cur_row = 0; + S32 max_row_length = 0; - LLRect panel_rect = mCenterPanel->getLocalRect(); + S32 max_length; + S32 max_total_girth; + S32 cur_start; + S32 cur_row ; + S32 row_pad_start; + S32 row_pad_end; + S32 girth_pad_end; + S32 row_running_length; + + if (orientation == LLLayoutStack::HORIZONTAL) + { + max_length = getRect().getWidth() - mPadLeft - mPadRight; + max_total_girth = getRect().getHeight() - mPadTop - mPadBottom; + row_pad_start = mPadLeft; + row_running_length = row_pad_start; + row_pad_end = mPadRight; + cur_row = mPadTop; + girth_pad_end = mPadBottom; + } + else // VERTICAL + { + max_length = getRect().getHeight() - mPadTop - mPadBottom; + max_total_girth = getRect().getWidth() - mPadLeft - mPadRight; + row_pad_start = mPadTop; + row_running_length = row_pad_start; + row_pad_end = mPadBottom; + cur_row = mPadLeft; + girth_pad_end = mPadRight; + } + + cur_start = row_pad_start; + + + LLRect panel_rect = mButtonPanel->getLocalRect(); std::vector<LLToolBarButton*> buttons_in_row; BOOST_FOREACH(LLToolBarButton* button, mButtons) { + button->reshape(mMinButtonWidth, mButtonHeight); + button->autoResize(); + S32 button_clamped_width = llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth); S32 button_length = (orientation == LLLayoutStack::HORIZONTAL) ? button_clamped_width @@ -254,9 +288,10 @@ void LLToolBar::updateLayoutAsNeeded() resizeButtonsInRow(buttons_in_row, max_row_girth); buttons_in_row.clear(); - row_running_length = 0; - cur_start = 0; - cur_row += max_row_girth; + max_row_length = llmax(max_row_length, row_running_length); + row_running_length = row_pad_start; + cur_start = row_pad_start; + cur_row += max_row_girth + mPadBetween; max_row_girth = 0; } @@ -273,14 +308,17 @@ void LLToolBar::updateLayoutAsNeeded() buttons_in_row.push_back(button); - row_running_length += button_length; + row_running_length += button_length + mPadBetween; cur_start = row_running_length; max_row_girth = llmax(button_girth, max_row_girth); } // final resizing in "girth" direction S32 total_girth = cur_row // current row position... - + max_row_girth; // ...incremented by size of final row + + max_row_girth // ...incremented by size of final row... + + girth_pad_end; // ...plus padding reserved on end + max_row_length = llmax(max_row_length, row_running_length - mPadBetween + row_pad_end); + resizeButtonsInRow(buttons_in_row, max_row_girth); // grow and optionally shift toolbar to accommodate buttons @@ -288,18 +326,18 @@ void LLToolBar::updateLayoutAsNeeded() { if (mSideType == SIDE_TOP) { // shift down to maintain top edge - translate(0, getRect().getHeight() - total_girth); + mButtonPanel->translate(0, mButtonPanel->getRect().getHeight() - total_girth); } - reshape(getRect().getWidth(), total_girth); + mButtonPanel->reshape(max_row_length, total_girth); } else // VERTICAL { if (mSideType == SIDE_RIGHT) { // shift left to maintain right edge - translate(getRect().getWidth() - total_girth, 0); + mButtonPanel->translate(mButtonPanel->getRect().getWidth() - total_girth, 0); } - reshape(total_girth, getRect().getHeight()); + mButtonPanel->reshape(total_girth, max_row_length); } // re-center toolbar buttons @@ -313,12 +351,6 @@ void LLToolBar::updateLayoutAsNeeded() void LLToolBar::draw() { updateLayoutAsNeeded(); - - { // draw background - LLRect bg_rect; - localRectToOtherView(mCenterPanel->getRect(),&bg_rect, this); - mBackgroundImage->draw(bg_rect); - } LLUICtrl::draw(); } @@ -328,20 +360,3 @@ void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) mNeedsLayout = true; } -namespace LLInitParam -{ - void TypeValues<ButtonType>::declareValues() - { - declare("icons_only", BTNTYPE_ICONS_ONLY); - declare("icons_with_text", BTNTYPE_ICONS_WITH_TEXT); - } - - void TypeValues<SideType>::declareValues() - { - declare("none", SIDE_NONE); - declare("bottom", SIDE_BOTTOM); - declare("left", SIDE_LEFT); - declare("right", SIDE_RIGHT); - declare("top", SIDE_TOP); - } -} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 9b08b26ce40..92c289cd3f7 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -59,7 +59,6 @@ namespace LLToolBarEnums enum SideType { - SIDE_NONE = 0, SIDE_BOTTOM, SIDE_LEFT, SIDE_RIGHT, @@ -101,10 +100,16 @@ class LLToolBar Optional<S32> min_button_width, max_button_width, button_height; + + Optional<S32> pad_left, + pad_top, + pad_right, + pad_bottom, + pad_between; // get rid of this Multiple<LLToolBarButton::Params> buttons; - Optional<LLUIImage*> background_image; + Optional<LLPanel::Params> button_panel; Params(); }; @@ -129,16 +134,19 @@ class LLToolBar LLToolBarEnums::ButtonType mButtonType; LLLayoutStack* mCenteringStack; LLLayoutStack* mWrapStack; - LLLayoutPanel* mCenterPanel; + LLPanel* mButtonPanel; LLToolBarEnums::SideType mSideType; bool mWrap; bool mNeedsLayout; S32 mMinButtonWidth, mMaxButtonWidth, - mButtonHeight; - - LLUIImagePtr mBackgroundImage; + mButtonHeight, + mPadLeft, + mPadRight, + mPadTop, + mPadBottom, + mPadBetween; LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT]; }; diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index da964b88e2e..b58c006b3f5 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -28,7 +28,7 @@ <toolbar name="test_toolbar_left" follows="left|bottom|top" height="380" - width="100" + width="200" left="0" top="70" min_button_width="100" @@ -43,7 +43,7 @@ <toolbar name="test_toolbar_right" follows="right|bottom|top" height="380" - width="100" + width="200" right="500" top="70" side="right"> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index f9cc9b7c69a..45210277b2a 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -1,11 +1,20 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toolbar background_image = "Rounded_Rect" - button_height="30"> - <button_icon_and_text follows="none" +<toolbar button_height="30" + pad_left="5" + pad_right="5" + pad_top="5" + pad_bottom="5" + pad_between="5"> + + <button_panel name="button_panel" + bg_opaque_image="Rounded_Rect" + background_visible="true" + background_opaque="true"/> + <button_icon_and_text follows="left|top" chrome="true" use_ellipses="true" auto_resize="true"/> - <button_icon follows="none" + <button_icon follows="left|top" chrome="true" use_ellipses="true" auto_resize="true"/> -- GitLab From c27d6ee5aa8428cf82486264779f266b9a2fb00a Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 23 Sep 2011 17:19:38 -0700 Subject: [PATCH 029/213] EXP-1239 FIX make toolbars wrap when there is not enough room fixed overeager wrapping --- indra/llui/lltoolbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 3311ed4a1b9..e5ffe391a6e 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -277,7 +277,7 @@ void LLToolBar::updateLayoutAsNeeded() // wrap if needed if (mWrap && row_running_length + button_length > max_length // out of room... - && cur_start != 0) // ...and not first button in row + && cur_start != row_pad_start) // ...and not first button in row { if (orientation == LLLayoutStack::VERTICAL) { // row girth (width in this case) is clamped to allowable button widths -- GitLab From 105b15436d37149f6df71866125871448ee4fbcb Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Fri, 23 Sep 2011 19:24:55 -0700 Subject: [PATCH 030/213] EXP-1027 : Fix the children creation code in LLToolBarView. Only a left panel is displayed now. --- indra/llui/lltoolbar.cpp | 2 +- indra/llui/lltoolbarview.cpp | 8 ++++---- indra/llui/lltoolbarview.h | 3 +++ indra/llui/llui.cpp | 1 + indra/newview/llviewerwindow.cpp | 2 +- indra/newview/skins/default/xui/en/panel_toolbar_view.xml | 4 +++- 6 files changed, 13 insertions(+), 7 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index e052c1c8765..ac07e6dd0bf 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -33,7 +33,7 @@ #include "llcommandmanager.h" #include "lltrans.h" -static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); +//static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); namespace LLToolBarEnums { diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 590cd4ffcaf..c99b573b358 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -84,10 +84,10 @@ void LLToolBarView::draw() // Debug draw LLColor4 back_color = LLColor4::blue; back_color[VALPHA] = 0.5f; -// gl_rect_2d(getLocalRect(), back_color, TRUE); -// gl_rect_2d(bottom_rect, LLColor4::red, TRUE); -// gl_rect_2d(left_rect, LLColor4::green, TRUE); -// gl_rect_2d(right_rect, LLColor4::yellow, TRUE); + //gl_rect_2d(getLocalRect(), back_color, TRUE); + //gl_rect_2d(bottom_rect, LLColor4::red, TRUE); + //gl_rect_2d(left_rect, LLColor4::green, TRUE); + //gl_rect_2d(right_rect, LLColor4::yellow, TRUE); LLUICtrl::draw(); } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 73278e226b0..0e6545015d5 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -41,6 +41,9 @@ class LLToolBarView : public LLUICtrl virtual ~LLToolBarView(); virtual void draw(); + // valid children for LLToolBarView are stored in this registry + typedef LLDefaultChildRegistry child_registry_t; + protected: friend class LLUICtrlFactory; LLToolBarView(const Params&); diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index a4303780fd3..4f129ccfba1 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -96,6 +96,7 @@ static LLDefaultChildRegistry::Register<LLSearchEditor> register_search_editor(" // register other widgets which otherwise may not be linked in static LLDefaultChildRegistry::Register<LLLoadingIndicator> register_loading_indicator("loading_indicator"); +static LLDefaultChildRegistry::Register<LLToolBar> register_toolbar("toolbar"); // // Functions diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index e851398bf55..c651e86606f 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1786,7 +1786,7 @@ void LLViewerWindow::initBase() // Get a pointer to the toolbar view holder LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); // Load the toolbar view from file - gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLPanel::child_registry_t::instance()); + gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLDefaultChildRegistry::instance()); // Attach it to the toolbar view holder //panel_holder->addChild(gToolBarView); } diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 33a19bcdb0e..12c442d8f1d 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -5,6 +5,8 @@ name="toolbar view" height="500" width="1024" + left="0" + top="0" mouse_opaque="false" tab_stop="false" visible="true"> @@ -39,7 +41,7 @@ side="right" visible="true" /> <panel - follows="right|bottom|left" + follows="top|bottom|left" layout="topleft" name="sizer_left" height="500" -- GitLab From 6aa7ddc238b1a8f8a4dd184dd2758f93f6a55bec Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 23 Sep 2011 19:56:07 -0700 Subject: [PATCH 031/213] fix for widget registration and crash on login --- indra/llui/lldockcontrol.cpp | 1 + indra/llui/lltoolbar.cpp | 14 ++++++-------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp index b1c27126d9b..7b9084671d8 100644 --- a/indra/llui/lldockcontrol.cpp +++ b/indra/llui/lldockcontrol.cpp @@ -97,6 +97,7 @@ void LLDockControl::getAllowedRect(LLRect& rect) void LLDockControl::repositionDockable() { + if (!mDockWidget) return; LLRect dockRect = mDockWidget->calcScreenRect(); LLRect rootRect; mGetAllowedRectCallback(rootRect); diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 31a18dc7073..96f892d974e 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -33,9 +33,7 @@ #include "llcommandmanager.h" #include "lltrans.h" -// uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit -// thanks, MSVC! -//static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); +static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar"); namespace LLToolBarEnums { @@ -264,8 +262,8 @@ void LLToolBar::updateLayoutAsNeeded() std::vector<LLToolBarButton*> buttons_in_row; - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { button->reshape(mMinButtonWidth, mButtonHeight); button->autoResize(); @@ -296,11 +294,11 @@ void LLToolBar::updateLayoutAsNeeded() cur_start = row_pad_start; cur_row += max_row_girth + mPadBetween; max_row_girth = 0; - } + } LLRect button_rect; if (orientation == LLLayoutStack::HORIZONTAL) - { + { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } else // VERTICAL @@ -341,7 +339,7 @@ void LLToolBar::updateLayoutAsNeeded() mButtonPanel->translate(mButtonPanel->getRect().getWidth() - total_girth, 0); } mButtonPanel->reshape(total_girth, max_row_length); - } + } // re-center toolbar buttons mCenteringStack->updateLayout(); -- GitLab From c5d930b280c71dfd6ba2f63960c91895083ecc19 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 23 Sep 2011 20:06:35 -0700 Subject: [PATCH 032/213] made LLView a possible parent for all default widgets --- indra/llui/llpanel.h | 3 --- indra/llui/llview.h | 6 ++---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h index 790025cb2dc..ab1c87caffe 100644 --- a/indra/llui/llpanel.h +++ b/indra/llui/llpanel.h @@ -96,9 +96,6 @@ class LLPanel : public LLUICtrl, public LLBadgeHolder Params(); }; - // valid children for LLPanel are stored in this registry - typedef LLDefaultChildRegistry child_registry_t; - protected: friend class LLUICtrlFactory; // RN: for some reason you can't just use LLUICtrlFactory::getDefaultParams as a default argument in VC8 diff --git a/indra/llui/llview.h b/indra/llui/llview.h index 594a5eec6be..43986a3a84d 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -95,9 +95,6 @@ class LLViewDrawContext static std::vector<LLViewDrawContext*> sDrawContextStack; }; -class LLViewWidgetRegistry : public LLChildRegistry<LLViewWidgetRegistry> -{}; - class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElement { public: @@ -150,7 +147,8 @@ class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElem Params(); }; - typedef LLViewWidgetRegistry child_registry_t; + // most widgets are valid children of LLView + typedef LLDefaultChildRegistry child_registry_t; void initFromParams(const LLView::Params&); -- GitLab From a80d5f2b46b21a8d1a48da4b4d2c740cb8260928 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Mon, 26 Sep 2011 15:21:46 +0300 Subject: [PATCH 033/213] EXP-1222 FIXED Added a floater for My Profile side tab. - Replaced calls to LLSideTray with LLFloaterSidePanelContainer. - Removed obsolete code implementing the tri-state behavior of Profile side panel. - Added People panel XUI which is referenced from Profile panel. --- indra/newview/llpanelme.cpp | 40 ------------------ indra/newview/llpanelme.h | 1 - indra/newview/llpanelpicks.cpp | 17 ++++---- indra/newview/llviewerfloaterreg.cpp | 2 + .../default/xui/en/floater_my_profile.xml | 19 +++++++++ .../skins/default/xui/en/floater_people.xml | 41 +++++++++++++++++++ 6 files changed, 72 insertions(+), 48 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_my_profile.xml create mode 100644 indra/newview/skins/default/xui/en/floater_people.xml diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp index 1347a02a520..4d86fa15dfd 100644 --- a/indra/newview/llpanelme.cpp +++ b/indra/newview/llpanelme.cpp @@ -37,7 +37,6 @@ #include "llfirstuse.h" #include "llfloaterreg.h" #include "llhints.h" -#include "llsidetray.h" #include "llviewercontrol.h" #include "llviewerdisplayname.h" @@ -89,45 +88,6 @@ void LLPanelMe::onOpen(const LLSD& key) //} } -bool LLPanelMe::notifyChildren(const LLSD& info) -{ - if (info.has("task-panel-action") && info["task-panel-action"].asString() == "handle-tri-state") - { - // Implement task panel tri-state behavior. - // - // When the button of an active open task panel is clicked, side tray - // calls notifyChildren() on the panel, passing task-panel-action=>handle-tri-state as an argument. - // The task panel is supposed to handle this by reverting to the default view, - // i.e. closing any dependent panels like "pick info" or "profile edit". - - bool on_default_view = true; - - const LLRect& task_panel_rect = getRect(); - for (LLView* child = getFirstChild(); child; child = findNextSibling(child)) - { - LLPanel* panel = dynamic_cast<LLPanel*>(child); - if (!panel) - continue; - - // *HACK: implement panel stack instead (e.g. me->pick_info->pick_edit). - if (panel->getRect().getWidth() == task_panel_rect.getWidth() && - panel->getRect().getHeight() == task_panel_rect.getHeight() && - panel->getVisible()) - { - panel->setVisible(FALSE); - on_default_view = false; - } - } - - if (on_default_view) - LLSideTray::getInstance()->collapseSideBar(); - - return true; // this notification is only supposed to be handled by task panels - } - - return LLPanel::notifyChildren(info); -} - void LLPanelMe::buildEditPanel() { if (NULL == mEditPanel) diff --git a/indra/newview/llpanelme.h b/indra/newview/llpanelme.h index f27f5a268e7..22cbb9e055a 100644 --- a/indra/newview/llpanelme.h +++ b/indra/newview/llpanelme.h @@ -49,7 +49,6 @@ class LLPanelMe : public LLPanelProfile LLPanelMe(); /*virtual*/ void onOpen(const LLSD& key); - /*virtual*/ bool notifyChildren(const LLSD& info); /*virtual*/ BOOL postBuild(); diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index ddce83c616d..15b5fc8301e 100755 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -48,11 +48,11 @@ #include "llaccordionctrl.h" #include "llaccordionctrltab.h" #include "llavatarpropertiesprocessor.h" +#include "llfloatersidepanelcontainer.h" #include "llpanelavatar.h" #include "llpanelprofile.h" #include "llpanelpick.h" #include "llpanelclassified.h" -#include "llsidetray.h" static const std::string XML_BTN_NEW = "new_btn"; static const std::string XML_BTN_DELETE = "trash_btn"; @@ -133,7 +133,7 @@ class LLPickHandler : public LLCommandHandler, params["id"] = gAgent.getID(); params["open_tab_name"] = "panel_picks"; params["show_tab_panel"] = "create_pick"; - LLSideTray::getInstance()->showPanel("panel_me", params); + LLFloaterSidePanelContainer::showPanel("my_profile", params); } void editPick(LLPickData* pick_info) @@ -146,8 +146,7 @@ class LLPickHandler : public LLCommandHandler, params["snapshot_id"] = pick_info->snapshot_id; params["pick_name"] = pick_info->name; params["pick_desc"] = pick_info->desc; - - LLSideTray::getInstance()->showPanel("panel_me", params); + LLFloaterSidePanelContainer::showPanel("my_profile", params); } /*virtual*/ void processProperties(void* data, EAvatarProcessorType type) @@ -252,7 +251,7 @@ class LLClassifiedHandler : params["id"] = gAgent.getID(); params["open_tab_name"] = "panel_picks"; params["show_tab_panel"] = "create_classified"; - LLSideTray::getInstance()->showPanel("panel_me", params); + LLFloaterSidePanelContainer::showPanel("my_profile", params); } void openClassified(LLAvatarClassifiedInfo* c_info) @@ -270,7 +269,11 @@ class LLClassifiedHandler : params["classified_name"] = c_info->name; params["classified_desc"] = c_info->description; params["from_search"] = true; - LLSideTray::getInstance()->showPanel("panel_profile_view", params); + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>("people"); + if (floaterp) + { + floaterp->openChildPanel("panel_profile_view", params); + } } else if (mRequestVerb == "edit") { @@ -283,7 +286,7 @@ class LLClassifiedHandler : params["open_tab_name"] = "panel_picks"; params["show_tab_panel"] = "edit_classified"; params["classified_id"] = c_info->classified_id; - LLSideTray::getInstance()->showPanel("panel_me", params); + LLFloaterSidePanelContainer::showPanel("my_profile", params); } else { diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b28373c6d50..b30ef11978a 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -223,6 +223,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("moveview", "floater_moveview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMove>); LLFloaterReg::add("mute_object_by_name", "floater_mute_object.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterGetBlockedObjectName>); LLFloaterReg::add("mini_map", "floater_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMap>); + LLFloaterReg::add("my_profile", "floater_my_profile.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("notifications_console", "floater_notifications_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotificationConsole>); LLFloaterReg::add("notification_well_window", "floater_sys_well.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNotificationWellWindow>); @@ -231,6 +232,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("outgoing_call", "floater_outgoing_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutgoingCallDialog>); LLFloaterPayUtil::registerFloater(); + LLFloaterReg::add("people", "floater_people.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("places", "floater_places.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("postcard", "floater_postcard.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPostcard>); LLFloaterReg::add("preferences", "floater_preferences.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreference>); diff --git a/indra/newview/skins/default/xui/en/floater_my_profile.xml b/indra/newview/skins/default/xui/en/floater_my_profile.xml new file mode 100644 index 00000000000..b3ebe7f7917 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_my_profile.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<floater + can_close="true" + can_resize="true" + height="570" + help_topic="sidebar_me" + min_width="333" + min_height="440" + name="floater_profile" + save_rect="true" + save_visibility="true" + title="My Profile" + width="333" > + <panel + class="panel_me" + name="main_panel" + filename="panel_me.xml" + follows="all"/> +</floater> diff --git a/indra/newview/skins/default/xui/en/floater_people.xml b/indra/newview/skins/default/xui/en/floater_people.xml new file mode 100644 index 00000000000..13e0738e522 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_people.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<floater + can_close="true" + can_resize="true" + height="570" + help_topic="sidebar_people" + min_width="333" + min_height="440" + name="floater_people" + save_rect="true" + save_visibility="true" + title="People" + width="333" > + <panel_container + follows="all" + height="570" + name="main_panel" + default_panel_name="panel_people" + width="333"> + <panel + class="panel_people" + 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" + label="Group Profile" + font="SansSerifBold"/> + <panel + class="panel_block_list_sidetray" + name="panel_block_list_sidetray" + filename="panel_block_list_sidetray.xml" + label="Blocked Residents & Objects" + font="SansSerifBold"/> + </panel_container> +</floater> -- GitLab From b72c8df1f6aac0932ae587a6a94fd87db5007366 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Mon, 26 Sep 2011 19:38:12 +0300 Subject: [PATCH 034/213] Fixed Linux TeamCity build --- indra/newview/llfloatersidepanelcontainer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index cff46e80eb2..cf66fd1792d 100644 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -69,7 +69,7 @@ LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_na panel = container->getCurrentPanel(); } - else if (panel = dynamic_cast<LLPanel*>(view)) + else if ((panel = dynamic_cast<LLPanel*>(view)) != NULL) { panel->onOpen(params); } -- GitLab From 679a028fcc5615b9725bf11f6949634617fad06d Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Mon, 26 Sep 2011 20:37:02 +0300 Subject: [PATCH 035/213] EXP-1203 ADDITIONAL FIX (As a FUI user, I want the address bar and favorites to be on one line) - Removed search combobox by spec - Fixed EXP-1243 (Parcel characteristics icons from location bar overlay other ui elements) - Fixed EXP-1245 (More spillover list "jumps" on copying landmarks) --- indra/newview/llnavigationbar.cpp | 38 +------------------ indra/newview/llnavigationbar.h | 4 -- .../default/xui/en/panel_navigation_bar.xml | 37 ++++-------------- 3 files changed, 8 insertions(+), 71 deletions(-) diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 133168f0baa..4c0823874c2 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -269,7 +269,6 @@ LLNavigationBar::LLNavigationBar() mBtnForward(NULL), mBtnHome(NULL), mCmbLocation(NULL), - mSearchComboBox(NULL), mPurgeTPHistoryItems(false), mSaveToLocationHistory(false) { @@ -291,10 +290,7 @@ BOOL LLNavigationBar::postBuild() mBtnForward = getChild<LLPullButton>("forward_btn"); mBtnHome = getChild<LLButton>("home_btn"); - mCmbLocation= getChild<LLLocationInputCtrl>("location_combo"); - mSearchComboBox = getChild<LLSearchComboBox>("search_combo_box"); - - fillSearchComboBox(); + mCmbLocation= getChild<LLLocationInputCtrl>("location_combo"); mBtnBack->setEnabled(FALSE); mBtnBack->setClickedCallback(boost::bind(&LLNavigationBar::onBackButtonClicked, this)); @@ -309,8 +305,6 @@ BOOL LLNavigationBar::postBuild() mBtnHome->setClickedCallback(boost::bind(&LLNavigationBar::onHomeButtonClicked, this)); mCmbLocation->setCommitCallback(boost::bind(&LLNavigationBar::onLocationSelection, this)); - - mSearchComboBox->setCommitCallback(boost::bind(&LLNavigationBar::onSearchCommit, this)); mTeleportFinishConnection = LLViewerParcelMgr::getInstance()-> setTeleportFinishedCallback(boost::bind(&LLNavigationBar::onTeleportFinished, this, _1)); @@ -344,26 +338,6 @@ void LLNavigationBar::setVisible(BOOL visible) } } - -void LLNavigationBar::fillSearchComboBox() -{ - if(!mSearchComboBox) - { - return; - } - - LLSearchHistory::getInstance()->load(); - - LLSearchHistory::search_history_list_t search_list = - LLSearchHistory::getInstance()->getSearchHistoryList(); - LLSearchHistory::search_history_list_t::const_iterator it = search_list.begin(); - for( ; search_list.end() != it; ++it) - { - LLSearchHistory::LLSearchHistoryItem item = *it; - mSearchComboBox->add(item.search_query); - } -} - void LLNavigationBar::draw() { if(mPurgeTPHistoryItems) @@ -416,16 +390,6 @@ void LLNavigationBar::onHomeButtonClicked() gAgent.teleportHome(); } -void LLNavigationBar::onSearchCommit() -{ - std::string search_query = mSearchComboBox->getSimple(); - if(!search_query.empty()) - { - LLSearchHistory::getInstance()->addEntry(search_query); - } - invokeSearch(search_query); -} - void LLNavigationBar::onTeleportHistoryMenuItemClicked(const LLSD& userdata) { int idx = userdata.asInteger(); diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h index f200253de57..e4ce9e3998e 100644 --- a/indra/newview/llnavigationbar.h +++ b/indra/newview/llnavigationbar.h @@ -118,7 +118,6 @@ class LLNavigationBar void onHomeButtonClicked(); void onLocationSelection(); void onLocationPrearrange(const LLSD& data); - void onSearchCommit(); void onTeleportFinished(const LLVector3d& global_agent_pos); void onTeleportFailed(); void onRegionNameResponse( @@ -128,8 +127,6 @@ class LLNavigationBar U64 region_handle, const std::string& url, const LLUUID& snapshot_id, bool teleport); - void fillSearchComboBox(); - static void destroyClass() { if (LLNavigationBar::instanceExists()) @@ -142,7 +139,6 @@ class LLNavigationBar LLPullButton* mBtnBack; LLPullButton* mBtnForward; LLButton* mBtnHome; - LLSearchComboBox* mSearchComboBox; LLLocationInputCtrl* mCmbLocation; LLRect mDefaultNbRect; LLRect mDefaultFpRect; diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 54befa38e9a..719d3531ed1 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -60,9 +60,9 @@ layout="topleft" auto_resize="true" user_resize="true" - min_width="500" + min_width="340" name="navigation_layout_panel" - width="500"> + width="340"> <panel background_visible="false" follows="left|top|right" @@ -71,7 +71,7 @@ layout="topleft" left="0" name="navigation_panel" - width="500"> + width="340"> <pull_button follows="left|top" direction="down" @@ -118,33 +118,10 @@ mouse_opaque="false" name="location_combo" top_delta="0" - width="213"> + width="215"> <combo_list mouse_wheel_opaque="true"/> </location_input> - <search_combo_box - follows="top|right" - halign="right" - height="23" - label="Search" - layout="topleft" - left_pad="7" - mouse_opaque="false" - name="search_combo_box" - tool_tip="Search" - top_delta="0" - width="152" > - <combo_editor - label="Search [SECOND_LIFE]" - name="search_combo_editor"/> - <combo_list - draw_border="true" - border.highlight_light_color="FocusColor" - border.highlight_dark_color="FocusColor" - border.shadow_light_color="FocusColor" - border.shadow_dark_color="FocusColor" - mouse_wheel_opaque="true"/> - </search_combo_box> </panel> </layout_panel> @@ -172,9 +149,9 @@ layout="topleft" auto_resize="true" user_resize="true" - min_width="190" + min_width="335" name="favorites_layout_panel" - width="290"> + width="335"> <favorites_bar follows="left|right|top" font="SansSerifSmall" @@ -184,7 +161,7 @@ name="favorite" image_drag_indication="Accordion_ArrowOpened_Off" tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" - width="290"> + width="331"> <label follows="left|top" height="15" -- GitLab From 16fead6429eba35bdfb8ef01610780a508e062df Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 26 Sep 2011 11:19:30 -0700 Subject: [PATCH 036/213] EXP-1207 : add button display mode mandatory param to toolbars --- indra/newview/skins/default/xui/en/panel_toolbar_view.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 12c442d8f1d..67012668878 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -19,6 +19,7 @@ left="0" top="0" side="left" + button_display_mode="icons_only" visible="true" /> <toolbar follows="right|bottom|left" @@ -29,6 +30,7 @@ left="30" top="470" side="bottom" + button_display_mode="icons_with_text" visible="true" /> <toolbar follows="top|bottom|right" @@ -39,6 +41,7 @@ left="994" top="0" side="right" + button_display_mode="icons_only" visible="true" /> <panel follows="top|bottom|left" -- GitLab From 9da5a8d01085f13c0586bba4c818ed540335ae2e Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 26 Sep 2011 14:34:42 -0700 Subject: [PATCH 037/213] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1233 PROGRESS -- Populate the toybox floater window with all FUI toolbar buttons EXP-1235 FIX -- Make the toybox available through the context menus associated with the other toolbars EXP-1248 FIX -- Implement context menu on toolbars * New commands are listed * Toolbars can now be made read-only (as in the toybox) or editable (as in the others) * Toolbars that are not read-only have a context menu that allows button type editing. Reviewed by Richard. --- indra/llui/lltoolbar.cpp | 113 ++++++++++++++++-- indra/llui/lltoolbar.h | 18 ++- indra/newview/app_settings/commands.xml | 9 ++ .../skins/default/textures/textures.xml | 1 + .../skins/default/xui/en/floater_toybox.xml | 4 +- .../skins/default/xui/en/menu_toolbars.xml | 29 +++++ .../newview/skins/default/xui/en/strings.xml | 2 + .../skins/default/xui/en/widgets/toolbar.xml | 3 +- 8 files changed, 166 insertions(+), 13 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/menu_toolbars.xml diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 31a18dc7073..a9513b759a8 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -31,6 +31,7 @@ #include "lltoolbar.h" #include "llcommandmanager.h" +#include "llmenugl.h" #include "lltrans.h" // uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit @@ -51,6 +52,7 @@ namespace LLToolBarEnums return orientation; } } + using namespace LLToolBarEnums; @@ -58,8 +60,8 @@ namespace LLInitParam { void TypeValues<ButtonType>::declareValues() { - declare("icons_only", BTNTYPE_ICONS_ONLY); declare("icons_with_text", BTNTYPE_ICONS_WITH_TEXT); + declare("icons_only", BTNTYPE_ICONS_ONLY); } void TypeValues<SideType>::declareValues() @@ -77,6 +79,7 @@ LLToolBar::Params::Params() side("side", SIDE_TOP), button_icon("button_icon"), button_icon_and_text("button_icon_and_text"), + read_only("read_only", false), wrap("wrap", true), min_button_width("min_button_width", 0), max_button_width("max_button_width", S32_MAX), @@ -91,6 +94,7 @@ LLToolBar::Params::Params() LLToolBar::LLToolBar(const LLToolBar::Params& p) : LLUICtrl(p), + mReadOnly(p.read_only), mButtonType(p.button_display_mode), mSideType(p.side), mWrap(p.wrap), @@ -104,10 +108,47 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) mPadRight(p.pad_right), mPadTop(p.pad_top), mPadBottom(p.pad_bottom), - mPadBetween(p.pad_between) + mPadBetween(p.pad_between), + mPopupMenuHandle() { - mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; + mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; +} + +LLToolBar::~LLToolBar() +{ + LLView::deleteViewByHandle(mPopupMenuHandle); +} + +BOOL LLToolBar::postBuild() +{ + if (!mReadOnly) + { + LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar(); + commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2)); + + LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar(); + enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2)); + + // + // Setup the context menu + // + + LLMenuGL* menu = LLUICtrlFactory::instance().createFromFile<LLMenuGL>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance()); + + if (menu) + { + menu->setBackgroundColor(LLUIColorTable::instance().getColor("MenuPopupBgColor")); + + mPopupMenuHandle = menu->getHandle(); + } + else + { + llwarns << "Unable to load toolbars context menu." << llendl; + } + } + + return TRUE; } void LLToolBar::initFromParams(const LLToolBar::Params& p) @@ -199,6 +240,61 @@ bool LLToolBar::addCommand(LLCommand * command) return true; } +BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) +{ + BOOL handle_it_here = !mReadOnly; + + if (handle_it_here) + { + LLMenuGL * menu = (LLMenuGL *) mPopupMenuHandle.get(); + + if (menu) + { + LLMenuGL::showPopup(this, menu, x, y); + } + } + + return handle_it_here; +} + +BOOL LLToolBar::isSettingChecked(const LLSD& userdata) +{ + BOOL retval = FALSE; + + const std::string setting_name = userdata.asString(); + + if (setting_name == "icons_and_labels") + { + retval = (mButtonType == BTNTYPE_ICONS_WITH_TEXT); + } + else if (setting_name == "icons_only") + { + retval = (mButtonType == BTNTYPE_ICONS_ONLY); + } + + return retval; +} + +void LLToolBar::onSettingEnable(const LLSD& userdata) +{ + llassert(!mReadOnly); + + const std::string setting_name = userdata.asString(); + + const ButtonType current_button_type = mButtonType; + + if (setting_name == "icons_and_labels") + { + mButtonType = BTNTYPE_ICONS_WITH_TEXT; + } + else if (setting_name == "icons_only") + { + mButtonType = BTNTYPE_ICONS_ONLY; + } + + mNeedsLayout |= (current_button_type != mButtonType); +} + void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth) { // make buttons in current row all same girth @@ -264,8 +360,8 @@ void LLToolBar::updateLayoutAsNeeded() std::vector<LLToolBarButton*> buttons_in_row; - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { button->reshape(mMinButtonWidth, mButtonHeight); button->autoResize(); @@ -296,11 +392,11 @@ void LLToolBar::updateLayoutAsNeeded() cur_start = row_pad_start; cur_row += max_row_girth + mPadBetween; max_row_girth = 0; - } + } LLRect button_rect; if (orientation == LLLayoutStack::HORIZONTAL) - { + { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } else // VERTICAL @@ -340,8 +436,9 @@ void LLToolBar::updateLayoutAsNeeded() { // shift left to maintain right edge mButtonPanel->translate(mButtonPanel->getRect().getWidth() - total_girth, 0); } + mButtonPanel->reshape(total_girth, max_row_length); - } + } // re-center toolbar buttons mCenteringStack->updateLayout(); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 92c289cd3f7..5028c39fb83 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -51,8 +51,8 @@ namespace LLToolBarEnums { enum ButtonType { - BTNTYPE_ICONS_ONLY = 0, - BTNTYPE_ICONS_WITH_TEXT, + BTNTYPE_ICONS_WITH_TEXT = 0, + BTNTYPE_ICONS_ONLY, BTNTYPE_COUNT }; @@ -96,7 +96,9 @@ class LLToolBar Optional<LLToolBarButton::Params> button_icon, button_icon_and_text; - Optional<bool> wrap; + Optional<bool> read_only, + wrap; + Optional<S32> min_button_width, max_button_width, button_height; @@ -116,6 +118,7 @@ class LLToolBar // virtuals void draw(); + BOOL postBuild(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); bool addCommand(LLCommand * command); @@ -123,13 +126,20 @@ class LLToolBar protected: friend class LLUICtrlFactory; LLToolBar(const Params&); + ~LLToolBar(); void initFromParams(const Params&); + BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); + BOOL isSettingChecked(const LLSD& userdata); + void onSettingEnable(const LLSD& userdata); + private: void updateLayoutAsNeeded(); void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); + const bool mReadOnly; + std::list<LLToolBarButton*> mButtons; LLToolBarEnums::ButtonType mButtonType; LLLayoutStack* mCenteringStack; @@ -149,6 +159,8 @@ class LLToolBar mPadBetween; LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT]; + + LLHandle<LLView> mPopupMenuHandle; }; diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 5cb8ddffcd4..dbb0e8b7ca2 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -21,6 +21,7 @@ function="Floater.ToolbarToggle" param="chat" /> + <!-- Compass it not supported by the viewer yet <command name="compass" icon="Command_Compass_Icon" label_ref="Command_Compass_Label" @@ -28,6 +29,7 @@ function="Floater.ToolbarToggle" param="compass" /> + --> <command name="gestures" icon="Command_Gestures_Icon" label_ref="Command_Gestures_Label" @@ -56,6 +58,13 @@ function="Floater.ToolbarToggle" param="map" /> + <command name="minimap" + icon="Command_MiniMap_Icon" + label_ref="Command_MiniMap_Label" + tooltip_ref="Command_MiniMap_Tooltip" + function="Floater.ToolbarToggle" + param="minimap" + /> <command name="move" icon="Command_Move_Icon" label_ref="Command_Move_Label" diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index d68594097ce..8f2194e652d 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -133,6 +133,7 @@ with the same filename but different name <texture name="Command_HowTo_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="Command_Landmarks_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="Command_Map_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_MiniMap_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="Command_Move_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="Command_MyLand_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="Command_MyStuff_Icon" file_name="icons/SL_Logo.png" preload="true" /> diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 5f3a59d9647..1c9f20c496f 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -45,10 +45,12 @@ </text> <toolbar bottom="395" + button_display_mode="icons_with_text" left="40" max_button_width="140" - min_button_width="140" + min_button_width="70" name="toybox_toolbar" + read_only="true" right="-40" side="top" top="85"> diff --git a/indra/newview/skins/default/xui/en/menu_toolbars.xml b/indra/newview/skins/default/xui/en/menu_toolbars.xml new file mode 100644 index 00000000000..b3ecd3dcb67 --- /dev/null +++ b/indra/newview/skins/default/xui/en/menu_toolbars.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<menu bottom="825" + layout="topleft" + name="Toolbars Popup" + visible="false"> + <menu_item_call label="Choose buttons..." + layout="topleft" + name="Chose Buttons"> + <menu_item_call.on_click function="Floater.Show" + parameter="toybox" /> + </menu_item_call> + <menu_item_separator layout="topleft" /> + <menu_item_check label="Icons and labels" + layout="topleft" + name="icons_and_labels"> + <on_click function="Toolbars.EnableSetting" + parameter="icons_and_labels" /> + <on_check function="Toolbars.CheckSetting" + parameter="icons_and_labels" /> + </menu_item_check> + <menu_item_check label="Icons only" + layout="topleft" + name="icons_only"> + <on_click function="Toolbars.EnableSetting" + parameter="icons_only" /> + <on_check function="Toolbars.CheckSetting" + parameter="icons_only" /> + </menu_item_check> +</menu> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index d4c2bc50ca4..feea555fdcf 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3668,6 +3668,8 @@ Try enclosing path to the editor with double quotes. <string name="Command_Landmarks_Tooltip"></string> <string name="Command_Map_Label">Map</string> <string name="Command_Map_Tooltip"></string> + <string name="Command_MiniMap_Label">Mini Map</string> + <string name="Command_MiniMap_Tooltip"></string> <string name="Command_Move_Label">Move</string> <string name="Command_Move_Tooltip"></string> <string name="Command_MyLand_Label">My Land</string> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 45210277b2a..7346e5ce2d9 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -4,7 +4,8 @@ pad_right="5" pad_top="5" pad_bottom="5" - pad_between="5"> + pad_between="5" + read_only="false"> <button_panel name="button_panel" bg_opaque_image="Rounded_Rect" -- GitLab From e3199b98be55c7d3355258e836b6cab522922cfa Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 26 Sep 2011 15:19:04 -0700 Subject: [PATCH 038/213] EXP-1207 : Display toolbars only after login, use correct position (temporary), follow resize correctly, store pointers to toolbars, debug display (temporary) --- indra/llui/lltoolbarview.cpp | 35 +++++++++++----- indra/llui/lltoolbarview.h | 8 +++- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llviewerwindow.cpp | 12 ++++-- .../default/xui/en/panel_toolbar_view.xml | 40 +++++++++---------- 5 files changed, 62 insertions(+), 35 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index c99b573b358..0b0fcef52c7 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -37,7 +37,10 @@ LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); LLToolBarView::LLToolBarView(const LLToolBarView::Params& p) -: LLUICtrl(p) +: LLUICtrl(p), + mToolbarLeft(NULL), + mToolbarRight(NULL), + mToolbarBottom(NULL) { } @@ -51,20 +54,28 @@ LLToolBarView::~LLToolBarView() { } +BOOL LLToolBarView::postBuild() +{ + mToolbarLeft = getChild<LLToolBar>("toolbar_left"); + mToolbarRight = getChild<LLToolBar>("toolbar_right"); + mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); + return TRUE; +} + void LLToolBarView::draw() { static bool debug_print = true; static S32 old_width = 0; static S32 old_height = 0; - LLToolBar* toolbar_bottom = getChild<LLToolBar>("toolbar_bottom"); - LLToolBar* toolbar_left = getChild<LLToolBar>("toolbar_left"); - LLToolBar* toolbar_right = getChild<LLToolBar>("toolbar_right"); LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); - LLRect bottom_rect = toolbar_bottom->getRect(); - LLRect left_rect = toolbar_left->getRect(); - LLRect right_rect = toolbar_right->getRect(); + LLRect bottom_rect, left_rect, right_rect; + + if (mToolbarBottom) bottom_rect = mToolbarBottom->getRect(); + if (mToolbarLeft) left_rect = mToolbarLeft->getRect(); + if (mToolbarRight) right_rect = mToolbarRight->getRect(); + LLRect sizer_left_rect = sizer_left->getRect(); if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) @@ -83,11 +94,15 @@ void LLToolBarView::draw() } // Debug draw LLColor4 back_color = LLColor4::blue; + LLColor4 back_color_vert = LLColor4::red; + LLColor4 back_color_hori = LLColor4::yellow; back_color[VALPHA] = 0.5f; + back_color_hori[VALPHA] = 0.5f; + back_color_vert[VALPHA] = 0.5f; //gl_rect_2d(getLocalRect(), back_color, TRUE); - //gl_rect_2d(bottom_rect, LLColor4::red, TRUE); - //gl_rect_2d(left_rect, LLColor4::green, TRUE); - //gl_rect_2d(right_rect, LLColor4::yellow, TRUE); + gl_rect_2d(bottom_rect, back_color_hori, TRUE); + gl_rect_2d(left_rect, back_color_vert, TRUE); + gl_rect_2d(right_rect, back_color_vert, TRUE); LLUICtrl::draw(); } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 0e6545015d5..24735d69e95 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -29,6 +29,7 @@ #define LL_LLTOOLBARVIEW_H #include "lluictrl.h" +#include "lltoolbar.h" class LLUICtrlFactory; @@ -38,7 +39,10 @@ class LLToolBarView : public LLUICtrl { public: struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> {}; + virtual ~LLToolBarView(); + /*virtual*/ BOOL postBuild(); + virtual void draw(); // valid children for LLToolBarView are stored in this registry @@ -51,7 +55,9 @@ class LLToolBarView : public LLUICtrl void initFromParams(const Params&); private: - LLHandle<LLView> mSnapView; + LLToolBar* mToolbarLeft; + LLToolBar* mToolbarRight; + LLToolBar* mToolbarBottom; }; extern LLToolBarView* gToolBarView; diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index f1db72e5cc0..9a06423422f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1858,7 +1858,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>1</integer> + <integer>0</integer> </map> <key>Cursor3D</key> <map> diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 947f0ec1840..34ee8935947 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1779,7 +1779,7 @@ void LLViewerWindow::initBase() mHintHolder = main_view->getChild<LLView>("hint_holder")->getHandle(); mLoginPanelHolder = main_view->getChild<LLView>("login_panel_holder")->getHandle(); - // Update the toolbar global holder + // Create the toolbar view // *TODO: Eventually, suppress the existence of this debug setting and turn toolbar FUI on permanently if (gSavedSettings.getBOOL("DebugToolbarFUI")) { @@ -1787,8 +1787,8 @@ void LLViewerWindow::initBase() LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); // Load the toolbar view from file gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLDefaultChildRegistry::instance()); - // Attach it to the toolbar view holder - //panel_holder->addChild(gToolBarView); + // Hide the toolbars for the moment: we'll make them visible after logging in world (see LLViewerWindow::initWorldUI()) + gToolBarView->setVisible(FALSE); } // Constrain floaters to inside the menu and status bar regions. @@ -1953,6 +1953,12 @@ void LLViewerWindow::initWorldUI() buttons_panel->setShape(buttons_panel_container->getLocalRect()); buttons_panel->setFollowsAll(); buttons_panel_container->addChild(buttons_panel); + + // Make the toolbars visible + if (gToolBarView) + { + gToolBarView->setVisible(TRUE); + } } // Destroy the UI diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 67012668878..7503da1d36d 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -3,18 +3,32 @@ follows="all" layout="topleft" name="toolbar view" - height="500" + height="716" width="1024" left="0" top="0" mouse_opaque="false" tab_stop="false" visible="true"> + <panel + follows="top|bottom|left" + layout="topleft" + name="sizer_left" + height="686" + width="30" + left="0" + top="0" + background_opaque="false" + border_visible="false" + background_visible="true" + bg_opaque_image="Toast_Over" + bg_alpha_image="Toast_Background" + visible="true" /> <toolbar follows="top|bottom|left" layout="topleft" name="toolbar_left" - height="500" + height="686" width="30" left="0" top="0" @@ -26,9 +40,9 @@ layout="topleft" name="toolbar_bottom" height="30" - width="964" - left="30" - top="470" + width="1024" + left="0" + top="686" side="bottom" button_display_mode="icons_with_text" visible="true" /> @@ -36,25 +50,11 @@ follows="top|bottom|right" layout="topleft" name="toolbar_right" - height="500" + height="686" width="30" left="994" top="0" side="right" button_display_mode="icons_only" visible="true" /> - <panel - follows="top|bottom|left" - layout="topleft" - name="sizer_left" - height="500" - width="30" - left="0" - top="0" - background_opaque="false" - border_visible="false" - background_visible="true" - bg_opaque_image="Toast_Over" - bg_alpha_image="Toast_Background" - visible="true" /> </toolbar_view> -- GitLab From bb1776de6865715b2dd96185140d35e46d63c837 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 26 Sep 2011 16:06:57 -0700 Subject: [PATCH 039/213] EXP-1207 : Introduced an hasCommand() method for toolbars and toolbar view --- indra/llui/lltoolbar.cpp | 14 ++++++++++++++ indra/llui/lltoolbar.h | 1 + indra/llui/lltoolbarview.cpp | 18 ++++++++++++++++++ indra/llui/lltoolbarview.h | 2 ++ 4 files changed, 35 insertions(+) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a9513b759a8..5802d2adda6 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -240,6 +240,20 @@ bool LLToolBar::addCommand(LLCommand * command) return true; } +bool LLToolBar::hasCommand(const std::string& command_name) +{ + bool has_command = false; + for (std::list<LLToolBarButton*>::iterator cmd = mButtons.begin(); cmd != mButtons.end(); cmd++) + { + if ((*cmd)->getName() == command_name) + { + has_command = true; + break; + } + } + return has_command; +} + BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) { BOOL handle_it_here = !mReadOnly; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 5028c39fb83..00e6ed131a1 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -122,6 +122,7 @@ class LLToolBar void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); bool addCommand(LLCommand * command); + bool hasCommand(const std::string& command_name); protected: friend class LLUICtrlFactory; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 0b0fcef52c7..3b4960fdd57 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -62,6 +62,24 @@ BOOL LLToolBarView::postBuild() return TRUE; } +bool LLToolBarView::hasCommand(const std::string& command_name) +{ + bool has_command = false; + if (mToolbarLeft && !has_command) + { + has_command = mToolbarLeft->hasCommand(command_name); + } + if (mToolbarRight && !has_command) + { + has_command = mToolbarRight->hasCommand(command_name); + } + if (mToolbarBottom && !has_command) + { + has_command = mToolbarBottom->hasCommand(command_name); + } + return has_command; +} + void LLToolBarView::draw() { static bool debug_print = true; diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 24735d69e95..65d339315b8 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -45,6 +45,8 @@ class LLToolBarView : public LLUICtrl virtual void draw(); + bool hasCommand(const std::string& command_name); + // valid children for LLToolBarView are stored in this registry typedef LLDefaultChildRegistry child_registry_t; -- GitLab From a465f816b8e7674aa3f22023d7708106ca35b350 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 26 Sep 2011 17:36:07 -0700 Subject: [PATCH 040/213] EXP-1239 FIX make toolbars wrap when there is not enough room toolbars resize to fit buttons toolbar view uses layout stacks to organize toolbars reviewed by Leslie --- indra/llui/llcommandmanager.cpp | 2 +- indra/llui/lldockcontrol.cpp | 3 +- indra/llui/lltoolbar.cpp | 27 ++-- indra/llui/lltoolbarview.cpp | 3 - indra/newview/llviewerwindow.cpp | 1 + .../default/xui/en/panel_toolbar_view.xml | 146 ++++++++++++------ .../skins/default/xui/en/widgets/toolbar.xml | 3 +- 7 files changed, 114 insertions(+), 71 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 6be616b9809..071ab24cda7 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -109,7 +109,7 @@ void LLCommandManager::addCommand(LLCommand * command) mCommandIndices[command->name()] = mCommands.size(); mCommands.push_back(command); - llinfos << "Successfully added command: " << command->name() << llendl; + lldebugs << "Successfully added command: " << command->name() << llendl; } //static diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp index b1c27126d9b..6e39fcd714f 100644 --- a/indra/llui/lldockcontrol.cpp +++ b/indra/llui/lldockcontrol.cpp @@ -97,6 +97,7 @@ void LLDockControl::getAllowedRect(LLRect& rect) void LLDockControl::repositionDockable() { + if (!mDockWidget) return; LLRect dockRect = mDockWidget->calcScreenRect(); LLRect rootRect; mGetAllowedRectCallback(rootRect); @@ -160,7 +161,7 @@ bool LLDockControl::isDockVisible() case TOP: { // check is dock inside parent rect - // assume that parent for all dockable flaoters + // assume that parent for all dockable floaters // is the root view LLRect dockParentRect = mDockWidget->getRootView()->calcScreenRect(); diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 31a18dc7073..90ade136e82 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -122,6 +122,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) centering_stack_p.rect = getLocalRect(); centering_stack_p.follows.flags = FOLLOWS_ALL; centering_stack_p.orientation = orientation; + centering_stack_p.mouse_opaque = false; mCenteringStack = LLUICtrlFactory::create<LLLayoutStack>(centering_stack_p); addChild(mCenteringStack); @@ -131,6 +132,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) border_panel_p.rect = getLocalRect(); border_panel_p.auto_resize = true; border_panel_p.user_resize = false; + border_panel_p.mouse_opaque = false; mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); @@ -145,21 +147,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) LLPanel::Params button_panel_p(p.button_panel); button_panel_p.rect = center_panel->getLocalRect(); - switch(p.side()) - { - case SIDE_LEFT: - button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; - break; - case SIDE_RIGHT: - button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_RIGHT; - break; - case SIDE_TOP: - button_panel_p.follows.flags = FOLLOWS_TOP|FOLLOWS_LEFT; - break; - case SIDE_BOTTOM: - button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; - break; - } + button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; mButtonPanel = LLUICtrlFactory::create<LLPanel>(button_panel_p); center_panel->addChild(mButtonPanel); @@ -329,19 +317,22 @@ void LLToolBar::updateLayoutAsNeeded() { if (mSideType == SIDE_TOP) { // shift down to maintain top edge - mButtonPanel->translate(0, mButtonPanel->getRect().getHeight() - total_girth); + translate(0, getRect().getHeight() - total_girth); } + reshape(getRect().getWidth(), total_girth); mButtonPanel->reshape(max_row_length, total_girth); } else // VERTICAL { if (mSideType == SIDE_RIGHT) { // shift left to maintain right edge - mButtonPanel->translate(mButtonPanel->getRect().getWidth() - total_girth, 0); + translate(getRect().getWidth() - total_girth, 0); } + + reshape(total_girth, getRect().getHeight()); mButtonPanel->reshape(total_girth, max_row_length); - } + } // re-center toolbar buttons mCenteringStack->updateLayout(); diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index c99b573b358..27d67184d8e 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -60,12 +60,10 @@ void LLToolBarView::draw() LLToolBar* toolbar_bottom = getChild<LLToolBar>("toolbar_bottom"); LLToolBar* toolbar_left = getChild<LLToolBar>("toolbar_left"); LLToolBar* toolbar_right = getChild<LLToolBar>("toolbar_right"); - LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); LLRect bottom_rect = toolbar_bottom->getRect(); LLRect left_rect = toolbar_left->getRect(); LLRect right_rect = toolbar_right->getRect(); - LLRect sizer_left_rect = sizer_left->getRect(); if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) debug_print = true; @@ -76,7 +74,6 @@ void LLToolBarView::draw() llinfos << "Merov debug : draw bottom rect = " << bottom_rect.mLeft << ", " << bottom_rect.mTop << ", " << bottom_rect.mRight << ", " << bottom_rect.mBottom << llendl; llinfos << "Merov debug : draw left rect = " << left_rect.mLeft << ", " << left_rect.mTop << ", " << left_rect.mRight << ", " << left_rect.mBottom << llendl; llinfos << "Merov debug : draw right rect = " << right_rect.mLeft << ", " << right_rect.mTop << ", " << right_rect.mRight << ", " << right_rect.mBottom << llendl; - llinfos << "Merov debug : draw s left rect = " << sizer_left_rect.mLeft << ", " << sizer_left_rect.mTop << ", " << sizer_left_rect.mRight << ", " << sizer_left_rect.mBottom << llendl; old_width = ctrl_rect.getWidth(); old_height = ctrl_rect.getHeight(); debug_print = false; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 947f0ec1840..4a20be63f6a 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1787,6 +1787,7 @@ void LLViewerWindow::initBase() LLPanel* panel_holder = main_view->getChild<LLPanel>("toolbar_view_holder"); // Load the toolbar view from file gToolBarView = LLUICtrlFactory::getInstance()->createFromFile<LLToolBarView>("panel_toolbar_view.xml", panel_holder, LLDefaultChildRegistry::instance()); + gToolBarView->setShape(panel_holder->getLocalRect()); // Attach it to the toolbar view holder //panel_holder->addChild(gToolBarView); } diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 67012668878..b24f5c33476 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -10,51 +10,103 @@ mouse_opaque="false" tab_stop="false" visible="true"> - <toolbar - follows="top|bottom|left" - layout="topleft" - name="toolbar_left" - height="500" - width="30" - left="0" - top="0" - side="left" - button_display_mode="icons_only" - visible="true" /> - <toolbar - follows="right|bottom|left" - layout="topleft" - name="toolbar_bottom" - height="30" - width="964" - left="30" - top="470" - side="bottom" - button_display_mode="icons_with_text" - visible="true" /> - <toolbar - follows="top|bottom|right" - layout="topleft" - name="toolbar_right" - height="500" - width="30" - left="994" - top="0" - side="right" - button_display_mode="icons_only" - visible="true" /> - <panel - follows="top|bottom|left" - layout="topleft" - name="sizer_left" - height="500" - width="30" - left="0" - top="0" - background_opaque="false" - border_visible="false" - background_visible="true" - bg_opaque_image="Toast_Over" - bg_alpha_image="Toast_Background" - visible="true" /> + <layout_stack name="bottom_toolbar_stack" + orientation="vertical" + left="0" + top="0" + width="1024" + height="500" + follows="all" + mouse_opaque="false"> + <layout_panel name="vertical_toolbar_panel" + auto_resize="true" + user_resize="false" + width="1024" + height="500" + mouse_opaque="false"> + <layout_stack name="vertical_toolbar_stack" + orientation="horizontal" + left="0" + top="0" + width="1024" + height="500" + follows="all" + mouse_opaque="false"> + <layout_panel name="left_toolbar_panel" + fit_content="true" + auto_resize="false" + user_resize="false" + height="500" + width="30" + mouse_opaque="false"> + <toolbar follows="left|top|bottom" + name="toolbar_left" + height="500" + width="30" + left="0" + top="0" + side="left" + button_display_mode="icons_only"> + <button name="button1" label="Left Toolbar"/> + <button name="button2" label="Left Toolbar"/> + <button name="button3" label="Left Toolbar"/> + <button name="button4" label="Left Toolbar"/> + <button name="button5" label="Left Toolbar"/> + </toolbar> + </layout_panel> + <layout_panel name="non_toolbar_panel" + auto_resize="true" + user_resize="false" + mouse_opaque="false"/> + <layout_panel name="right_toolbar_panel" + fit_content="true" + auto_resize="false" + user_resize="false" + height="500" + width="30" + mouse_opaque="false"> + <toolbar + follows="right|top|bottom" + name="toolbar_right" + height="500" + width="30" + left="0" + top="0" + side="right" + button_display_mode="icons_only"> + <button name="button1" label="Right Toolbar"/> + <button name="button2" label="Right Toolbar"/> + <button name="button3" label="Right Toolbar"/> + <button name="button4" label="Right Toolbar"/> + <button name="button5" label="Right Toolbar"/> + </toolbar> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="bottom_toolbar_panel" + fit_content="true" + auto_resize="false" + user_resize="false" + height="30" + width="1024" + mouse_opaque="false"> + <toolbar layout="topleft" + name="toolbar_bottom" + height="30" + width="1024" + left="0" + top="0" + side="bottom" + follows="left|right|bottom" + button_display_mode="icons_with_text" + visible="true"> + <button name="button1" label="Bottom toolbar"/> + <button name="button2" label="Bottom toolbar"/> + <button name="button3" label="Bottom toolbar"/> + <button name="button4" label="Bottom toolbar"/> + <button name="button5" label="Bottom toolbar"/> + <button name="button6" label="Bottom toolbar"/> + </toolbar> + </layout_panel> + </layout_stack> </toolbar_view> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 45210277b2a..69fd6f569c4 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -4,7 +4,8 @@ pad_right="5" pad_top="5" pad_bottom="5" - pad_between="5"> + pad_between="5" + mouse_opaque="false"> <button_panel name="button_panel" bg_opaque_image="Rounded_Rect" -- GitLab From 53a486649381af53d21de28aced388bc2aacac0f Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 26 Sep 2011 17:38:10 -0700 Subject: [PATCH 041/213] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars * Command buttons are now enabled/disabled in toybox based on whether or not the LLToolBarView has them anywhere. * Commands now have argument to specify whether or not they should be in the toybox. * LLCommandId is now used a universal reference for commands. Reviewed by Richard. --- indra/llui/llcommandmanager.cpp | 24 ++++--- indra/llui/llcommandmanager.h | 50 +++++++++++-- indra/llui/lltoolbar.cpp | 71 +++++++++++++------ indra/llui/lltoolbar.h | 11 +-- indra/llui/lltoolbarview.cpp | 8 +-- indra/llui/lltoolbarview.h | 3 +- indra/newview/app_settings/commands.xml | 23 +++++- indra/newview/llfloatertoybox.cpp | 9 ++- .../skins/default/xui/en/floater_toybox.xml | 21 +++--- 9 files changed, 167 insertions(+), 53 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 6be616b9809..62e1d186f57 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -37,12 +37,19 @@ #include <boost/foreach.hpp> +// +// LLCommandId class +// + +const LLCommandId LLCommandId::null("null command"); + // // LLCommand class // LLCommand::Params::Params() : function("function") + , available_in_toybox("available_in_toybox", false) , icon("icon") , label_ref("label_ref") , name("name") @@ -53,9 +60,10 @@ LLCommand::Params::Params() LLCommand::LLCommand(const LLCommand::Params& p) : mFunction(p.function) + , mAvailableInToybox(p.available_in_toybox) , mIcon(p.icon) + , mIdentifier(p.name) , mLabelRef(p.label_ref) - , mName(p.name) , mParam(p.param) , mTooltipRef(p.tooltip_ref) { @@ -90,26 +98,26 @@ LLCommand * LLCommandManager::getCommand(U32 commandIndex) return mCommands[commandIndex]; } -LLCommand * LLCommandManager::getCommand(const std::string& commandName) +LLCommand * LLCommandManager::getCommand(const LLCommandId& commandId) { - LLCommand * command_name_match = NULL; + LLCommand * command_match = NULL; - CommandIndexMap::const_iterator found = mCommandIndices.find(commandName); + CommandIndexMap::const_iterator found = mCommandIndices.find(commandId); if (found != mCommandIndices.end()) { - command_name_match = mCommands[found->second]; + command_match = mCommands[found->second]; } - return command_name_match; + return command_match; } void LLCommandManager::addCommand(LLCommand * command) { - mCommandIndices[command->name()] = mCommands.size(); + mCommandIndices[command->id()] = mCommands.size(); mCommands.push_back(command); - llinfos << "Successfully added command: " << command->name() << llendl; + llinfos << "Successfully added command: " << command->id().name() << llendl; } //static diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 24378ecd620..5b53b655001 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -31,11 +31,50 @@ #include "llsingleton.h" +class LLCommand; +class LLCommandManager; + + +class LLCommandId +{ +public: + friend LLCommand; + friend LLCommandManager; + + LLCommandId(const std::string& name) + : mName(name) + { + } + + const std::string& name() const { return mName; } + + bool operator!=(const LLCommandId& command) const + { + return (mName != command.mName); + } + + bool operator==(const LLCommandId& command) const + { + return (mName == command.mName); + } + + bool operator<(const LLCommandId& command) const + { + return (mName < command.mName); + } + + static const LLCommandId null; + +private: + std::string mName; +}; + class LLCommand { public: struct Params : public LLInitParam::Block<Params> { + Mandatory<bool> available_in_toybox; Mandatory<std::string> function; Mandatory<std::string> icon; Mandatory<std::string> label_ref; @@ -48,18 +87,21 @@ class LLCommand LLCommand(const LLCommand::Params& p); + const bool availableInToybox() const { return mAvailableInToybox; } const std::string& functionName() const { return mFunction; } const std::string& icon() const { return mIcon; } + const LLCommandId& id() const { return mIdentifier; } const std::string& labelRef() const { return mLabelRef; } - const std::string& name() const { return mName; } const std::string& param() const { return mParam; } const std::string& tooltipRef() const { return mTooltipRef; } private: + LLCommandId mIdentifier; + + bool mAvailableInToybox; std::string mFunction; std::string mIcon; std::string mLabelRef; - std::string mName; std::string mParam; std::string mTooltipRef; }; @@ -84,7 +126,7 @@ class LLCommandManager U32 commandCount() const; LLCommand * getCommand(U32 commandIndex); - LLCommand * getCommand(const std::string& commandName); + LLCommand * getCommand(const LLCommandId& commandId); static bool load(); @@ -92,7 +134,7 @@ class LLCommandManager void addCommand(LLCommand * command); private: - typedef std::map<std::string, U32> CommandIndexMap; + typedef std::map<LLCommandId, U32> CommandIndexMap; typedef std::vector<LLCommand *> CommandVector; CommandVector mCommands; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 5802d2adda6..1e1cb16fbb9 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -30,7 +30,6 @@ #include <boost/foreach.hpp> #include "lltoolbar.h" -#include "llcommandmanager.h" #include "llmenugl.h" #include "lltrans.h" @@ -212,48 +211,79 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) LLToolBarButton* buttonp = LLUICtrlFactory::create<LLToolBarButton>(button_p); mButtons.push_back(buttonp); + mButtonCommands.push_back(LLCommandId::null); mButtonPanel->addChild(buttonp); mNeedsLayout = true; } } -bool LLToolBar::addCommand(LLCommand * command) +bool LLToolBar::addCommand(const LLCommandId& commandId) { + LLCommand * command = LLCommandManager::instance().getCommand(commandId); + + bool add_command = (command != NULL); + // // Init basic toolbar button params // - LLToolBarButton::Params button_p(mButtonParams[mButtonType]); - button_p.name = command->name(); - button_p.label = LLTrans::getString(command->labelRef()); - button_p.tool_tip = LLTrans::getString(command->tooltipRef()); + if (add_command) + { + LLToolBarButton::Params button_p(mButtonParams[mButtonType]); + button_p.name = commandId.name(); + button_p.label = LLTrans::getString(command->labelRef()); + button_p.tool_tip = LLTrans::getString(command->tooltipRef()); - // - // Add it to the list of buttons - // - LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); - mButtons.push_back(toolbar_button); - mButtonPanel->addChild(toolbar_button); + // + // Add it to the list of buttons + // + LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + mButtons.push_back(toolbar_button); + mButtonCommands.push_back(commandId); + mButtonPanel->addChild(toolbar_button); - mNeedsLayout = true; + mNeedsLayout = true; + } - return true; + return add_command; } -bool LLToolBar::hasCommand(const std::string& command_name) +bool LLToolBar::hasCommand(const LLCommandId& commandId) const { bool has_command = false; - for (std::list<LLToolBarButton*>::iterator cmd = mButtons.begin(); cmd != mButtons.end(); cmd++) + + if (commandId != LLCommandId::null) { - if ((*cmd)->getName() == command_name) + for (std::list<LLCommandId>::const_iterator cmd = mButtonCommands.begin(); cmd != mButtonCommands.end(); ++cmd) { - has_command = true; - break; + if ((*cmd) == commandId) + { + has_command = true; + break; + } } } + return has_command; } +bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) +{ + LLButton * command_button = NULL; + + if (commandId != LLCommandId::null) + { + command_button = mButtonPanel->findChild<LLButton>(commandId.name()); + + if (command_button) + { + command_button->setEnabled(enabled); + } + } + + return (command_button != NULL); +} + BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) { BOOL handle_it_here = !mReadOnly; @@ -351,7 +381,6 @@ void LLToolBar::updateLayoutAsNeeded() max_length = getRect().getWidth() - mPadLeft - mPadRight; max_total_girth = getRect().getHeight() - mPadTop - mPadBottom; row_pad_start = mPadLeft; - row_running_length = row_pad_start; row_pad_end = mPadRight; cur_row = mPadTop; girth_pad_end = mPadBottom; @@ -361,12 +390,12 @@ void LLToolBar::updateLayoutAsNeeded() max_length = getRect().getHeight() - mPadTop - mPadBottom; max_total_girth = getRect().getWidth() - mPadLeft - mPadRight; row_pad_start = mPadTop; - row_running_length = row_pad_start; row_pad_end = mPadBottom; cur_row = mPadLeft; girth_pad_end = mPadRight; } + row_running_length = row_pad_start; cur_start = row_pad_start; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 00e6ed131a1..f7562b29d24 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -28,9 +28,10 @@ #ifndef LL_LLTOOLBAR_H #define LL_LLTOOLBAR_H -#include "lluictrl.h" -#include "lllayoutstack.h" #include "llbutton.h" +#include "llcommandmanager.h" +#include "lllayoutstack.h" +#include "lluictrl.h" class LLCommand; @@ -121,8 +122,9 @@ class LLToolBar BOOL postBuild(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); - bool addCommand(LLCommand * command); - bool hasCommand(const std::string& command_name); + bool addCommand(const LLCommandId& commandId); + bool hasCommand(const LLCommandId& commandId) const; + bool enableCommand(const LLCommandId& commandId, bool enabled); protected: friend class LLUICtrlFactory; @@ -142,6 +144,7 @@ class LLToolBar const bool mReadOnly; std::list<LLToolBarButton*> mButtons; + std::list<LLCommandId> mButtonCommands; LLToolBarEnums::ButtonType mButtonType; LLLayoutStack* mCenteringStack; LLLayoutStack* mWrapStack; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 3b4960fdd57..6c29e566b81 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -62,20 +62,20 @@ BOOL LLToolBarView::postBuild() return TRUE; } -bool LLToolBarView::hasCommand(const std::string& command_name) +bool LLToolBarView::hasCommand(const LLCommandId& commandId) const { bool has_command = false; if (mToolbarLeft && !has_command) { - has_command = mToolbarLeft->hasCommand(command_name); + has_command = mToolbarLeft->hasCommand(commandId); } if (mToolbarRight && !has_command) { - has_command = mToolbarRight->hasCommand(command_name); + has_command = mToolbarRight->hasCommand(commandId); } if (mToolbarBottom && !has_command) { - has_command = mToolbarBottom->hasCommand(command_name); + has_command = mToolbarBottom->hasCommand(commandId); } return has_command; } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 65d339315b8..2e7885f3911 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -30,6 +30,7 @@ #include "lluictrl.h" #include "lltoolbar.h" +#include "llcommandmanager.h" class LLUICtrlFactory; @@ -45,7 +46,7 @@ class LLToolBarView : public LLUICtrl virtual void draw(); - bool hasCommand(const std::string& command_name); + bool hasCommand(const LLCommandId& commandId) const; // valid children for LLToolBarView are stored in this registry typedef LLDefaultChildRegistry child_registry_t; diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index dbb0e8b7ca2..4a33b24075a 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <commands> <command name="avatar" + available_in_toybox="true" icon="Command_Avatar_Icon" label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" @@ -8,6 +9,7 @@ param="avatar" /> <command name="build" + available_in_toybox="true" icon="Command_Build_Icon" label_ref="Command_Build_Label" tooltip_ref="Command_Build_Tooltip" @@ -15,22 +17,23 @@ param="build" /> <command name="chat" + available_in_toybox="true" icon="Command_Chat_Icon" label_ref="Command_Chat_Label" tooltip_ref="Command_Chat_Tooltip" function="Floater.ToolbarToggle" param="chat" /> - <!-- Compass it not supported by the viewer yet <command name="compass" + available_in_toybox="false" icon="Command_Compass_Icon" label_ref="Command_Compass_Label" tooltip_ref="Command_Compass_Tooltip" function="Floater.ToolbarToggle" param="compass" /> - --> <command name="gestures" + available_in_toybox="true" icon="Command_Gestures_Icon" label_ref="Command_Gestures_Label" tooltip_ref="Command_Gestures_Tooltip" @@ -38,6 +41,7 @@ param="gestures" /> <command name="howto" + available_in_toybox="true" icon="Command_HowTo_Icon" label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" @@ -45,6 +49,7 @@ param="howto" /> <command name="landmarks" + available_in_toybox="true" icon="Command_Landmarks_Icon" label_ref="Command_Landmarks_Label" tooltip_ref="Command_Landmarks_Tooltip" @@ -52,6 +57,7 @@ param="landmarks" /> <command name="map" + available_in_toybox="true" icon="Command_Map_Icon" label_ref="Command_Map_Label" tooltip_ref="Command_Map_Tooltip" @@ -59,6 +65,7 @@ param="map" /> <command name="minimap" + available_in_toybox="true" icon="Command_MiniMap_Icon" label_ref="Command_MiniMap_Label" tooltip_ref="Command_MiniMap_Tooltip" @@ -66,6 +73,7 @@ param="minimap" /> <command name="move" + available_in_toybox="true" icon="Command_Move_Icon" label_ref="Command_Move_Label" tooltip_ref="Command_Move_Tooltip" @@ -73,6 +81,7 @@ param="move" /> <command name="myland" + available_in_toybox="true" icon="Command_MyLand_Icon" label_ref="Command_MyLand_Label" tooltip_ref="Command_MyLand_Tooltip" @@ -80,6 +89,7 @@ param="myland" /> <command name="mystuff" + available_in_toybox="true" icon="Command_MyStuff_Icon" label_ref="Command_MyStuff_Label" tooltip_ref="Command_MyStuff_Tooltip" @@ -87,6 +97,7 @@ param="mystuff" /> <command name="people" + available_in_toybox="true" icon="Command_People_Icon" label_ref="Command_People_Label" tooltip_ref="Command_People_Tooltip" @@ -94,6 +105,7 @@ param="people" /> <command name="places" + available_in_toybox="true" icon="Command_Places_Icon" label_ref="Command_Places_Label" tooltip_ref="Command_Places_Tooltip" @@ -101,6 +113,7 @@ param="places" /> <command name="search" + available_in_toybox="true" icon="Command_Search_Icon" label_ref="Command_Search_Label" tooltip_ref="Command_Search_Tooltip" @@ -108,6 +121,7 @@ param="search" /> <command name="settings" + available_in_toybox="true" icon="Command_Settings_Icon" label_ref="Command_Settings_Label" tooltip_ref="Command_Settings_Tooltip" @@ -115,6 +129,7 @@ param="settings" /> <command name="shop" + available_in_toybox="true" icon="Command_Shop_Icon" label_ref="Command_Shop_Label" tooltip_ref="Command_Shop_Tooltip" @@ -122,6 +137,7 @@ param="shop" /> <command name="snapshot" + available_in_toybox="true" icon="Command_Snapshot_Icon" label_ref="Command_Snapshot_Label" tooltip_ref="Command_Snapshot_Tooltip" @@ -129,6 +145,7 @@ param="snapshot" /> <command name="speak" + available_in_toybox="true" icon="Command_Speak_Icon" label_ref="Command_Speak_Label" tooltip_ref="Command_Speak_Tooltip" @@ -136,6 +153,7 @@ param="speak" /> <command name="upload" + available_in_toybox="true" icon="Command_Upload_Icon" label_ref="Command_Upload_Label" tooltip_ref="Command_Upload_Tooltip" @@ -143,6 +161,7 @@ param="upload" /> <command name="view" + available_in_toybox="true" icon="Command_View_Icon" label_ref="Command_View_Label" tooltip_ref="Command_View_Tooltip" diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index eaaaeb3357a..beb928ea361 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -32,6 +32,7 @@ #include "llcommandmanager.h" #include "llpanel.h" #include "lltoolbar.h" +#include "lltoolbarview.h" LLFloaterToybox::LLFloaterToybox(const LLSD& key) @@ -63,7 +64,13 @@ BOOL LLFloaterToybox::postBuild() { LLCommand * command = cmdMgr.getCommand(i); - mToolBar->addCommand(command); + if (command->availableInToybox()) + { + mToolBar->addCommand(command->id()); + + llassert(gToolBarView != NULL); + mToolBar->enableCommand(command->id(), !gToolBarView->hasCommand(command->id())); + } } return TRUE; diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 1c9f20c496f..60a39b0bff7 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -14,17 +14,17 @@ save_rect="true" single_instance="true" title="Customize toolbars" - width="658"> + width="650"> <text follows="left|top" font="SansSerifMedium" halign="left" height="20" layout="topleft" - left="40" + left="20" length="1" name="toybox label 1" - right="-40" + right="-20" top="35" type="string"> Add or remove buttons by dragging them to or from the toolbars. @@ -35,10 +35,10 @@ halign="left" height="20" layout="topleft" - left="40" + left="20" length="1" name="toybox label 2" - right="-40" + right="-20" top="55" type="string"> Buttons will appear as shown or as icon-only depending on each toolbar's settings. @@ -46,12 +46,17 @@ <toolbar bottom="395" button_display_mode="icons_with_text" - left="40" + left="20" max_button_width="140" min_button_width="70" name="toybox_toolbar" + pad_left="5" + pad_right="5" + pad_top="5" + pad_bottom="5" + pad_between="15" read_only="true" - right="-40" + right="-20" side="top" top="85"> </toolbar> @@ -61,7 +66,7 @@ label="Restore defaults" label_selected="Restore defaults" layout="topleft" - left="40" + left="20" name="btn_restore_defaults" top="415" width="130"> -- GitLab From 87318979bf8ce1ba68c1e90190737cf99ecc7c50 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 26 Sep 2011 18:04:50 -0700 Subject: [PATCH 042/213] EXP-1202 : Fix Mac compilation failure --- indra/llui/llcommandmanager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 5b53b655001..7ed8785f17f 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -38,8 +38,8 @@ class LLCommandManager; class LLCommandId { public: - friend LLCommand; - friend LLCommandManager; + friend class LLCommand; + friend class LLCommandManager; LLCommandId(const std::string& name) : mName(name) -- GitLab From 7fd0e8c69e6dced4a770da4fac10c154eac5899f Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 26 Sep 2011 18:51:43 -0700 Subject: [PATCH 043/213] fixed toolbar context menu deprecated pointless LLView::deleteViewByHandle --- indra/llui/llmenugl.cpp | 2 +- indra/llui/lltoolbar.cpp | 18 +++++++----------- indra/llui/lltoolbar.h | 11 +++++------ indra/llui/lltoolbarview.cpp | 6 +++--- indra/llui/llview.cpp | 7 ------- indra/llui/llview.h | 1 - indra/newview/llfavoritesbar.cpp | 4 ++-- indra/newview/llfloatersnapshot.cpp | 2 +- indra/newview/llfolderview.cpp | 4 ++-- indra/newview/llgrouplist.cpp | 2 +- indra/newview/llpanelpeople.cpp | 10 +++++----- indra/newview/llpanelteleporthistory.cpp | 2 +- .../skins/default/xui/en/menu_toolbars.xml | 4 ++-- .../skins/default/xui/en/widgets/toolbar.xml | 1 - 14 files changed, 30 insertions(+), 44 deletions(-) diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 6cac841cdea..badba7a416c 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -947,7 +947,7 @@ LLMenuItemBranchGL::LLMenuItemBranchGL(const LLMenuItemBranchGL::Params& p) LLMenuItemBranchGL::~LLMenuItemBranchGL() { - LLView::deleteViewByHandle(mBranchHandle); + delete mBranchHandle.get(); } // virtual diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 278c04aef8e..bd45cf46567 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -116,12 +116,12 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) LLToolBar::~LLToolBar() { - LLView::deleteViewByHandle(mPopupMenuHandle); + delete mPopupMenuHandle.get(); } -BOOL LLToolBar::postBuild() +void LLToolBar::createContextMenu() { - if (!mReadOnly) + if (!mPopupMenuHandle.get()) { LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar(); commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2)); @@ -129,11 +129,7 @@ BOOL LLToolBar::postBuild() LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar(); enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2)); - // - // Setup the context menu - // - - LLMenuGL* menu = LLUICtrlFactory::instance().createFromFile<LLMenuGL>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance()); + LLContextMenu* menu = LLUICtrlFactory::instance().createFromFile<LLContextMenu>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance()); if (menu) { @@ -146,8 +142,6 @@ BOOL LLToolBar::postBuild() llwarns << "Unable to load toolbars context menu." << llendl; } } - - return TRUE; } void LLToolBar::initFromParams(const LLToolBar::Params& p) @@ -278,10 +272,12 @@ BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) if (handle_it_here) { - LLMenuGL * menu = (LLMenuGL *) mPopupMenuHandle.get(); + createContextMenu(); + LLContextMenu * menu = (LLContextMenu *) mPopupMenuHandle.get(); if (menu) { + menu->show(x, y); LLMenuGL::showPopup(this, menu, x, y); } } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index f7562b29d24..657e9283193 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -119,8 +119,8 @@ class LLToolBar // virtuals void draw(); - BOOL postBuild(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); bool addCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; @@ -133,13 +133,12 @@ class LLToolBar void initFromParams(const Params&); - BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); - BOOL isSettingChecked(const LLSD& userdata); - void onSettingEnable(const LLSD& userdata); - private: + void createContextMenu(); void updateLayoutAsNeeded(); void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); + BOOL isSettingChecked(const LLSD& userdata); + void onSettingEnable(const LLSD& userdata); const bool mReadOnly; @@ -164,7 +163,7 @@ class LLToolBar LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT]; - LLHandle<LLView> mPopupMenuHandle; + LLHandle<class LLContextMenu> mPopupMenuHandle; }; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 21d3785c822..6ae10fbf1dc 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -90,9 +90,9 @@ void LLToolBarView::draw() LLRect bottom_rect, left_rect, right_rect; - if (mToolbarBottom) bottom_rect = mToolbarBottom->getRect(); - if (mToolbarLeft) left_rect = mToolbarLeft->getRect(); - if (mToolbarRight) right_rect = mToolbarRight->getRect(); + if (mToolbarBottom) mToolbarBottom->localRectToOtherView(mToolbarBottom->getLocalRect(), &bottom_rect, this); + if (mToolbarLeft) mToolbarLeft->localRectToOtherView(mToolbarLeft->getLocalRect(), &left_rect, this); + if (mToolbarRight) mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index 60452b9ae4d..e10c2f0d1e2 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -1826,13 +1826,6 @@ LLView* LLView::findNextSibling(LLView* child) return (next_it != mChildList.end()) ? *next_it : NULL; } -void LLView::deleteViewByHandle(LLHandle<LLView> handle) -{ - LLView* viewp = handle.get(); - - delete viewp; -} - LLCoordGL getNeededTranslation(const LLRect& input, const LLRect& constraint, BOOL allow_partial_outside) { diff --git a/indra/llui/llview.h b/indra/llui/llview.h index 594a5eec6be..7a1b2e4ba04 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -482,7 +482,6 @@ class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElem // return query for iterating over focus roots in tab order static const LLCtrlQuery & getFocusRootsQuery(); - static void deleteViewByHandle(LLHandle<LLView> handle); static LLWindow* getWindow(void) { return LLUI::sWindow; } // Set up params after XML load before calling new(), diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 0b17d64eb07..836c580ea89 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -403,8 +403,8 @@ LLFavoritesBarCtrl::~LLFavoritesBarCtrl() { gInventory.removeObserver(this); - LLView::deleteViewByHandle(mOverflowMenuHandle); - LLView::deleteViewByHandle(mContextMenuHandle); + delete mOverflowMenuHandle.get(); + delete mContextMenuHandle.get(); } BOOL LLFavoritesBarCtrl::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 00dc7b16275..9d020517d84 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -2112,7 +2112,7 @@ LLFloaterSnapshot::LLFloaterSnapshot(const LLSD& key) // Destroys the object LLFloaterSnapshot::~LLFloaterSnapshot() { - LLView::deleteViewByHandle(impl.mPreviewHandle); + delete impl.mPreviewHandle.get(); //unfreeze everything else gSavedSettings.setBOOL("FreezeTime", FALSE); diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 9ba5f827e25..6ec2598e447 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -299,7 +299,7 @@ LLFolderView::~LLFolderView( void ) mAutoOpenItems.removeAllNodes(); gIdleCallbacks.deleteFunction(idle, this); - LLView::deleteViewByHandle(mPopupMenuHandle); + delete mPopupMenuHandle.get(); mAutoOpenItems.removeAllNodes(); clearSelection(); @@ -1969,7 +1969,7 @@ BOOL LLFolderView::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, void LLFolderView::deleteAllChildren() { closeRenamer(); - LLView::deleteViewByHandle(mPopupMenuHandle); + delete mPopupMenuHandle.get(); mPopupMenuHandle = LLHandle<LLView>(); mScrollContainer = NULL; mRenameItem = NULL; diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp index c3e6e1c2dca..f7ed1116cbd 100644 --- a/indra/newview/llgrouplist.cpp +++ b/indra/newview/llgrouplist.cpp @@ -95,7 +95,7 @@ LLGroupList::LLGroupList(const Params& p) LLGroupList::~LLGroupList() { gAgent.removeListener(this); - LLView::deleteViewByHandle(mContextMenuHandle); + delete mContextMenuHandle.get(); } // virtual diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index e3a7b749ea6..177aa4f5c81 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -526,11 +526,11 @@ LLPanelPeople::~LLPanelPeople() LLVoiceClient::getInstance()->removeObserver(this); } - LLView::deleteViewByHandle(mGroupPlusMenuHandle); - LLView::deleteViewByHandle(mNearbyViewSortMenuHandle); - LLView::deleteViewByHandle(mFriendsViewSortMenuHandle); - LLView::deleteViewByHandle(mGroupsViewSortMenuHandle); - LLView::deleteViewByHandle(mRecentViewSortMenuHandle); + delete mGroupPlusMenuHandle.get(); + delete mNearbyViewSortMenuHandle.get(); + delete mFriendsViewSortMenuHandle.get(); + delete mGroupsViewSortMenuHandle.get(); + delete mRecentViewSortMenuHandle.get(); } diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index 9b35e78134a..dfa8c75493f 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -388,7 +388,7 @@ LLTeleportHistoryPanel::LLTeleportHistoryPanel() LLTeleportHistoryPanel::~LLTeleportHistoryPanel() { LLTeleportHistoryFlatItemStorage::instance().purge(); - LLView::deleteViewByHandle(mGearMenuHandle); + delete mGearMenuHandle.get(); } BOOL LLTeleportHistoryPanel::postBuild() diff --git a/indra/newview/skins/default/xui/en/menu_toolbars.xml b/indra/newview/skins/default/xui/en/menu_toolbars.xml index b3ecd3dcb67..de13fec6701 100644 --- a/indra/newview/skins/default/xui/en/menu_toolbars.xml +++ b/indra/newview/skins/default/xui/en/menu_toolbars.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<menu bottom="825" +<context_menu layout="topleft" name="Toolbars Popup" visible="false"> @@ -26,4 +26,4 @@ <on_check function="Toolbars.CheckSetting" parameter="icons_only" /> </menu_item_check> -</menu> +</context_menu> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 95ccc6e92c5..29b5d022997 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -7,7 +7,6 @@ pad_between="5" mouse_opaque="false" read_only="false"> - <button_panel name="button_panel" bg_opaque_image="Rounded_Rect" background_visible="true" -- GitLab From f56bf69dfed63d8b7d5d8994c0c3cafced803a0f Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 26 Sep 2011 19:48:17 -0700 Subject: [PATCH 044/213] initial support for switching between icons only and icons + text --- indra/llui/llcommandmanager.h | 16 +++- indra/llui/lltoolbar.cpp | 79 ++++++++++--------- indra/llui/lltoolbar.h | 7 +- .../skins/default/textures/textures.xml | 23 ++++++ .../default/xui/en/floater_test_toolbar.xml | 38 +++------ .../default/xui/en/panel_toolbar_view.xml | 25 +++--- .../skins/default/xui/en/widgets/toolbar.xml | 2 + 7 files changed, 106 insertions(+), 84 deletions(-) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 7ed8785f17f..8435d915f30 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -41,10 +41,22 @@ class LLCommandId friend class LLCommand; friend class LLCommandManager; + struct Params : public LLInitParam::Block<Params> + { + Mandatory<std::string> name; + + Params() + : name("name") + {} + }; + LLCommandId(const std::string& name) : mName(name) - { - } + {} + + LLCommandId(const Params& p) + : mName(p.name) + {} const std::string& name() const { return mName; } diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index bd45cf46567..2fb9f249d48 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -74,7 +74,7 @@ namespace LLInitParam LLToolBar::Params::Params() : button_display_mode("button_display_mode"), - buttons("button"), + commands("command"), side("side", SIDE_TOP), button_icon("button_icon"), button_icon_and_text("button_icon_and_text"), @@ -187,17 +187,13 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - BOOST_FOREACH (LLToolBarButton::Params button_p, p.buttons) + BOOST_FOREACH (const LLCommandId::Params& command_id, p.commands) { - button_p.fillFrom(mButtonParams[mButtonType]); - LLToolBarButton* buttonp = LLUICtrlFactory::create<LLToolBarButton>(button_p); - - mButtons.push_back(buttonp); - mButtonCommands.push_back(LLCommandId::null); - mButtonPanel->addChild(buttonp); - - mNeedsLayout = true; + mButtonCommands.push_back(command_id); } + createButtons(); + + mNeedsLayout = true; } bool LLToolBar::addCommand(const LLCommandId& commandId) @@ -206,26 +202,8 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) bool add_command = (command != NULL); - // - // Init basic toolbar button params - // - if (add_command) - { - LLToolBarButton::Params button_p(mButtonParams[mButtonType]); - button_p.name = commandId.name(); - button_p.label = LLTrans::getString(command->labelRef()); - button_p.tool_tip = LLTrans::getString(command->tooltipRef()); - - // - // Add it to the list of buttons - // - LLToolBarButton * toolbar_button = LLUICtrlFactory::create<LLToolBarButton>(button_p); - mButtons.push_back(toolbar_button); - mButtonCommands.push_back(commandId); - mButtonPanel->addChild(toolbar_button); - - mNeedsLayout = true; - } + mButtonCommands.push_back(commandId); + createButtons(); return add_command; } @@ -320,7 +298,10 @@ void LLToolBar::onSettingEnable(const LLSD& userdata) mButtonType = BTNTYPE_ICONS_ONLY; } - mNeedsLayout |= (current_button_type != mButtonType); + if(current_button_type != mButtonType) + { + createButtons(); + } } void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth) @@ -387,8 +368,8 @@ void LLToolBar::updateLayoutAsNeeded() std::vector<LLToolBarButton*> buttons_in_row; - BOOST_FOREACH(LLToolBarButton* button, mButtons) - { + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { button->reshape(mMinButtonWidth, mButtonHeight); button->autoResize(); @@ -421,8 +402,8 @@ void LLToolBar::updateLayoutAsNeeded() max_row_girth = 0; } - LLRect button_rect; - if (orientation == LLLayoutStack::HORIZONTAL) + LLRect button_rect; + if (orientation == LLLayoutStack::HORIZONTAL) { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } @@ -467,7 +448,7 @@ void LLToolBar::updateLayoutAsNeeded() reshape(total_girth, getRect().getHeight()); mButtonPanel->reshape(total_girth, max_row_length); - } + } // re-center toolbar buttons mCenteringStack->updateLayout(); @@ -489,3 +470,29 @@ void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) mNeedsLayout = true; } +void LLToolBar::createButtons() +{ + BOOST_FOREACH(LLToolBarButton* button, mButtons) + { + delete button; + } + mButtons.clear(); + + BOOST_FOREACH(LLCommandId& command_id, mButtonCommands) + { + LLCommand* commandp = LLCommandManager::instance().getCommand(command_id); + if (!commandp) continue; + + LLToolBarButton::Params button_p; + button_p.label = LLTrans::getString(commandp->labelRef()); + button_p.image_overlay = LLUI::getUIImage(commandp->icon()); + button_p.overwriteFrom(mButtonParams[mButtonType]); + LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + + mButtons.push_back(button); + mButtonPanel->addChild(button); + } + + mNeedsLayout = true; +} + diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 657e9283193..75ae499a3db 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -32,9 +32,7 @@ #include "llcommandmanager.h" #include "lllayoutstack.h" #include "lluictrl.h" - - -class LLCommand; +#include "llcommandmanager.h" class LLToolBarButton : public LLButton @@ -110,7 +108,7 @@ class LLToolBar pad_bottom, pad_between; // get rid of this - Multiple<LLToolBarButton::Params> buttons; + Multiple<LLCommandId::Params> commands; Optional<LLPanel::Params> button_panel; @@ -136,6 +134,7 @@ class LLToolBar private: void createContextMenu(); void updateLayoutAsNeeded(); + void createButtons(); void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); BOOL isSettingChecked(const LLSD& userdata); void onSettingEnable(const LLSD& userdata); diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 8f2194e652d..be68c2873e0 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -759,4 +759,27 @@ with the same filename but different name <texture name="Yellow_Gradient" file_name="windows/yellow_gradient.png"/> <texture name="Popup_Caution" file_name="icons/pop_up_caution.png"/> <texture name="Camera_Drag_Dot" file_name="world/CameraDragDot.png"/> + + <texture name="Command_Avatar_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Build_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Chat_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Compass_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Gestures_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_HowTo_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Landmarks_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Map_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_MiniMap_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Move_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_MyLand_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_MyStuff_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_People_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Places_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Search_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Settings_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Shop_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Snapshot_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Speak_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_Upload_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + <texture name="Command_View_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> + </textures> diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index b58c006b3f5..fbfbe51a699 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -16,14 +16,9 @@ min_button_width="0" max_button_width="100" side="top"> - <button auto_resize="true" - use_ellipses="true" - label="Button"/> - <button auto_resize="true" - label="Button with long label"/> - <button auto_resize="true" - use_ellipses="true" - label="Button with longest label of all"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> <toolbar name="test_toolbar_left" follows="left|bottom|top" @@ -33,12 +28,9 @@ top="70" min_button_width="100" side="left"> - <button height="30" - label="Button"/> - <button height="50" - label="Button with long label"/> - <button height="60" - label="Button with longest label of all"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> <toolbar name="test_toolbar_right" follows="right|bottom|top" @@ -47,12 +39,9 @@ right="500" top="70" side="right"> - <button auto_resize="true" - label="Button 1"/> - <button auto_resize="true" - label="Button with long label"/> - <button auto_resize="true" - label="Button with longest label of all"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> <toolbar name="test_toolbar_bottom" follows="left|right|bottom" @@ -62,11 +51,8 @@ bottom="500" min_button_width="100" side="bottom"> - <button auto_resize="true" - label="Button"/> - <button auto_resize="true" - label="Button with long label"/> - <button auto_resize="true" - label="Button with longest label of all"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> </floater> diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index b24f5c33476..23ea516b867 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -47,11 +47,9 @@ top="0" side="left" button_display_mode="icons_only"> - <button name="button1" label="Left Toolbar"/> - <button name="button2" label="Left Toolbar"/> - <button name="button3" label="Left Toolbar"/> - <button name="button4" label="Left Toolbar"/> - <button name="button5" label="Left Toolbar"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> </layout_panel> <layout_panel name="non_toolbar_panel" @@ -74,11 +72,9 @@ top="0" side="right" button_display_mode="icons_only"> - <button name="button1" label="Right Toolbar"/> - <button name="button2" label="Right Toolbar"/> - <button name="button3" label="Right Toolbar"/> - <button name="button4" label="Right Toolbar"/> - <button name="button5" label="Right Toolbar"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> </layout_panel> </layout_stack> @@ -100,12 +96,9 @@ follows="left|right|bottom" button_display_mode="icons_with_text" visible="true"> - <button name="button1" label="Bottom toolbar"/> - <button name="button2" label="Bottom toolbar"/> - <button name="button3" label="Bottom toolbar"/> - <button name="button4" label="Bottom toolbar"/> - <button name="button5" label="Bottom toolbar"/> - <button name="button6" label="Bottom toolbar"/> + <command name="avatar"/> + <command name="build"/> + <command name="chat"/> </toolbar> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 29b5d022997..32bc88cc9a8 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -13,9 +13,11 @@ background_opaque="true"/> <button_icon_and_text follows="left|top" chrome="true" + image_overlay_alignment="left" use_ellipses="true" auto_resize="true"/> <button_icon follows="left|top" + label="" chrome="true" use_ellipses="true" auto_resize="true"/> -- GitLab From cc56958452b8c10e1de176edb1924179ad04768a Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 26 Sep 2011 19:48:27 -0700 Subject: [PATCH 045/213] initial support for switching between icons only and icons + text --- indra/llui/llbutton.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 6c08ec74315..06781f1bdf3 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -989,11 +989,27 @@ void LLButton::resize(LLUIString label) // get current btn length S32 btn_width =getRect().getWidth(); // check if it need resize - if (mAutoResize == TRUE) + if (mAutoResize) { - if (btn_width - (mRightHPad + mLeftHPad) < label_width) + S32 min_width = label_width + mLeftHPad + mRightHPad; + if (mImageOverlay) { - setRect(LLRect( getRect().mLeft, getRect().mTop, getRect().mLeft + label_width + mLeftHPad + mRightHPad , getRect().mBottom)); + switch(mImageOverlayAlignment) + { + case LLFontGL::LEFT: + case LLFontGL::RIGHT: + min_width += mImageOverlay->getWidth() + mImgOverlayLabelSpace; + break; + case LLFontGL::HCENTER: + break; + default: + // draw nothing + break; + } + } + if (btn_width < min_width) + { + reshape(min_width, getRect().getHeight()); } } } -- GitLab From b7cf5ff947161d0b7e42a9ed8fe10741bb7af100 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 27 Sep 2011 09:33:58 -0700 Subject: [PATCH 046/213] Commenting out unused variable to fix mac build. --- indra/llui/lltoolbarview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 6ae10fbf1dc..9df6f4946f0 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -86,7 +86,7 @@ void LLToolBarView::draw() static S32 old_width = 0; static S32 old_height = 0; - LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); + //LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); LLRect bottom_rect, left_rect, right_rect; -- GitLab From 795ae760e8b81a4e1b0ae4666d94d80919305189 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Tue, 27 Sep 2011 10:12:48 -0700 Subject: [PATCH 047/213] adding missing xml file --- .../skins/default/xui/en/floater_chat_bar.xml | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 indra/newview/skins/default/xui/en/floater_chat_bar.xml diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml new file mode 100644 index 00000000000..d0059b281e3 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + height="60" + layout="topleft" + legacy_header_height="20" + title="Nearby chat" + can_close="true" + can_minimize="true" + help_topic="chat_bar" + save_rect="true" + min_height="60" + min_width="150" + can_resize="true" + name="chat_bar" + width="380"> + <line_editor + border_style="line" + border_thickness="1" + follows="left|right" + height="23" + label="Click here to chat." + layout="topleft" + left_delta="7" + left="0" + max_length_bytes="1023" + name="chat_box" + text_pad_left="5" + text_pad_right="25" + tool_tip="Press Enter to say, Ctrl+Enter to shout" + top="27" + width="335" /> + <output_monitor + auto_update="true" + follows="right" + draw_border="false" + height="16" + layout="topleft" + left_pad="-24" + mouse_opaque="true" + name="chat_zone_indicator" + top="31" + visible="true" + width="20" /> + <button + follows="right" + is_toggle="true" + width="20" + top="27" + layout="topleft" + left_pad="12" + image_disabled="ComboButton_UpOff" + image_unselected="ComboButton_UpOff" + image_selected="ComboButton_On" + image_pressed="ComboButton_UpSelected" + image_pressed_selected="ComboButton_Selected" + height="23" + name="show_nearby_chat" + tool_tip="Shows/hides nearby chat log"> + <button.init_callback + function="Button.SetDockableFloaterToggle" + parameter="nearby_chat" /> + </button> +</floater> -- GitLab From cb699e3f2d64999e9817d0c4df5b7f9484e8e722 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Tue, 27 Sep 2011 10:52:47 -0700 Subject: [PATCH 048/213] EXP-1252 Opening chat history crashes browser (from dev work in progress) EXP-1253 Entering text in chat bar does not show for other users (dev work in progress) --- indra/newview/llbottomtray.cpp | 6 +++--- indra/newview/llnearbychat.cpp | 39 ++++++---------------------------- indra/newview/llnearbychat.h | 6 +++--- 3 files changed, 13 insertions(+), 38 deletions(-) diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 7a60903950d..55c63edd740 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -400,7 +400,7 @@ void LLBottomTray::onMouselookModeOut() { mIsInLiteMode = false; mBottomTrayLite->setVisible(FALSE); - mNearbyChatBar->getChatBox()->setText(mBottomTrayLite->mNearbyChatBar->getChatBox()->getText()); + //mNearbyChatBar->getChatBox()->setText(mBottomTrayLite->mNearbyChatBar->getChatBox()->getText()); setVisible(TRUE); } @@ -413,8 +413,8 @@ void LLBottomTray::onMouselookModeIn() getParent()->addChild(mBottomTrayLite); mBottomTrayLite->setShape(getLocalRect()); - mBottomTrayLite->mNearbyChatBar->getChatBox()->setText(mNearbyChatBar->getChatBox()->getText()); - mBottomTrayLite->mGesturePanel->setVisible(gSavedSettings.getBOOL("ShowGestureButton")); + //mBottomTrayLite->mNearbyChatBar->getChatBox()->setText(mNearbyChatBar->getChatBox()->getText()); + //mBottomTrayLite->mGesturePanel->setVisible(gSavedSettings.getBOOL("ShowGestureButton")); mIsInLiteMode = true; } diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 361912a5cb4..8d57ae3a327 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -58,7 +58,7 @@ static const S32 RESIZE_BAR_THICKNESS = 3; LLNearbyChat::LLNearbyChat(const LLSD& key) - : LLDockableFloater(NULL, false, false, key) + : LLFloater(key) ,mChatHistory(NULL) { @@ -86,20 +86,9 @@ BOOL LLNearbyChat::postBuild() mChatHistory = getChild<LLChatHistory>("chat_history"); - if(!LLDockableFloater::postBuild()) + if(!LLFloater::postBuild()) return false; - if (getDockControl() == NULL) - { - setDockControl(new LLDockControl( - LLFloaterReg::getInstance("chat_bar"), this, - getDockTongue(), LLDockControl::TOP, boost::bind(&LLNearbyChat::getAllowedRect, this, _1))); - } - - //fix for EXT-4621 - //chrome="true" prevents floater from stilling capture - setIsChrome(true); - //chrome="true" hides floater caption if (mDragHandle) mDragHandle->setTitleVisible(TRUE); @@ -118,20 +107,6 @@ void LLNearbyChat::applySavedVariables() setRect(rect); } } - - - if(!LLFloater::getControlGroup()->controlExists(mDocStateControl)) - { - setDocked(true); - } - else - { - if (mDocStateControl.size() > 1) - { - bool dockState = LLFloater::getControlGroup()->getBOOL(mDocStateControl); - setDocked(dockState); - } - } } std::string appendTime() @@ -229,17 +204,17 @@ void LLNearbyChat::setVisible(BOOL visible) } } - LLDockableFloater::setVisible(visible); + LLFloater::setVisible(visible); } void LLNearbyChat::onOpen(const LLSD& key ) { - LLDockableFloater::onOpen(key); + LLFloater::onOpen(key); } void LLNearbyChat::setRect (const LLRect &rect) { - LLDockableFloater::setRect(rect); + LLFloater::setRect(rect); } void LLNearbyChat::getAllowedRect(LLRect& rect) @@ -367,7 +342,7 @@ BOOL LLNearbyChat::handleMouseDown(S32 x, S32 y, MASK mask) if(mChatHistory) mChatHistory->setFocus(TRUE); - return LLDockableFloater::handleMouseDown(x, y, mask); + return LLFloater::handleMouseDown(x, y, mask); } void LLNearbyChat::draw() @@ -380,5 +355,5 @@ void LLNearbyChat::draw() setTransparencyType(hasFocus() ? TT_ACTIVE : TT_INACTIVE); } - LLDockableFloater::draw(); + LLFloater::draw(); } diff --git a/indra/newview/llnearbychat.h b/indra/newview/llnearbychat.h index 2ea79797f8e..834a31bbf04 100644 --- a/indra/newview/llnearbychat.h +++ b/indra/newview/llnearbychat.h @@ -1,4 +1,4 @@ -/** + /** * @file llnearbychat.h * @brief nearby chat history scrolling panel implementation * @@ -27,14 +27,14 @@ #ifndef LL_LLNEARBYCHAT_H_ #define LL_LLNEARBYCHAT_H_ -#include "lldockablefloater.h" #include "llscrollbar.h" #include "llviewerchat.h" +#include "llfloater.h" class LLResizeBar; class LLChatHistory; -class LLNearbyChat: public LLDockableFloater +class LLNearbyChat: public LLFloater { public: LLNearbyChat(const LLSD& key); -- GitLab From 0f3221e25d6261d7f29b5b37391156c07fde1d0c Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Tue, 27 Sep 2011 21:05:05 +0300 Subject: [PATCH 049/213] EXP-1225 FIXED Added a floater for My Inventory side tab. - Replaced calls to LLSideTray with LLFloaterSidePanelContainer. - Added LLFloaterSidePanelContainer::getPanel<T>() for getting custom type panels. --- indra/newview/llavataractions.cpp | 12 ++-- indra/newview/llfloatersidepanelcontainer.cpp | 18 +++++- indra/newview/llfloatersidepanelcontainer.h | 23 ++++++++ indra/newview/llinspectobject.cpp | 3 +- indra/newview/llinventoryfunctions.cpp | 17 ++++-- indra/newview/llinventorypanel.cpp | 57 +++++++------------ indra/newview/llpanelmaininventory.cpp | 12 +++- indra/newview/llpanelmarketplaceinbox.cpp | 16 ++++-- indra/newview/llpanelmarketplaceoutbox.cpp | 17 ++++-- indra/newview/llsidepanelinventory.cpp | 20 +++++-- indra/newview/llviewerfloaterreg.cpp | 1 + indra/newview/llviewerinventory.cpp | 3 +- indra/newview/llviewermenu.cpp | 14 ++--- .../default/xui/en/floater_my_inventory.xml | 20 +++++++ .../skins/default/xui/en/menu_viewer.xml | 4 +- .../skins/minimal/xui/en/panel_bottomtray.xml | 2 +- 16 files changed, 158 insertions(+), 81 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_my_inventory.xml diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 4cdfcea64eb..efb46166b81 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -47,6 +47,7 @@ #include "llfloatergroups.h" #include "llfloaterreg.h" #include "llfloaterpay.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterwebcontent.h" #include "llfloaterworldmap.h" #include "llfolderview.h" @@ -438,8 +439,7 @@ void LLAvatarActions::csr(const LLUUID& id, std::string name) void LLAvatarActions::share(const LLUUID& id) { LLSD key; - LLSideTray::getInstance()->showPanel("sidepanel_inventory", key); - + LLFloaterSidePanelContainer::showPanel("my_inventory", key); LLUUID session_id = gIMMgr->computeSessionID(IM_NOTHING_SPECIAL,id); @@ -696,9 +696,11 @@ std::set<LLUUID> LLAvatarActions::getInventorySelectedUUIDs() if (inventory_selected_uuids.empty()) { - LLSidepanelInventory * sidepanel_inventory = LLSideTray::getInstance()->getPanel<LLSidepanelInventory>("sidepanel_inventory"); - - inventory_selected_uuids = sidepanel_inventory->getInboxOrOutboxSelectionList(); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + inventory_selected_uuids = sidepanel_inventory->getInboxOrOutboxSelectionList(); + } } return inventory_selected_uuids; diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index cf66fd1792d..c73ec90a122 100644 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -33,6 +33,9 @@ #include "llsidetraypanelcontainer.h" #include "lltransientfloatermgr.h" +//static +const std::string LLFloaterSidePanelContainer::sMainPanelName("main_panel"); + LLFloaterSidePanelContainer::LLFloaterSidePanelContainer(const LLSD& key, const Params& params) : LLFloater(key, params) { @@ -48,7 +51,7 @@ LLFloaterSidePanelContainer::~LLFloaterSidePanelContainer() void LLFloaterSidePanelContainer::onOpen(const LLSD& key) { - getChild<LLPanel>("main_panel")->onOpen(key); + getChild<LLPanel>(sMainPanelName)->onOpen(key); } LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_name, const LLSD& params) @@ -82,6 +85,17 @@ void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, con LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); if (floaterp) { - floaterp->openChildPanel("main_panel", panel_name); + floaterp->openChildPanel(sMainPanelName, panel_name); } } + +LLPanel* LLFloaterSidePanelContainer::getPanel(const std::string& floater_name, const std::string& panel_name) +{ + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); + if (floaterp) + { + return floaterp->findChild<LLPanel>(panel_name, true); + } + + return NULL; +} diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index 7b4e7643aed..0d17a14c0be 100644 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -51,6 +51,29 @@ class LLFloaterSidePanelContainer : public LLFloater LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); static void showPanel(const std::string& floater_name, const LLSD& panel_name); + + static LLPanel* getPanel(const std::string& floater_name, const std::string& panel_name = sMainPanelName); + + /** + * Gets the panel of given type T (doesn't show it or do anything else with it). + * + * @param floater_name a string specifying the floater to be searched for a child panel. + * @param panel_name a string specifying the child panel to get. + * @returns a pointer to the panel of given type T. + */ + template <typename T> + static T* getPanel(const std::string& floater_name, const std::string& panel_name = sMainPanelName) + { + T* panel = dynamic_cast<T*>(getPanel(floater_name, panel_name)); + if (!panel) + { + llwarns << "Child named \"" << panel_name << "\" of type " << typeid(T*).name() << " not found" << llendl; + } + return panel; + } + +private: + static const std::string sMainPanelName; }; #endif // LL_LLFLOATERSIDEPANELCONTAINER_H diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp index ee076f68ea1..29d7a4a6b09 100644 --- a/indra/newview/llinspectobject.cpp +++ b/indra/newview/llinspectobject.cpp @@ -28,6 +28,7 @@ #include "llinspectobject.h" // Viewer +#include "llfloatersidepanelcontainer.h" #include "llinspect.h" #include "llmediaentry.h" #include "llnotificationsutil.h" // *TODO: Eliminate, add LLNotificationsUtil wrapper @@ -640,7 +641,7 @@ void LLInspectObject::onClickMoreInfo() { LLSD key; key["task"] = "task"; - LLSideTray::getInstance()->showPanel("sidepanel_inventory", key); + LLFloaterSidePanelContainer::showPanel("my_inventory", key); closeFloater(); } diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 0af013fde5e..acec02b507b 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -47,6 +47,7 @@ #include "llappviewer.h" //#include "llfirstuse.h" #include "llfloaterinventory.h" +#include "llfloatersidepanelcontainer.h" #include "llfocusmgr.h" #include "llfolderview.h" #include "llgesturemgr.h" @@ -459,22 +460,28 @@ BOOL get_is_category_renameable(const LLInventoryModel* model, const LLUUID& id) void show_task_item_profile(const LLUUID& item_uuid, const LLUUID& object_id) { - LLSideTray::getInstance()->showPanel("sidepanel_inventory", LLSD().with("id", item_uuid).with("object", object_id)); + LLFloaterSidePanelContainer::showPanel("my_inventory", LLSD().with("id", item_uuid).with("object", object_id)); } void show_item_profile(const LLUUID& item_uuid) { LLUUID linked_uuid = gInventory.getLinkedItemID(item_uuid); - LLSideTray::getInstance()->showPanel("sidepanel_inventory", LLSD().with("id", linked_uuid)); + LLFloaterSidePanelContainer::showPanel("my_inventory", LLSD().with("id", linked_uuid)); } void show_item_original(const LLUUID& item_uuid) { + LLFloater* floater_my_inventory = LLFloaterReg::getInstance("my_inventory"); + if (!floater_my_inventory) + { + llwarns << "Could not find My Inventory floater" << llendl; + return; + } + //sidetray inventory panel - LLSidepanelInventory *sidepanel_inventory = - dynamic_cast<LLSidepanelInventory *>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); - bool reset_inventory_filter = !LLSideTray::getInstance()->isPanelActive("sidepanel_inventory"); + bool reset_inventory_filter = !floater_my_inventory->isInVisibleChain(); LLInventoryPanel* active_panel = LLInventoryPanel::getActiveInventoryPanel(); if (!active_panel) diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 173e5c6ae6a..c4f810fc935 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -35,6 +35,7 @@ #include "llavataractions.h" #include "llfloaterinventory.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llfolderview.h" #include "llimfloater.h" #include "llimview.h" @@ -1071,10 +1072,9 @@ void LLInventoryPanel::dumpSelectionInformation(void* user_data) BOOL is_inventorysp_active() { - if (!LLSideTray::getInstance()->isPanelActive("sidepanel_inventory")) return FALSE; - LLSidepanelInventory *inventorySP = dynamic_cast<LLSidepanelInventory *>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - if (!inventorySP) return FALSE; - return inventorySP->isMainInventoryPanelActive(); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (!sidepanel_inventory || !sidepanel_inventory->isInVisibleChain()) return FALSE; + return sidepanel_inventory->isMainInventoryPanelActive(); } // static @@ -1084,34 +1084,24 @@ LLInventoryPanel* LLInventoryPanel::getActiveInventoryPanel(BOOL auto_open) LLInventoryPanel* res = NULL; LLFloater* active_inv_floaterp = NULL; - // A. If the inventory side panel is open, use that preferably. - if (is_inventorysp_active()) + LLFloater* floater_my_inventory = LLFloaterReg::getInstance("my_inventory"); + if (!floater_my_inventory) { - LLSidepanelInventory *inventorySP = dynamic_cast<LLSidepanelInventory *>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - if (inventorySP) - { - return inventorySP->getActivePanel(); - } + llwarns << "Could not find My Inventory floater" << llendl; + return FALSE; } - // or if it is in floater undocked from sidetray get it and remember z order of floater to later compare it - // with other inventory floaters order. - else if (!LLSideTray::getInstance()->isTabAttached("sidebar_inventory")) + + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + + // A. If the inventory side panel floater is open, use that preferably. + if (is_inventorysp_active()) { - LLSidepanelInventory *inventorySP = - dynamic_cast<LLSidepanelInventory *>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - LLFloater* inv_floater = LLFloaterReg::findInstance("side_bar_tab", LLSD("sidebar_inventory")); - if (inventorySP && inv_floater) - { - res = inventorySP->getActivePanel(); - z_min = gFloaterView->getZOrder(inv_floater); - active_inv_floaterp = inv_floater; - } - else - { - llwarns << "Inventory tab is detached from sidetray, but either panel or floater were not found!" << llendl; - } + // Get the floater's z order to compare it to other inventory floaters' order later. + res = sidepanel_inventory->getActivePanel(); + z_min = gFloaterView->getZOrder(floater_my_inventory); + active_inv_floaterp = floater_my_inventory; } - + // B. Iterate through the inventory floaters and return whichever is on top. LLFloaterReg::const_instance_list_t& inst_list = LLFloaterReg::getFloaterList("inventory"); for (LLFloaterReg::const_instance_list_t::const_iterator iter = inst_list.begin(); iter != inst_list.end(); ++iter) @@ -1141,14 +1131,9 @@ LLInventoryPanel* LLInventoryPanel::getActiveInventoryPanel(BOOL auto_open) // C. If no panels are open and we don't want to force open a panel, then just abort out. if (!auto_open) return NULL; - // D. Open the inventory side panel and use that. - LLSD key; - LLSidepanelInventory *sidepanel_inventory = - dynamic_cast<LLSidepanelInventory *>(LLSideTray::getInstance()->showPanel("sidepanel_inventory", key)); - if (sidepanel_inventory) - { - return sidepanel_inventory->getActivePanel(); - } + // D. Open the inventory side panel floater and use that. + floater_my_inventory->openFloater(); + return sidepanel_inventory->getActivePanel(); return NULL; } diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 858f5cf5752..c1341af2ef8 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -38,6 +38,7 @@ #include "llinventorymodelbackgroundfetch.h" #include "llinventorypanel.h" #include "llfiltereditor.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterreg.h" #include "llmenubutton.h" #include "lloutfitobserver.h" @@ -579,8 +580,13 @@ void LLPanelMainInventory::updateItemcountText() void LLPanelMainInventory::onFocusReceived() { - LLSidepanelInventory * sidepanel_inventory = LLSideTray::getInstance()->getPanel<LLSidepanelInventory>("sidepanel_inventory"); - + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (!sidepanel_inventory) + { + llwarns << "Could not find Inventory Panel in My Inventory floater" << llendl; + return; + } + sidepanel_inventory->clearSelections(false, true, true); } @@ -1164,7 +1170,7 @@ BOOL LLPanelMainInventory::isActionEnabled(const LLSD& userdata) if (command_name == "share") { - LLSidepanelInventory* parent = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); + LLSidepanelInventory* parent = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); return parent ? parent->canShare() : FALSE; } diff --git a/indra/newview/llpanelmarketplaceinbox.cpp b/indra/newview/llpanelmarketplaceinbox.cpp index 2cb91f771ff..a412eabc0aa 100644 --- a/indra/newview/llpanelmarketplaceinbox.cpp +++ b/indra/newview/llpanelmarketplaceinbox.cpp @@ -32,6 +32,7 @@ #include "llappviewer.h" #include "llbutton.h" #include "llinventorypanel.h" +#include "llfloatersidepanelcontainer.h" #include "llfolderview.h" #include "llsidepanelinventory.h" #include "llviewercontrol.h" @@ -67,7 +68,7 @@ BOOL LLPanelMarketplaceInbox::postBuild() void LLPanelMarketplaceInbox::onSelectionChange() { - LLSidepanelInventory* sidepanel_inventory = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); sidepanel_inventory->updateVerbs(); } @@ -112,9 +113,11 @@ LLInventoryPanel * LLPanelMarketplaceInbox::setupInventoryPanel() void LLPanelMarketplaceInbox::onFocusReceived() { - LLSidepanelInventory * sidepanel_inventory = LLSideTray::getInstance()->getPanel<LLSidepanelInventory>("sidepanel_inventory"); - - sidepanel_inventory->clearSelections(true, false, true); + LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + sidepanel_inventory->clearSelections(true, false, true); + } gSavedPerAccountSettings.setString("LastInventoryInboxActivity", LLDate::now().asString()); } @@ -185,9 +188,10 @@ std::string LLPanelMarketplaceInbox::getBadgeString() const { std::string item_count_str(""); + LLPanel *inventory_panel = LLFloaterSidePanelContainer::getPanel("my_inventory"); + // If the inbox is visible, and the side panel is collapsed or expanded and not the inventory panel - if (getParent()->getVisible() && - (LLSideTray::getInstance()->getCollapsed() || !LLSideTray::getInstance()->isPanelActive("sidepanel_inventory"))) + if (getParent()->getVisible() && inventory_panel && !inventory_panel->isInVisibleChain()) { U32 item_count = getFreshItemCount(); diff --git a/indra/newview/llpanelmarketplaceoutbox.cpp b/indra/newview/llpanelmarketplaceoutbox.cpp index 839369bffe0..f0a4b9898dd 100644 --- a/indra/newview/llpanelmarketplaceoutbox.cpp +++ b/indra/newview/llpanelmarketplaceoutbox.cpp @@ -33,6 +33,7 @@ #include "llbutton.h" #include "llcoros.h" #include "lleventcoro.h" +#include "llfloatersidepanelcontainer.h" #include "llinventorypanel.h" #include "llloadingindicator.h" #include "llnotificationsutil.h" @@ -89,16 +90,20 @@ void LLPanelMarketplaceOutbox::handleLoginComplete() void LLPanelMarketplaceOutbox::onFocusReceived() { - LLSidepanelInventory * sidepanel_inventory = LLSideTray::getInstance()->getPanel<LLSidepanelInventory>("sidepanel_inventory"); - - sidepanel_inventory->clearSelections(true, true, false); + LLSidepanelInventory * sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + sidepanel_inventory->clearSelections(true, true, false); + } } void LLPanelMarketplaceOutbox::onSelectionChange() { - LLSidepanelInventory* sidepanel_inventory = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - - sidepanel_inventory->updateVerbs(); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + sidepanel_inventory->updateVerbs(); + } } LLInventoryPanel * LLPanelMarketplaceOutbox::setupInventoryPanel() diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp index 9814e5b81ac..e223de5469b 100644 --- a/indra/newview/llsidepanelinventory.cpp +++ b/indra/newview/llsidepanelinventory.cpp @@ -34,6 +34,7 @@ #include "llbutton.h" #include "lldate.h" #include "llfirstuse.h" +#include "llfloatersidepanelcontainer.h" #include "llfoldertype.h" #include "llhttpclient.h" #include "llinventorybridge.h" @@ -172,16 +173,20 @@ LLSidepanelInventory::~LLSidepanelInventory() void handleInventoryDisplayInboxChanged() { - LLSidepanelInventory* sidepanel_inventory = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - - sidepanel_inventory->enableInbox(gSavedSettings.getBOOL("InventoryDisplayInbox")); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + sidepanel_inventory->enableInbox(gSavedSettings.getBOOL("InventoryDisplayInbox")); + } } void handleInventoryDisplayOutboxChanged() { - LLSidepanelInventory* sidepanel_inventory = dynamic_cast<LLSidepanelInventory*>(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); - - sidepanel_inventory->enableOutbox(gSavedSettings.getBOOL("InventoryDisplayOutbox")); + LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("my_inventory"); + if (sidepanel_inventory) + { + sidepanel_inventory->enableOutbox(gSavedSettings.getBOOL("InventoryDisplayOutbox")); + } } BOOL LLSidepanelInventory::postBuild() @@ -283,6 +288,9 @@ BOOL LLSidepanelInventory::postBuild() gSavedSettings.getControl("InventoryDisplayInbox")->getCommitSignal()->connect(boost::bind(&handleInventoryDisplayInboxChanged)); gSavedSettings.getControl("InventoryDisplayOutbox")->getCommitSignal()->connect(boost::bind(&handleInventoryDisplayOutboxChanged)); + // Update the verbs buttons state. + updateVerbs(); + return TRUE; } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b30ef11978a..bca166e390a 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -223,6 +223,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("moveview", "floater_moveview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMove>); LLFloaterReg::add("mute_object_by_name", "floater_mute_object.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterGetBlockedObjectName>); LLFloaterReg::add("mini_map", "floater_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMap>); + LLFloaterReg::add("my_inventory", "floater_my_inventory.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("my_profile", "floater_my_profile.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("notifications_console", "floater_notifications_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotificationConsole>); diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index ad65a8846c6..d798f1900f6 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -35,6 +35,7 @@ #include "llagentcamera.h" #include "llagentwearables.h" #include "llviewerfoldertype.h" +#include "llfloatersidepanelcontainer.h" #include "llfolderview.h" #include "llviewercontrol.h" #include "llconsole.h" @@ -220,7 +221,7 @@ class LLInventoryHandler : public LLCommandHandler // support secondlife:///app/inventory/show if (params[0].asString() == "show") { - LLSideTray::getInstance()->showPanel("sidepanel_inventory", LLSD()); + LLFloaterSidePanelContainer::showPanel("my_inventory", LLSD()); return true; } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 63d6e0ac304..a71900167c4 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2634,7 +2634,7 @@ void handle_object_inspect() { LLSD key; key["task"] = "task"; - LLSideTray::getInstance()->showPanel("sidepanel_inventory", key); + LLFloaterSidePanelContainer::showPanel("my_inventory", key); } /* @@ -5661,18 +5661,18 @@ class LLShowSidetrayPanel : public view_listener_t { bool handleEvent(const LLSD& userdata) { - std::string panel_name = userdata.asString(); + std::string floater_name = userdata.asString(); - LLPanel* panel = LLSideTray::getInstance()->getPanel(panel_name); + LLPanel* panel = LLFloaterSidePanelContainer::getPanel(floater_name); if (panel) { if (panel->isInVisibleChain()) { - LLSideTray::getInstance()->hidePanel(panel_name); + LLFloaterReg::getInstance(floater_name)->closeFloater(); } else { - LLSideTray::getInstance()->showPanel(panel_name); + LLFloaterReg::getInstance(floater_name)->openFloater(); } } return true; @@ -5683,9 +5683,9 @@ class LLSidetrayPanelVisible : public view_listener_t { bool handleEvent(const LLSD& userdata) { - std::string panel_name = userdata.asString(); + std::string floater_name = userdata.asString(); // Toggle the panel - if (LLSideTray::getInstance()->isPanelActive(panel_name)) + if (LLFloaterReg::getInstance(floater_name)->isInVisibleChain()) { return true; } diff --git a/indra/newview/skins/default/xui/en/floater_my_inventory.xml b/indra/newview/skins/default/xui/en/floater_my_inventory.xml new file mode 100644 index 00000000000..fd03a5324e7 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_my_inventory.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<floater + can_close="true" + can_resize="true" + height="570" + help_topic="sidebar_inventory" + min_width="333" + min_height="440" + name="floater_my_inventory" + save_rect="true" + save_visibility="true" + title="My Inventory" + width="333" > + <panel + class="sidepanel_inventory" + name="main_panel" + filename="sidepanel_inventory.xml" + follows="all" + top="0"/> +</floater> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 36ebe737532..2e9a66de5b3 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -67,10 +67,10 @@ visible="true"> <menu_item_check.on_check function="SidetrayPanelVisible" - parameter="sidepanel_inventory" /> + parameter="my_inventory" /> <menu_item_check.on_click function="ShowSidetrayPanel" - parameter="sidepanel_inventory" /> + parameter="my_inventory" /> </menu_item_check> <menu_item_check label="My Gestures" diff --git a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml index d722c54081a..21dcacaabb9 100644 --- a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml @@ -324,7 +324,7 @@ width="100"> <bottomtray_button.commit_callback function="ShowSidetrayPanel" - parameter="panel_people" /> + parameter="people" /> </bottomtray_button> </layout_panel> <layout_panel -- GitLab From 3c8b0ab537049141b5ce6201fdf611ff09784df4 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Tue, 27 Sep 2011 22:06:56 +0300 Subject: [PATCH 050/213] EXP-1226 FIXED (Create and register a floater for Appearance side tab) - Added xml for a new floater Appearance and registred it in the floaterreg - Removed side tray dependencies - Added static helper method: LLFloaterSidePanelContainer::getPanel --- indra/newview/llagentwearables.cpp | 3 ++- indra/newview/llappearancemgr.cpp | 9 +++++---- indra/newview/llavataractions.cpp | 3 ++- indra/newview/llcofwearables.cpp | 5 +++-- indra/newview/llfloatersidepanelcontainer.cpp | 18 +++++++++++++++-- indra/newview/llfloatersidepanelcontainer.h | 5 +++++ indra/newview/llinventorybridge.cpp | 2 +- indra/newview/lloutfitslist.cpp | 3 ++- indra/newview/llpaneloutfitsinventory.cpp | 8 ++++---- indra/newview/llpanelwearing.cpp | 3 ++- indra/newview/llsidepanelappearance.cpp | 3 ++- indra/newview/llviewerfloaterreg.cpp | 1 + indra/newview/llviewerinventory.cpp | 3 ++- indra/newview/llviewermenu.cpp | 10 +++++----- indra/newview/llwearable.cpp | 7 ++++--- .../default/xui/en/floater_my_appearance.xml | 20 +++++++++++++++++++ 16 files changed, 76 insertions(+), 27 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_my_appearance.xml diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index b9125ec8d36..404cd8e5b6d 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -33,6 +33,7 @@ #include "llagentwearablesfetch.h" #include "llappearancemgr.h" #include "llcallbacklist.h" +#include "llfloatersidepanelcontainer.h" #include "llgesturemgr.h" #include "llinventorybridge.h" #include "llinventoryfunctions.h" @@ -2015,7 +2016,7 @@ void LLAgentWearables::editWearable(const LLUUID& item_id) } const BOOL disable_camera_switch = LLWearableType::getDisableCameraSwitch(wearable->getType()); - LLPanel* panel = LLSideTray::getInstance()->getPanel("sidepanel_appearance"); + LLPanel* panel = LLFloaterSidePanelContainer::getPanel("appearance"); LLSidepanelAppearance::editWearable(wearable, panel, disable_camera_switch); } diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 3cb9b77010e..c638f881a5f 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -34,6 +34,7 @@ #include "llattachmentsmgr.h" #include "llcommandhandler.h" #include "lleventtimer.h" +#include "llfloatersidepanelcontainer.h" #include "llgesturemgr.h" #include "llinventorybridge.h" #include "llinventoryfunctions.h" @@ -116,7 +117,7 @@ class LLAppearanceHandler : public LLCommandHandler return true; } - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD()); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD()); return true; } }; @@ -1505,7 +1506,7 @@ void LLAppearanceMgr::updateCOF(const LLUUID& category, bool append) void LLAppearanceMgr::updatePanelOutfitName(const std::string& name) { LLSidepanelAppearance* panel_appearance = - dynamic_cast<LLSidepanelAppearance *>(LLSideTray::getInstance()->getPanel("sidepanel_appearance")); + dynamic_cast<LLSidepanelAppearance *>(LLFloaterSidePanelContainer::getPanel("appearance")); if (panel_appearance) { panel_appearance->refreshCurrentOutfitName(name); @@ -1943,7 +1944,7 @@ void LLAppearanceMgr::wearInventoryCategoryOnAvatar( LLInventoryCategory* catego if (gAgentCamera.cameraCustomizeAvatar()) { // switching to outfit editor should automagically save any currently edited wearable - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } LLAppearanceMgr::changeOutfit(TRUE, category->getUUID(), append); @@ -2468,7 +2469,7 @@ class LLShowCreatedOutfit: public LLInventoryCallback LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key); } LLOutfitsList *outfits_list = - dynamic_cast<LLOutfitsList*>(LLSideTray::getInstance()->getPanel("outfitslist_tab")); + dynamic_cast<LLOutfitsList*>(LLFloaterSidePanelContainer::getPanel("appearance", "outfitslist_tab")); if (outfits_list) { outfits_list->setSelectedOutfitByUUID(mFolderID); diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 4cdfcea64eb..db5bbf71670 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -47,6 +47,7 @@ #include "llfloatergroups.h" #include "llfloaterreg.h" #include "llfloaterpay.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterwebcontent.h" #include "llfloaterworldmap.h" #include "llfolderview.h" @@ -462,7 +463,7 @@ namespace action_give_inventory */ static LLInventoryPanel* get_outfit_editor_inventory_panel() { - LLPanelOutfitEdit* panel_outfit_edit = dynamic_cast<LLPanelOutfitEdit*>(LLSideTray::getInstance()->getPanel("panel_outfit_edit")); + LLPanelOutfitEdit* panel_outfit_edit = dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); if (NULL == panel_outfit_edit) return NULL; LLInventoryPanel* inventory_panel = panel_outfit_edit->findChild<LLInventoryPanel>("folder_view"); diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 254c0adef16..80e0cca780c 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -33,6 +33,7 @@ #include "llagentdata.h" #include "llagentwearables.h" #include "llappearancemgr.h" +#include "llfloatersidepanelcontainer.h" #include "llinventory.h" #include "llinventoryfunctions.h" #include "lllistcontextmenu.h" @@ -165,7 +166,7 @@ class CofClothingContextMenu : public CofContextMenu // absent instance. Explicit relations between components avoids situations // when we tries to construct instance with unsatisfied implicit input conditions. LLPanelOutfitEdit * panel_outfit_edit = - dynamic_cast<LLPanelOutfitEdit*> (LLSideTray::getInstance()->getPanel( + dynamic_cast<LLPanelOutfitEdit*> (LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); if (panel_outfit_edit != NULL) { @@ -237,7 +238,7 @@ class CofBodyPartContextMenu : public CofContextMenu // *HACK* need to pass pointer to LLPanelOutfitEdit instead of LLSideTray::getInstance()->getPanel(). // LLSideTray::getInstance()->getPanel() is rather slow variant - LLPanelOutfitEdit* panel_oe = dynamic_cast<LLPanelOutfitEdit*>(LLSideTray::getInstance()->getPanel("panel_outfit_edit")); + LLPanelOutfitEdit* panel_oe = dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); registrar.add("BodyPart.Replace", boost::bind(&LLPanelOutfitEdit::onReplaceMenuItemClicked, panel_oe, selected_id)); registrar.add("BodyPart.Edit", boost::bind(LLAgentWearables::editWearable, selected_id)); registrar.add("BodyPart.Create", boost::bind(&CofBodyPartContextMenu::createNew, this, selected_id)); diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index cff46e80eb2..ab874e4b9f9 100644 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -33,6 +33,9 @@ #include "llsidetraypanelcontainer.h" #include "lltransientfloatermgr.h" +//static +const std::string LLFloaterSidePanelContainer::sMainPanelName("main_panel"); + LLFloaterSidePanelContainer::LLFloaterSidePanelContainer(const LLSD& key, const Params& params) : LLFloater(key, params) { @@ -48,7 +51,7 @@ LLFloaterSidePanelContainer::~LLFloaterSidePanelContainer() void LLFloaterSidePanelContainer::onOpen(const LLSD& key) { - getChild<LLPanel>("main_panel")->onOpen(key); + getChild<LLPanel>(sMainPanelName)->onOpen(key); } LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_name, const LLSD& params) @@ -82,6 +85,17 @@ void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, con LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); if (floaterp) { - floaterp->openChildPanel("main_panel", panel_name); + floaterp->openChildPanel(sMainPanelName, panel_name); } } + +LLPanel* LLFloaterSidePanelContainer::getPanel(const std::string& floater_name, const std::string& panel_name) +{ + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); + if (floaterp) + { + return floaterp->findChild<LLPanel>(panel_name, true); + } + + return NULL; +} diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index 7b4e7643aed..5c05f26f458 100644 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -42,6 +42,9 @@ */ class LLFloaterSidePanelContainer : public LLFloater { +private: + static const std::string sMainPanelName; + public: LLFloaterSidePanelContainer(const LLSD& key, const Params& params = getDefaultParams()); ~LLFloaterSidePanelContainer(); @@ -51,6 +54,8 @@ class LLFloaterSidePanelContainer : public LLFloater LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); static void showPanel(const std::string& floater_name, const LLSD& panel_name); + + static LLPanel* getPanel(const std::string& floater_name, const std::string& panel_name = sMainPanelName); }; #endif // LL_LLFLOATERSIDEPANELCONTAINER_H diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 0b3d6d80303..b6041c7f316 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -4781,7 +4781,7 @@ void remove_inventory_category_from_avatar( LLInventoryCategory* category ) if (gAgentCamera.cameraCustomizeAvatar()) { // switching to outfit editor should automagically save any currently edited wearable - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } remove_inventory_category_from_avatar_step2(TRUE, category->getUUID() ); diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index 10887aa53aa..c2739867b10 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -35,6 +35,7 @@ #include "llaccordionctrltab.h" #include "llagentwearables.h" #include "llappearancemgr.h" +#include "llfloatersidepanelcontainer.h" #include "llinventoryfunctions.h" #include "llinventorymodel.h" #include "lllistcontextmenu.h" @@ -327,7 +328,7 @@ class LLOutfitContextMenu : public LLListContextMenu static void editOutfit() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } static void renameOutfit(const LLUUID& outfit_cat_id) diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index a90f864ae27..3ac0d6616b3 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -31,6 +31,7 @@ #include "llnotificationsutil.h" #include "lltabcontainer.h" +#include "llfloatersidepanelcontainer.h" #include "llinventoryfunctions.h" #include "llinventorymodelbackgroundfetch.h" #include "llagentwearables.h" @@ -222,7 +223,7 @@ void LLPanelOutfitsInventory::onSave() //static LLPanelOutfitsInventory* LLPanelOutfitsInventory::findInstance() { - return dynamic_cast<LLPanelOutfitsInventory*>(LLSideTray::getInstance()->getPanel("panel_outfits_inventory")); + return dynamic_cast<LLPanelOutfitsInventory*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfits_inventory")); } ////////////////////////////////////////////////////////////////////////////////// @@ -319,8 +320,7 @@ void LLPanelOutfitsInventory::onWearablesLoading() // static LLSidepanelAppearance* LLPanelOutfitsInventory::getAppearanceSP() { - static LLSidepanelAppearance* panel_appearance = - dynamic_cast<LLSidepanelAppearance*> - (LLSideTray::getInstance()->getPanel("sidepanel_appearance")); + LLSidepanelAppearance* panel_appearance = + dynamic_cast<LLSidepanelAppearance*>(LLFloaterSidePanelContainer::getPanel("appearance")); return panel_appearance; } diff --git a/indra/newview/llpanelwearing.cpp b/indra/newview/llpanelwearing.cpp index f19b54c1d4d..87e9bb7b288 100644 --- a/indra/newview/llpanelwearing.cpp +++ b/indra/newview/llpanelwearing.cpp @@ -31,6 +31,7 @@ #include "lltoggleablemenu.h" #include "llappearancemgr.h" +#include "llfloatersidepanelcontainer.h" #include "llinventoryfunctions.h" #include "llinventorymodel.h" #include "llinventoryobserver.h" @@ -44,7 +45,7 @@ // Context menu and Gear menu helper. static void edit_outfit() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } ////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 28ec11d1c7b..a356013830d 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -32,6 +32,7 @@ #include "llagentcamera.h" #include "llagentwearables.h" #include "llappearancemgr.h" +#include "llfloatersidepanelcontainer.h" #include "llfolderview.h" #include "llinventorypanel.h" #include "llfiltereditor.h" @@ -456,7 +457,7 @@ void LLSidepanelAppearance::refreshCurrentOutfitName(const std::string& name) //static void LLSidepanelAppearance::editWearable(LLWearable *wearable, LLView *data, BOOL disable_camera_switch) { - LLSideTray::getInstance()->showPanel("sidepanel_appearance"); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD()); LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(data); if (panel) diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b28373c6d50..665e0a2bd61 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -161,6 +161,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterAboutUtil::registerFloater(); LLFloaterReg::add("about_land", "floater_about_land.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLand>); + LLFloaterReg::add("appearance", "floater_my_appearance.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("auction", "floater_auction.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAuction>); LLFloaterReg::add("avatar_picker", "floater_avatar_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarPicker>); LLFloaterReg::add("avatar_textures", "floater_avatar_textures.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarTextures>); diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index ad65a8846c6..6b5b47d0db1 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -34,6 +34,7 @@ #include "llagent.h" #include "llagentcamera.h" #include "llagentwearables.h" +#include "llfloatersidepanelcontainer.h" #include "llviewerfoldertype.h" #include "llfolderview.h" #include "llviewercontrol.h" @@ -976,7 +977,7 @@ void ModifiedCOFCallback::fire(const LLUUID& inv_item) if( gAgentCamera.cameraCustomizeAvatar() ) { // If we're in appearance editing mode, the current tab may need to be refreshed - LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLSideTray::getInstance()->getPanel("sidepanel_appearance")); + LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLFloaterSidePanelContainer::getPanel("appearance")); if (panel) { panel->showDefaultSubpart(); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 63d6e0ac304..1dd5b058180 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3758,7 +3758,7 @@ void handle_reset_view() if (gAgentCamera.cameraCustomizeAvatar()) { // switching to outfit selector should automagically save any currently edited wearable - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "my_outfits")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "my_outfits")); } gAgentCamera.switchCameraPreset(CAMERA_PRESET_REAR_VIEW); @@ -5576,22 +5576,22 @@ void handle_viewer_disable_message_log(void*) void handle_customize_avatar() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "my_outfits")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "my_outfits")); } void handle_edit_outfit() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } void handle_edit_shape() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_shape")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_shape")); } void handle_edit_physics() { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_physics")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_physics")); } void handle_report_abuse() diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp index d1c0990f90d..276e8f462d4 100644 --- a/indra/newview/llwearable.cpp +++ b/indra/newview/llwearable.cpp @@ -30,6 +30,7 @@ #include "llagentcamera.h" #include "llagentwearables.h" #include "lldictionary.h" +#include "llfloatersidepanelcontainer.h" #include "lllocaltextureobject.h" #include "llnotificationsutil.h" #include "llviewertexturelist.h" @@ -697,7 +698,7 @@ void LLWearable::removeFromAvatar( LLWearableType::EType type, BOOL upload_bake if(gAgentCamera.cameraCustomizeAvatar()) { - LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit")); + LLFloaterSidePanelContainer::showPanel("appearance", LLSD().with("type", "edit_outfit")); } gAgentAvatarp->updateVisualParams(); @@ -967,7 +968,7 @@ void LLWearable::revertValues() syncImages(mSavedTEMap, mTEMap); - LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLSideTray::getInstance()->getPanel("sidepanel_appearance")); + LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLFloaterSidePanelContainer::getPanel("appearance")); if( panel ) { panel->updateScrollingPanelList(); @@ -1008,7 +1009,7 @@ void LLWearable::saveValues() syncImages(mTEMap, mSavedTEMap); - LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLSideTray::getInstance()->getPanel("sidepanel_appearance")); + LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(LLFloaterSidePanelContainer::getPanel("appearance")); if( panel ) { panel->updateScrollingPanelList(); diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml new file mode 100644 index 00000000000..8f97887b3f2 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> + +<floater + legacy_header_height="18" + can_resize="true" + height="588" + layout="topleft" + name="floater_my_appearance" + save_rect="true" + single_instance="true" + title="MY APPEARANCE" + width="333"> + <panel + top="18" + class="sidepanel_appearance" + name="main_panel" + filename="sidepanel_appearance.xml" + label="Edit Appearance" + font="SansSerifBold"/> +</floater> -- GitLab From b6feeea2b550b981dbb04558902020e8cae16f7b Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 27 Sep 2011 12:40:06 -0700 Subject: [PATCH 051/213] * Updated toybox to center bottom button and add delimeter --- .../skins/default/xui/en/floater_toybox.xml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 60a39b0bff7..092eddaa53c 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -46,6 +46,7 @@ <toolbar bottom="395" button_display_mode="icons_with_text" + follows="all" left="20" max_button_width="140" min_button_width="70" @@ -58,15 +59,22 @@ read_only="true" right="-20" side="top" - top="85"> - </toolbar> + top="85" /> + <panel + bevel_style="none" + border="true" + bottom="396" + follows="left|bottom|right" + left="20" + right="-20" + top="396" /> <button - follows="left|bottom" + follows="left|bottom|right" height="23" label="Restore defaults" label_selected="Restore defaults" layout="topleft" - left="20" + left="260" name="btn_restore_defaults" top="415" width="130"> -- GitLab From a686aeabffe619c9a467455982f1a39968fbd9e3 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 27 Sep 2011 12:40:47 -0700 Subject: [PATCH 052/213] * Modified toolbar context menus to bind to the specific instance of the toolbar --- indra/llui/lltoolbar.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 2fb9f249d48..9986eece2d7 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -123,12 +123,16 @@ void LLToolBar::createContextMenu() { if (!mPopupMenuHandle.get()) { + // Setup bindings specific to this instance for the context menu options + LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar(); commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2)); LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar(); enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2)); + // Create the context menu + LLContextMenu* menu = LLUICtrlFactory::instance().createFromFile<LLContextMenu>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance()); if (menu) @@ -141,6 +145,10 @@ void LLToolBar::createContextMenu() { llwarns << "Unable to load toolbars context menu." << llendl; } + + // Remove this instance's bindings + commit_reg.remove("Toolbars.EnableSetting"); + enable_reg.remove("Toolbars.CheckSetting"); } } @@ -251,11 +259,13 @@ BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) if (handle_it_here) { createContextMenu(); + LLContextMenu * menu = (LLContextMenu *) mPopupMenuHandle.get(); if (menu) { menu->show(x, y); + LLMenuGL::showPopup(this, menu, x, y); } } -- GitLab From 8fd2d69fdf47e0f586c6010c589411e251967038 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Tue, 27 Sep 2011 22:51:43 +0300 Subject: [PATCH 053/213] EXP-1224 FIXED (Create and register a floater for People side tab) - Added a floater for People side tab. - Replaced calls to LLSideTray with LLFloaterSidePanelContainer. --- indra/newview/llbottomtray.cpp | 3 +- indra/newview/llchathistory.cpp | 3 +- indra/newview/llfloaterpreference.cpp | 3 +- indra/newview/llfloatersidepanelcontainer.cpp | 25 ++++++++++- indra/newview/llfloatersidepanelcontainer.h | 26 ++++++++++- indra/newview/llgroupactions.cpp | 15 ++++--- indra/newview/llnearbychat.cpp | 3 +- indra/newview/llpanelblockedlist.cpp | 3 +- indra/newview/llpanelgroup.cpp | 5 ++- indra/newview/llpanelpeople.cpp | 13 ++++++ indra/newview/llpanelpicks.cpp | 3 +- indra/newview/llviewerfloaterreg.cpp | 1 + .../skins/default/xui/en/floater_people.xml | 45 +++++++++++++++++++ .../xui/en/menu_people_friends_view_sort.xml | 2 +- .../xui/en/menu_people_nearby_view_sort.xml | 2 +- .../xui/en/menu_people_recent_view_sort.xml | 2 +- 16 files changed, 133 insertions(+), 21 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_people.xml diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 79e6c7b66bd..e6448d38eec 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -31,6 +31,7 @@ // library includes #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llflyoutbutton.h" #include "lllayoutstack.h" #include "llnotifications.h" @@ -856,7 +857,7 @@ void LLBottomTray::draw() } getChild<LLButton>("show_profile_btn")->setToggleState(LLAvatarActions::profileVisible(gAgent.getID())); - LLPanel* panel = LLSideTray::getInstance()->getPanel("panel_people"); + LLPanel* panel = LLFloaterSidePanelContainer::getPanel("people", "panel_people"); if (panel && panel->isInVisibleChain()) { getChild<LLButton>("show_people_button")->setToggleState(true); diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index c0c9ea14516..d6773b8b295 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -42,6 +42,7 @@ #include "llavataractions.h" #include "lltrans.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llmutelist.h" #include "llstylemap.h" #include "llslurl.h" @@ -144,7 +145,7 @@ class LLChatHistoryHeader: public LLPanel { LLMuteList::getInstance()->add(LLMute(getAvatarId(), mFrom, LLMute::OBJECT)); - LLSideTray::getInstance()->showPanel("panel_block_list_sidetray", LLSD().with("blocked_to_select", getAvatarId())); + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD().with("blocked_to_select", getAvatarId())); } } diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index d65928e3859..d8b6b2e966e 100755 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -50,6 +50,7 @@ #include "llfloaterreg.h" #include "llfloaterabout.h" #include "llfloaterhardwaresettings.h" +#include "llfloatersidepanelcontainer.h" #include "llimfloater.h" #include "llkeyboard.h" #include "llmodaldialog.h" @@ -1499,7 +1500,7 @@ void LLFloaterPreference::onClickBlockList() // don't create side tray on demand if (LLSideTray::instanceCreated()) { - LLSideTray::getInstance()->showPanel("panel_block_list_sidetray"); + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); } } diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index cf66fd1792d..d77232a8887 100644 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -77,11 +77,32 @@ LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_na return panel; } -void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const LLSD& panel_name) +LLPanel* LLFloaterSidePanelContainer::getPanel(const std::string& floater_name, const std::string& panel_name) +{ + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); + + if (floaterp) + { + return floaterp->findChild<LLPanel>(panel_name, true); + } + + return NULL; +} + +void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const LLSD& key) +{ + LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); + if (floaterp) + { + floaterp->openChildPanel("main_panel", key); + } +} + +void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const std::string& panel_name, const LLSD& key) { LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name); if (floaterp) { - floaterp->openChildPanel("main_panel", panel_name); + floaterp->openChildPanel(panel_name, key); } } diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index 7b4e7643aed..a5ea1a23fbe 100644 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -42,6 +42,9 @@ */ class LLFloaterSidePanelContainer : public LLFloater { +private: + static const std::string sMainPanelName; + public: LLFloaterSidePanelContainer(const LLSD& key, const Params& params = getDefaultParams()); ~LLFloaterSidePanelContainer(); @@ -50,7 +53,28 @@ class LLFloaterSidePanelContainer : public LLFloater LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); - static void showPanel(const std::string& floater_name, const LLSD& panel_name); + static LLPanel* getPanel(const std::string& floater_name, const std::string& panel_name = sMainPanelName); + + static void showPanel(const std::string& floater_name, const LLSD& key); + + static void showPanel(const std::string& floater_name, const std::string& panel_name, const LLSD& key); + + /** + * Gets the panel of given type T (doesn't show it or do anything else with it). + * + * @param panel_name a string specifying a child panel to get. + * @returns a pointer to the panel of given type T. + */ + template <typename T> + static T* getPanel(const std::string& floater_name, const std::string& panel_name = sMainPanelName) + { + T* panel = dynamic_cast<T*>(getPanel(floater_name, panel_name)); + if (!panel) + { + llwarns << "Child named \"" << panel_name << "\" of type " << typeid(T*).name() << " not found" << llendl; + } + return panel; + } }; #endif // LL_LLFLOATERSIDEPANELCONTAINER_H diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index 97fa5514417..cbbd66d8684 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -34,6 +34,7 @@ #include "llagent.h" #include "llcommandhandler.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llgroupmgr.h" #include "llimview.h" // for gIMMgr #include "llnotificationsutil.h" @@ -83,7 +84,7 @@ class LLGroupHandler : public LLCommandHandler { LLSD params; params["people_panel_tab_name"] = "groups_panel"; - LLSideTray::getInstance()->showPanel("panel_people", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_people", params); return true; } return false; @@ -243,7 +244,7 @@ static bool isGroupUIVisible() { static LLPanel* panel = 0; if(!panel) - panel = LLSideTray::getInstance()->getPanel("panel_group_info_sidetray"); + panel = LLFloaterSidePanelContainer::getPanel("people", "panel_group_info_sidetray"); if(!panel) return false; return panel->isInVisibleChain(); @@ -265,7 +266,7 @@ void LLGroupActions::show(const LLUUID& group_id) params["group_id"] = group_id; params["open_tab_name"] = "panel_group_info_sidetray"; - LLSideTray::getInstance()->showPanel("panel_group_info_sidetray", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params); } void LLGroupActions::refresh_notices() @@ -278,7 +279,7 @@ void LLGroupActions::refresh_notices() params["open_tab_name"] = "panel_group_info_sidetray"; params["action"] = "refresh_notices"; - LLSideTray::getInstance()->showPanel("panel_group_info_sidetray", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params); } //static @@ -292,7 +293,7 @@ void LLGroupActions::refresh(const LLUUID& group_id) params["open_tab_name"] = "panel_group_info_sidetray"; params["action"] = "refresh"; - LLSideTray::getInstance()->showPanel("panel_group_info_sidetray", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params); } //static @@ -303,7 +304,7 @@ void LLGroupActions::createGroup() params["open_tab_name"] = "panel_group_info_sidetray"; params["action"] = "create"; - LLSideTray::getInstance()->showPanel("panel_group_info_sidetray", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params); } //static @@ -317,7 +318,7 @@ void LLGroupActions::closeGroup(const LLUUID& group_id) params["open_tab_name"] = "panel_group_info_sidetray"; params["action"] = "close"; - LLSideTray::getInstance()->showPanel("panel_group_info_sidetray", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params); } diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 03ebc344f17..44c29fe05ef 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -33,6 +33,7 @@ //#include "llchatitemscontainerctrl.h" #include "lliconctrl.h" #include "llsidetray.h" +#include "llfloatersidepanelcontainer.h" #include "llfocusmgr.h" #include "llresizebar.h" #include "llresizehandle.h" @@ -203,7 +204,7 @@ void LLNearbyChat::onNearbySpeakers() { LLSD param; param["people_panel_tab_name"] = "nearby_panel"; - LLSideTray::getInstance()->showPanel("panel_people",param); + LLFloaterSidePanelContainer::showPanel("people", "panel_people", param); } diff --git a/indra/newview/llpanelblockedlist.cpp b/indra/newview/llpanelblockedlist.cpp index 81e199d85b5..856dabb6b78 100644 --- a/indra/newview/llpanelblockedlist.cpp +++ b/indra/newview/llpanelblockedlist.cpp @@ -37,6 +37,7 @@ // project include #include "llfloateravatarpicker.h" +#include "llfloatersidepanelcontainer.h" #include "llsidetray.h" #include "llsidetraypanelcontainer.h" @@ -99,7 +100,7 @@ void LLPanelBlockedList::selectBlocked(const LLUUID& mute_id) void LLPanelBlockedList::showPanelAndSelect(const LLUUID& idToSelect) { - LLSideTray::getInstance()->showPanel("panel_block_list_sidetray", LLSD().with(BLOCKED_PARAM_NAME, idToSelect)); + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD().with(BLOCKED_PARAM_NAME, idToSelect)); } diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 76b85d5bec3..70dcf61d7d9 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -29,6 +29,7 @@ // Library includes #include "llbutton.h" +#include "llfloatersidepanelcontainer.h" #include "lltabcontainer.h" #include "lltextbox.h" #include "lluictrlfactory.h" @@ -597,7 +598,7 @@ void LLPanelGroup::showNotice(const std::string& subject, //static void LLPanelGroup::refreshCreatedGroup(const LLUUID& group_id) { - LLPanelGroup* panel = LLSideTray::getInstance()->getPanel<LLPanelGroup>("panel_group_info_sidetray"); + LLPanelGroup* panel = LLFloaterSidePanelContainer::getPanel<LLPanelGroup>("people", "panel_group_info_sidetray"); if(!panel) return; panel->setGroupID(group_id); @@ -612,7 +613,7 @@ void LLPanelGroup::showNotice(const std::string& subject, const std::string& inventory_name, LLOfferInfo* inventory_offer) { - LLPanelGroup* panel = LLSideTray::getInstance()->getPanel<LLPanelGroup>("panel_group_info_sidetray"); + LLPanelGroup* panel = LLFloaterSidePanelContainer::getPanel<LLPanelGroup>("people", "panel_group_info_sidetray"); if(!panel) return; diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index e3a7b749ea6..8d63ced53a3 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -29,6 +29,7 @@ // libs #include "llavatarname.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llmenubutton.h" #include "llmenugl.h" #include "llnotificationsutil.h" @@ -1283,6 +1284,10 @@ void LLPanelPeople::onFriendsViewSortMenuItemClicked(const LLSD& userdata) mAllFriendList->showPermissions(show_permissions); mOnlineFriendList->showPermissions(show_permissions); } + else if (chosen_item == "panel_block_list_sidetray") + { + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); + } } void LLPanelPeople::onGroupsViewSortMenuItemClicked(const LLSD& userdata) @@ -1315,6 +1320,10 @@ void LLPanelPeople::onNearbyViewSortMenuItemClicked(const LLSD& userdata) { setSortOrder(mNearbyList, E_SORT_BY_DISTANCE); } + else if (chosen_item == "panel_block_list_sidetray") + { + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); + } } bool LLPanelPeople::onNearbyViewSortMenuItemCheck(const LLSD& userdata) @@ -1348,6 +1357,10 @@ void LLPanelPeople::onRecentViewSortMenuItemClicked(const LLSD& userdata) { mRecentList->toggleIcons(); } + else if (chosen_item == "panel_block_list_sidetray") + { + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); + } } bool LLPanelPeople::onFriendsViewSortMenuItemCheck(const LLSD& userdata) diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index ddce83c616d..12217a7db43 100755 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -35,6 +35,7 @@ #include "lldispatcher.h" #include "llflatlistview.h" #include "llfloaterreg.h" +#include "llfloatersidepanelcontainer.h" #include "llfloaterworldmap.h" #include "llnotificationsutil.h" #include "lltexturectrl.h" @@ -270,7 +271,7 @@ class LLClassifiedHandler : params["classified_name"] = c_info->name; params["classified_desc"] = c_info->description; params["from_search"] = true; - LLSideTray::getInstance()->showPanel("panel_profile_view", params); + LLFloaterSidePanelContainer::showPanel("people", "panel_profile_view", params); } else if (mRequestVerb == "edit") { diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b28373c6d50..10aa58f266a 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -231,6 +231,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("outgoing_call", "floater_outgoing_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutgoingCallDialog>); LLFloaterPayUtil::registerFloater(); + LLFloaterReg::add("people", "floater_people.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("places", "floater_places.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("postcard", "floater_postcard.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPostcard>); LLFloaterReg::add("preferences", "floater_preferences.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreference>); diff --git a/indra/newview/skins/default/xui/en/floater_people.xml b/indra/newview/skins/default/xui/en/floater_people.xml new file mode 100644 index 00000000000..6ccf81c846d --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_people.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> + +<floater + legacy_header_height="18" + can_close="true" + can_resize="true" + height="588" + min_width="333" + min_height="440" + layout="topleft" + name="floater_people" + save_rect="true" + single_instance="true" + title="PEOPLE" + width="333"> + <panel_container + default_panel_name="panel_people" + follows="all" + layout="topleft" + name="main_panel" + top="18" + width="333" + height="570"> + <panel + class="panel_people" + 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" + label="Group Profile" + font="SansSerifBold"/> + <panel + class="panel_block_list_sidetray" + name="panel_block_list_sidetray" + filename="panel_block_list_sidetray.xml" + label="Blocked Residents & Objects" + font="SansSerifBold"/> + </panel_container> +</floater> diff --git a/indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml index 29eeb93ac15..b452f96e7a9 100644 --- a/indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml +++ b/indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml @@ -42,6 +42,6 @@ </menu_item_check> <menu_item_separator layout="topleft" /> <menu_item_call name="show_blocked_list" label="Show Blocked Residents & Objects"> - <menu_item_call.on_click function="SideTray.ShowPanel" parameter="panel_block_list_sidetray" /> + <menu_item_call.on_click function="People.Friends.ViewSort.Action" parameter="panel_block_list_sidetray" /> </menu_item_call> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml index 65bd2793b60..614dd693c57 100644 --- a/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml +++ b/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml @@ -52,6 +52,6 @@ </menu_item_check> <menu_item_separator layout="topleft" /> <menu_item_call name="show_blocked_list" label="Show Blocked Residents & Objects"> - <menu_item_call.on_click function="SideTray.ShowPanel" userdata="panel_block_list_sidetray" /> + <menu_item_call.on_click function="People.Nearby.ViewSort.Action" userdata="panel_block_list_sidetray" /> </menu_item_call> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml index 0634e3bd3b7..485a5a658ca 100644 --- a/indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml +++ b/indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml @@ -34,6 +34,6 @@ </menu_item_check> <menu_item_separator layout="topleft" /> <menu_item_call name="show_blocked_list" label="Show Blocked Residents & Objects"> - <menu_item_call.on_click function="SideTray.ShowPanel" userdata="panel_block_list_sidetray" /> + <menu_item_call.on_click function="People.Recent.ViewSort.Action" userdata="panel_block_list_sidetray" /> </menu_item_call> </toggleable_menu> -- GitLab From 0e4f226b56cb2dea1e8d5e9f1267a16c302bb5a9 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 27 Sep 2011 14:58:20 -0700 Subject: [PATCH 054/213] EXP-1211 : Read toolbar default settings from toolbars.xml, no saving of settings done yet. --- indra/llui/lltoolbar.cpp | 13 +-- indra/llui/lltoolbarview.cpp | 101 +++++++++++++++++- indra/llui/lltoolbarview.h | 32 +++++- indra/newview/CMakeLists.txt | 1 + indra/newview/app_settings/toolbars.xml | 23 ++++ .../default/xui/en/panel_toolbar_view.xml | 9 -- 6 files changed, 156 insertions(+), 23 deletions(-) create mode 100644 indra/newview/app_settings/toolbars.xml diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 2fb9f249d48..f8effb5bb6b 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -187,12 +187,6 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - BOOST_FOREACH (const LLCommandId::Params& command_id, p.commands) - { - mButtonCommands.push_back(command_id); - } - createButtons(); - mNeedsLayout = true; } @@ -202,8 +196,11 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) bool add_command = (command != NULL); - mButtonCommands.push_back(commandId); - createButtons(); + if (add_command) + { + mButtonCommands.push_back(commandId); + createButtons(); + } return add_command; } diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 6ae10fbf1dc..139a26a251d 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -29,13 +29,108 @@ #include "lltoolbarview.h" +#include "lldir.h" +#include "llxmlnode.h" #include "lltoolbar.h" #include "llbutton.h" +#include <boost/foreach.hpp> + LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); +LLToolBarView::Toolbar::Toolbar() +: commands("command") +{} + +LLToolBarView::ToolbarSet::ToolbarSet() +: left_toolbar("left_toolbar"), + right_toolbar("right_toolbar"), + bottom_toolbar("bottom_toolbar") +{} + +bool LLToolBarView::load() +{ + LLToolBarView::ToolbarSet toolbar_set; + + // Load the default toolbars.xml file + // *TODO : pick up the user's toolbar setting if existing + std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); + + LLXMLNodePtr root; + if(!LLXMLNode::parseFile(toolbar_file, root, NULL)) + { + llerrs << "Unable to load toolbars from file: " << toolbar_file << llendl; + return false; + } + if(!root->hasName("toolbars")) + { + llwarns << toolbar_file << " is not a valid toolbars definition file" << llendl; + return false; + } + + // Parse the toolbar settings + LLXUIParser parser; + parser.readXUI(root, toolbar_set, toolbar_file); + if (!toolbar_set.validateBlock()) + { + llerrs << "Unable to validate toolbars from file: " << toolbar_file << llendl; + return false; + } + + // Add commands to each toolbar + // *TODO: factorize that code : tricky with Blocks though, simple lexical approach fails + LLCommandManager& mgr = LLCommandManager::instance(); + + if (toolbar_set.left_toolbar.isProvided() && mToolbarLeft) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) + { + LLCommandId* commandId = new LLCommandId(command); + if (mgr.getCommand(*commandId)) + { + mToolbarLeft->addCommand(*commandId); + } + else + { + llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; + } + } + } + if (toolbar_set.right_toolbar.isProvided() && mToolbarRight) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) + { + LLCommandId* commandId = new LLCommandId(command); + if (mgr.getCommand(*commandId)) + { + mToolbarRight->addCommand(*commandId); + } + else + { + llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; + } + } + } + if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) + { + LLCommandId* commandId = new LLCommandId(command); + if (mgr.getCommand(*commandId)) + { + mToolbarBottom->addCommand(*commandId); + } + else + { + llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; + } + } + } + return true; +} + LLToolBarView::LLToolBarView(const LLToolBarView::Params& p) : LLUICtrl(p), mToolbarLeft(NULL), @@ -59,6 +154,10 @@ BOOL LLToolBarView::postBuild() mToolbarLeft = getChild<LLToolBar>("toolbar_left"); mToolbarRight = getChild<LLToolBar>("toolbar_right"); mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); + + // Load the toolbars from the settings + load(); + return TRUE; } @@ -86,7 +185,7 @@ void LLToolBarView::draw() static S32 old_width = 0; static S32 old_height = 0; - LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); +// LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); LLRect bottom_rect, left_rect, right_rect; diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 2e7885f3911..0f16b89ecc8 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -39,18 +39,36 @@ class LLUICtrlFactory; class LLToolBarView : public LLUICtrl { public: + // Xui structure of the toolbar panel struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> {}; + + // Note: valid children for LLToolBarView are stored in this registry + typedef LLDefaultChildRegistry child_registry_t; - virtual ~LLToolBarView(); - /*virtual*/ BOOL postBuild(); + // Xml structure of the toolbars.xml setting + // Those live in a toolbars.xml found in app_settings (for the default) and in + // the user folder for the user specific (saved) settings + struct Toolbar : public LLInitParam::Block<Toolbar> + { + Multiple<LLCommandId::Params> commands; + Toolbar(); + }; + struct ToolbarSet : public LLInitParam::Block<ToolbarSet> + { + Optional<Toolbar> left_toolbar, + right_toolbar, + bottom_toolbar; + ToolbarSet(); + }; + // Derived methods + virtual ~LLToolBarView(); + virtual BOOL postBuild(); virtual void draw(); + // Toolbar view interface with the rest of the world bool hasCommand(const LLCommandId& commandId) const; - // valid children for LLToolBarView are stored in this registry - typedef LLDefaultChildRegistry child_registry_t; - protected: friend class LLUICtrlFactory; LLToolBarView(const Params&); @@ -58,6 +76,10 @@ class LLToolBarView : public LLUICtrl void initFromParams(const Params&); private: + // Loads the toolbars from the existing user or default settings + bool load(); // return false if load fails + + // Pointers to the toolbars handled by the toolbar view LLToolBar* mToolbarLeft; LLToolBar* mToolbarRight; LLToolBar* mToolbarBottom; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 597a1dd603a..38d6ff0f583 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1423,6 +1423,7 @@ set(viewer_APPSETTINGS_FILES app_settings/settings_files.xml app_settings/settings_per_account.xml app_settings/std_bump.ini + app_settings/toolbars.xml app_settings/trees.xml app_settings/ultra_graphics.xml app_settings/viewerart.xml diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml new file mode 100644 index 00000000000..55327ea919a --- /dev/null +++ b/indra/newview/app_settings/toolbars.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toolbars> + <bottom_toolbar> + <command name="chat"/> + <command name="speak"/> + <command name="places"/> + <command name="people"/> + <command name="profile"/> + <command name="view"/> + <command name="move"/> + <command name="howto"/> + </bottom_toolbar> + <left_toolbar> + <command name="avatar"/> + <command name="inventory"/> + <command name="snapshot"/> + <command name="search"/> + <command name="shop"/> + <command name="move_objects"/> + <command name="minimap"/> + <command name="preferences"/> + </left_toolbar> +</toolbars> \ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 23ea516b867..fa7632920bf 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -47,9 +47,6 @@ top="0" side="left" button_display_mode="icons_only"> - <command name="avatar"/> - <command name="build"/> - <command name="chat"/> </toolbar> </layout_panel> <layout_panel name="non_toolbar_panel" @@ -72,9 +69,6 @@ top="0" side="right" button_display_mode="icons_only"> - <command name="avatar"/> - <command name="build"/> - <command name="chat"/> </toolbar> </layout_panel> </layout_stack> @@ -96,9 +90,6 @@ follows="left|right|bottom" button_display_mode="icons_with_text" visible="true"> - <command name="avatar"/> - <command name="build"/> - <command name="chat"/> </toolbar> </layout_panel> </layout_stack> -- GitLab From 0207d7e9e4e5b509b5905256a56ac2138b35cac3 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Tue, 27 Sep 2011 15:41:06 -0700 Subject: [PATCH 055/213] EXP-1247 Nearby chat as part of chat floater --- indra/llui/llresizehandle.cpp | 12 +++++ indra/llui/llresizehandle.h | 5 ++ indra/newview/llchatbar.cpp | 2 +- indra/newview/llimview.cpp | 4 +- indra/newview/llnearbychat.cpp | 53 ++++++------------- indra/newview/llnearbychat.h | 11 ++-- indra/newview/llnearbychatbar.cpp | 38 +++++++++---- indra/newview/llnearbychatbar.h | 4 +- indra/newview/llnearbychathandler.cpp | 11 ++-- indra/newview/llnotificationhandlerutil.cpp | 2 +- indra/newview/llnotificationtiphandler.cpp | 3 +- indra/newview/llviewerfloaterreg.cpp | 1 - indra/newview/llviewermessage.cpp | 4 +- .../skins/default/xui/en/floater_chat_bar.xml | 23 +++++--- 14 files changed, 96 insertions(+), 77 deletions(-) diff --git a/indra/llui/llresizehandle.cpp b/indra/llui/llresizehandle.cpp index c3a51c36c94..942e84eeb65 100644 --- a/indra/llui/llresizehandle.cpp +++ b/indra/llui/llresizehandle.cpp @@ -55,6 +55,8 @@ LLResizeHandle::LLResizeHandle(const LLResizeHandle::Params& p) mImage( NULL ), mMinWidth( p.min_width ), mMinHeight( p.min_height ), + mMaxWidth(S32_MAX), + mMaxHeight(S32_MAX), mCorner( p.corner ) { if( RIGHT_BOTTOM == mCorner) @@ -177,6 +179,11 @@ BOOL LLResizeHandle::handleHover(S32 x, S32 y, MASK mask) new_width = mMinWidth; delta_x = x_multiple * (mMinWidth - orig_rect.getWidth()); } + else if (new_width > mMaxWidth) + { + new_width = mMaxWidth; + delta_x = x_multiple * (mMaxWidth - orig_rect.getWidth()); + } S32 new_height = orig_rect.getHeight() + y_multiple * delta_y; if( new_height < mMinHeight ) @@ -184,6 +191,11 @@ BOOL LLResizeHandle::handleHover(S32 x, S32 y, MASK mask) new_height = mMinHeight; delta_y = y_multiple * (mMinHeight - orig_rect.getHeight()); } + else if (new_height > mMaxHeight) + { + new_height = mMaxHeight; + delta_y = y_multiple * (mMaxHeight - orig_rect.getHeight()); + } switch( mCorner ) { diff --git a/indra/llui/llresizehandle.h b/indra/llui/llresizehandle.h index 531eb1db618..5cfe3fb63c9 100644 --- a/indra/llui/llresizehandle.h +++ b/indra/llui/llresizehandle.h @@ -56,6 +56,9 @@ class LLResizeHandle : public LLView void setResizeLimits( S32 min_width, S32 min_height ) { mMinWidth = min_width; mMinHeight = min_height; } + void setMaxWidth(S32 width) { mMaxWidth = width;} + void setMaxHeight(S32 height) { mMaxHeight = height;} + private: BOOL pointInHandle( S32 x, S32 y ); @@ -66,7 +69,9 @@ class LLResizeHandle : public LLView LLCoordGL mLastMouseDir; LLPointer<LLUIImage> mImage; S32 mMinWidth; + S32 mMaxWidth; S32 mMinHeight; + S32 mMaxHeight; const ECorner mCorner; }; diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp index cf0374075a2..fb3abb132b7 100644 --- a/indra/newview/llchatbar.cpp +++ b/indra/newview/llchatbar.cpp @@ -95,7 +95,7 @@ LLChatBar::LLChatBar() mGestureCombo(NULL), mObserver(NULL) { - setIsChrome(TRUE); + //setIsChrome(TRUE); } diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 4de69765343..46025337361 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2449,8 +2449,10 @@ void LLIMMgr::addSystemMessage(const LLUUID& session_id, const std::string& mess LLChat chat(message); chat.mSourceType = CHAT_SOURCE_SYSTEM; + + LLFloater* chat_bar = LLFloaterReg::getInstance("chat_bar"); + LLNearbyChat* nearby_chat = chat_bar->findChild<LLNearbyChat>("nearby_chat"); - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); if(nearby_chat) { nearby_chat->addMessage(chat); diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 8d57ae3a327..07e94f957ae 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -57,11 +57,13 @@ static const S32 RESIZE_BAR_THICKNESS = 3; -LLNearbyChat::LLNearbyChat(const LLSD& key) - : LLFloater(key) + +static LLRegisterPanelClassWrapper<LLNearbyChat> t_panel_nearby_chat("panel_nearby_chat"); + +LLNearbyChat::LLNearbyChat() + : LLPanel() ,mChatHistory(NULL) { - } LLNearbyChat::~LLNearbyChat() @@ -86,29 +88,12 @@ BOOL LLNearbyChat::postBuild() mChatHistory = getChild<LLChatHistory>("chat_history"); - if(!LLFloater::postBuild()) + if(!LLPanel::postBuild()) return false; - - if (mDragHandle) - mDragHandle->setTitleVisible(TRUE); - + return true; } - -void LLNearbyChat::applySavedVariables() -{ - if (mRectControl.size() > 1) - { - const LLRect& rect = LLFloater::getControlGroup()->getRect(mRectControl); - if(!rect.isEmpty() && rect.isValid()) - { - reshape(rect.getWidth(), rect.getHeight()); - setRect(rect); - } - } -} - std::string appendTime() { time_t utc_time; @@ -204,18 +189,9 @@ void LLNearbyChat::setVisible(BOOL visible) } } - LLFloater::setVisible(visible); + LLPanel::setVisible(visible); } -void LLNearbyChat::onOpen(const LLSD& key ) -{ - LLFloater::onOpen(key); -} - -void LLNearbyChat::setRect (const LLRect &rect) -{ - LLFloater::setRect(rect); -} void LLNearbyChat::getAllowedRect(LLRect& rect) { @@ -238,9 +214,9 @@ void LLNearbyChat::updateChatHistoryStyle() //static void LLNearbyChat::processChatHistoryStyleUpdate(const LLSD& newvalue) { - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); - if(nearby_chat) - nearby_chat->updateChatHistoryStyle(); + //LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + //if(nearby_chat) + // nearby_chat->updateChatHistoryStyle(); } bool isWordsName(const std::string& name) @@ -314,7 +290,8 @@ void LLNearbyChat::loadHistory() //static LLNearbyChat* LLNearbyChat::getInstance() { - return LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + LLFloater* chat_bar = LLFloaterReg::getInstance("chat_bar"); + return chat_bar->findChild<LLNearbyChat>("nearby_chat"); } //////////////////////////////////////////////////////////////////////////////// @@ -342,7 +319,7 @@ BOOL LLNearbyChat::handleMouseDown(S32 x, S32 y, MASK mask) if(mChatHistory) mChatHistory->setFocus(TRUE); - return LLFloater::handleMouseDown(x, y, mask); + return LLPanel::handleMouseDown(x, y, mask); } void LLNearbyChat::draw() @@ -355,5 +332,5 @@ void LLNearbyChat::draw() setTransparencyType(hasFocus() ? TT_ACTIVE : TT_INACTIVE); } - LLFloater::draw(); + LLPanel::draw(); } diff --git a/indra/newview/llnearbychat.h b/indra/newview/llnearbychat.h index 834a31bbf04..5ef584c8ff3 100644 --- a/indra/newview/llnearbychat.h +++ b/indra/newview/llnearbychat.h @@ -34,10 +34,10 @@ class LLResizeBar; class LLChatHistory; -class LLNearbyChat: public LLFloater +class LLNearbyChat: public LLPanel { public: - LLNearbyChat(const LLSD& key); + LLNearbyChat(); ~LLNearbyChat(); BOOL postBuild (); @@ -54,12 +54,8 @@ class LLNearbyChat: public LLFloater /*virtual*/ void onFocusLost(); /*virtual*/ void onFocusReceived(); - /*virtual*/ void onOpen (const LLSD& key); - /*virtual*/ void setVisible(BOOL visible); - - virtual void setRect (const LLRect &rect); - + virtual void updateChatHistoryStyle(); static void processChatHistoryStyleUpdate(const LLSD& newvalue); @@ -69,7 +65,6 @@ class LLNearbyChat: public LLFloater static LLNearbyChat* getInstance(); private: - virtual void applySavedVariables(); void getAllowedRect (LLRect& rect); diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 185acb14148..258aa9a8bf6 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -49,6 +49,8 @@ #include "llrootview.h" #include "llviewerchat.h" +#include "llresizehandle.h" + S32 LLNearbyChatBar::sLastSpecialChatChannel = 0; // legacy callback glue @@ -414,8 +416,7 @@ LLCtrlListInterface* LLGestureComboList::getListInterface() LLNearbyChatBar::LLNearbyChatBar(const LLSD& key) : LLFloater(key), mChatBox(NULL) -{ - mSpeakerMgr = LLLocalSpeakerMgr::getInstance(); +{ mSpeakerMgr = LLLocalSpeakerMgr::getInstance(); } //virtual @@ -437,6 +438,10 @@ BOOL LLNearbyChatBar::postBuild() mChatBox->setEnableLineHistory(TRUE); mChatBox->setFont(LLViewerChat::getChatFont()); + + LLUICtrl* show_btn = getChild<LLUICtrl>("show_nearby_chat"); + show_btn->setCommitCallback(boost::bind(&LLNearbyChatBar::onToggleNearbyChatPanel, this)); + mOutputMonitor = getChild<LLOutputMonitorCtrl>("chat_zone_indicator"); mOutputMonitor->setVisible(FALSE); @@ -678,6 +683,25 @@ void LLNearbyChatBar::sendChat( EChatType type ) } } + +void LLNearbyChatBar::onToggleNearbyChatPanel() +{ + LLView* nearby_chat = getChildView("nearby_chat"); + + if (nearby_chat->getVisible()) + { + nearby_chat->setVisible(FALSE); + reshape(getRect().getWidth(), 60); + mResizeHandle[0]->setMaxHeight(60); + } + else + { + nearby_chat->setVisible(TRUE); + reshape(getRect().getWidth(), 360); + mResizeHandle[0]->setMaxHeight(S32_MAX); + } +} + void LLNearbyChatBar::onChatBoxCommit() { if (mChatBox->getText().length() > 0) @@ -781,6 +805,7 @@ void LLNearbyChatBar::startChat(const char* line) return; cb->setVisible(TRUE); + cb->setFocus(TRUE); cb->mChatBox->setFocus(TRUE); if (line) @@ -812,15 +837,6 @@ void LLNearbyChatBar::stopChat() gAgent.stopTyping(); } -void LLNearbyChatBar::onClose(bool app_quitting) -{ - LLFloater* nearby_chat = LLFloaterReg::findInstance("nearby_chat", LLSD()); - if (nearby_chat) - { - nearby_chat->closeFloater(app_quitting); - } -} - // If input of the form "/20foo" or "/20 foo", returns "foo" and channel 20. // Otherwise returns input and channel 0. LLWString LLNearbyChatBar::stripChannelNumber(const LLWString &mesg, S32* channel) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index f4a8605e18e..1d28a21ef3c 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -108,8 +108,6 @@ class LLNearbyChatBar virtual void draw(); - virtual void onClose(bool app_quitting); - std::string getCurrentChat(); virtual BOOL handleKeyHere( KEY key, MASK mask ); @@ -129,6 +127,8 @@ class LLNearbyChatBar void onChatBoxCommit(); void onChatFontChange(LLFontGL* fontp); + void onToggleNearbyChatPanel(); + static LLWString stripChannelNumber(const LLWString &mesg, S32* channel); EChatType processChatTypeTriggers(EChatType type, std::string &str); diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 957b6d5f94f..dcf444b048c 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -41,6 +41,7 @@ #include "llfloaterreg.h"//for LLFloaterReg::getTypedInstance #include "llviewerwindow.h"//for screen channel position +#include "llnearbychatbar.h" //add LLNearbyChatHandler to LLNotificationsUI namespace using namespace LLNotificationsUI; @@ -473,8 +474,9 @@ LLNearbyChatHandler::~LLNearbyChatHandler() void LLNearbyChatHandler::initChannel() { - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); - LLView* chat_box = LLBottomTray::getInstance()->getChildView("chat_box"); + LLNearbyChatBar* chat_bar = LLFloaterReg::getTypedInstance<LLNearbyChatBar>("chat_bar", LLSD()); + LLView* chat_box = chat_bar->getChatBox(); + LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); S32 channel_right_bound = nearby_chat->getRect().mRight; mChannel->init(chat_box->getRect().mLeft, channel_right_bound); } @@ -502,7 +504,10 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, // WARNING - not tmp_chat.mText = tmp_chat.mText.substr(3); } - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + 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) diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp index de90023f3b8..1b767e80d42 100644 --- a/indra/newview/llnotificationhandlerutil.cpp +++ b/indra/newview/llnotificationhandlerutil.cpp @@ -385,7 +385,7 @@ void LLHandlerUtil::logGroupNoticeToIMGroup( // static void LLHandlerUtil::logToNearbyChat(const LLNotificationPtr& notification, EChatSourceType type) { - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); if(nearby_chat) { LLChat chat_msg(notification->getMessage()); diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp index 02b217fc943..2a08a29842a 100644 --- a/indra/newview/llnotificationtiphandler.cpp +++ b/indra/newview/llnotificationtiphandler.cpp @@ -92,8 +92,7 @@ bool LLTipHandler::processNotification(const LLSD& notify) LLHandlerUtil::logToNearbyChat(notification, CHAT_SOURCE_SYSTEM); // don't show toast if Nearby Chat is opened - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance< - LLNearbyChat>("nearby_chat", LLSD()); + LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); if (nearby_chat->getVisible()) { return false; diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b44e7283da3..2ebf41299a2 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -180,7 +180,6 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("bumps", "floater_bumps.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterBump>); LLFloaterReg::add("camera", "floater_camera.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCamera>); - LLFloaterReg::add("nearby_chat", "floater_nearby_chat.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNearbyChat>); LLFloaterReg::add("chat_bar", "floater_chat_bar.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNearbyChatBar>); LLFloaterReg::add("compile_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCompileQueue>); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 6435904feed..961c931c026 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2190,7 +2190,7 @@ void god_message_name_cb(const LLAvatarName& av_name, LLChat chat, std::string m // Treat like a system message and put in chat history. chat.mText = av_name.getCompleteName() + ": " + message; - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); if(nearby_chat) { nearby_chat->addMessage(chat); @@ -2752,7 +2752,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) // Note: lie to Nearby Chat, pretending that this is NOT an IM, because // IMs from obejcts don't open IM sessions. - LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD()); + LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); if(SYSTEM_FROM != name && nearby_chat) { chat.mOwnerID = from_id; diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index d0059b281e3..9d61c94eb14 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -3,16 +3,27 @@ height="60" layout="topleft" legacy_header_height="20" + single_instance="true" title="Nearby chat" + save_rect="true" can_close="true" can_minimize="true" help_topic="chat_bar" - save_rect="true" min_height="60" min_width="150" can_resize="true" name="chat_bar" width="380"> + <panel + top="20" + class="panel_nearby_chat" + follow="all" + width="380" + height="0" + visible="false" + filename="panel_nearby_chat.xml" + name="nearby_chat" /> + <panel width="380" height="31" left="0" bottom="-1" follows="left|right|bottom"> <line_editor border_style="line" border_thickness="1" @@ -27,7 +38,7 @@ text_pad_left="5" text_pad_right="25" tool_tip="Press Enter to say, Ctrl+Enter to shout" - top="27" + top="0" width="335" /> <output_monitor auto_update="true" @@ -38,14 +49,14 @@ left_pad="-24" mouse_opaque="true" name="chat_zone_indicator" - top="31" + top="4" visible="true" width="20" /> <button follows="right" is_toggle="true" width="20" - top="27" + top="0" layout="topleft" left_pad="12" image_disabled="ComboButton_UpOff" @@ -56,8 +67,6 @@ height="23" name="show_nearby_chat" tool_tip="Shows/hides nearby chat log"> - <button.init_callback - function="Button.SetDockableFloaterToggle" - parameter="nearby_chat" /> </button> + </panel> </floater> -- GitLab From c7f5aebbb71228b705059be248e82e83ee0f9475 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Tue, 27 Sep 2011 15:41:41 -0700 Subject: [PATCH 056/213] Nearby chat panel --- .../default/xui/en/panel_nearby_chat.xml | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 indra/newview/skins/default/xui/en/panel_nearby_chat.xml diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat.xml new file mode 100644 index 00000000000..f766236b2e9 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_nearby_chat.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<panel + height="300" + follows="all" + layout="topleft" + name="nearby_chat" + help_topic="nearby_chat" + width="320"> + <check_box + bottom_delta="36" + control_name="TranslateChat" + enabled="true" + height="16" + label="Translate chat (powered by Google)" + layout="topleft" + left="5" + name="translate_chat_checkbox" + width="230" /> + <chat_history + parse_urls="true" + bg_readonly_color="ChatHistoryBgColor" + bg_writeable_color="ChatHistoryBgColor" + follows="all" + left="5" + top_delta="17" + layout="topleft" + height="260" + name="chat_history" + parse_highlights="true" + text_color="ChatHistoryTextColor" + text_readonly_color="ChatHistoryTextColor" + right_widget_pad="5" + left_widget_pad="0" + width="315" /> +</panel> -- GitLab From 8912a9bef62386e5eecaa61ba9079d507ae16d90 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 27 Sep 2011 15:53:38 -0700 Subject: [PATCH 057/213] EXP-1258 WIP toggle buttons between icons and icons+text modes better button sizing also disabled context menu for non-toolbar region --- indra/llui/llbutton.cpp | 24 ++++++++++++++++++------ indra/llui/llbutton.h | 1 + indra/llui/lltoolbar.cpp | 4 +++- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 06781f1bdf3..02ac928dfb5 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -554,6 +554,16 @@ BOOL LLButton::handleHover(S32 x, S32 y, MASK mask) return TRUE; } +void LLButton::getOverlayImageSize(S32& overlay_width, S32& overlay_height) +{ + overlay_width = mImageOverlay->getWidth(); + overlay_height = mImageOverlay->getHeight(); + + F32 scale_factor = llmin((F32)getRect().getWidth() / (F32)overlay_width, (F32)getRect().getHeight() / (F32)overlay_height, 1.f); + overlay_width = llround((F32)overlay_width * scale_factor); + overlay_height = llround((F32)overlay_height * scale_factor); +} + // virtual void LLButton::draw() @@ -781,12 +791,10 @@ void LLButton::draw() if (mImageOverlay.notNull()) { // get max width and height (discard level 0) - S32 overlay_width = mImageOverlay->getWidth(); - S32 overlay_height = mImageOverlay->getHeight(); + S32 overlay_width; + S32 overlay_height; - F32 scale_factor = llmin((F32)getRect().getWidth() / (F32)overlay_width, (F32)getRect().getHeight() / (F32)overlay_height, 1.f); - overlay_width = llround((F32)overlay_width * scale_factor); - overlay_height = llround((F32)overlay_height * scale_factor); + getOverlayImageSize(overlay_width, overlay_height); S32 center_x = getLocalRect().getCenterX(); S32 center_y = getLocalRect().getCenterY(); @@ -994,11 +1002,15 @@ void LLButton::resize(LLUIString label) S32 min_width = label_width + mLeftHPad + mRightHPad; if (mImageOverlay) { + S32 overlay_width = mImageOverlay->getWidth(); + F32 scale_factor = getRect().getHeight() / (F32)mImageOverlay->getHeight(); + overlay_width = llround((F32)overlay_width * scale_factor); + switch(mImageOverlayAlignment) { case LLFontGL::LEFT: case LLFontGL::RIGHT: - min_width += mImageOverlay->getWidth() + mImgOverlayLabelSpace; + min_width += overlay_width + mImgOverlayLabelSpace; break; case LLFontGL::HCENTER: break; diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index bc5e69fad54..08b45e01b33 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -270,6 +270,7 @@ class LLButton protected: LLPointer<LLUIImage> getImageUnselected() const { return mImageUnselected; } LLPointer<LLUIImage> getImageSelected() const { return mImageSelected; } + void getOverlayImageSize(S32& overlay_width, S32& overlay_height); LLFrameTimer mMouseDownTimer; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 0c3052b1ab8..9ca5a0f4807 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -247,7 +247,9 @@ bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask) { - BOOL handle_it_here = !mReadOnly; + LLRect button_panel_rect; + mButtonPanel->localRectToOtherView(mButtonPanel->getLocalRect(), &button_panel_rect, this); + BOOL handle_it_here = !mReadOnly && button_panel_rect.pointInRect(x, y); if (handle_it_here) { -- GitLab From bce16356c9e1fb76bd92a3530375e4c6c7a5430a Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 27 Sep 2011 17:47:52 -0700 Subject: [PATCH 058/213] fixed wobble when toggling inbox/outbox --- indra/newview/skins/default/xui/en/sidepanel_inventory.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml index 7a176ff3671..2b5e3143a43 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml @@ -67,6 +67,8 @@ top="0" orientation="vertical" name="inbox_outbox_layout_stack" + open_time_constant="0.02" + close_time_constant="0.02" height="235" width="330"> <layout_panel -- GitLab From 68d5141fb3ccb5e898caa83e9eab84d76134e28c Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 27 Sep 2011 19:06:02 -0700 Subject: [PATCH 059/213] EXP-1258 WIP toggle buttons between icons and icons+text modes fixed button layout for icon+text layout stack now uses floating point precision to avoid clamping panels to 0 --- indra/llui/llbutton.cpp | 2 + indra/llui/lllayoutstack.cpp | 252 ++++++------------ indra/llui/lllayoutstack.h | 18 +- indra/llui/lltoolbar.cpp | 40 +-- .../default/xui/en/floater_test_toolbar.xml | 4 + 5 files changed, 123 insertions(+), 193 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 02ac928dfb5..e1bea086b2a 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -819,6 +819,7 @@ void LLButton::draw() { case LLFontGL::LEFT: text_left += overlay_width + mImgOverlayLabelSpace; + text_width -= overlay_width + mImgOverlayLabelSpace; mImageOverlay->draw( mLeftHPad, center_y - (overlay_height / 2), @@ -836,6 +837,7 @@ void LLButton::draw() break; case LLFontGL::RIGHT: text_right -= overlay_width + mImgOverlayLabelSpace; + text_width -= overlay_width + mImgOverlayLabelSpace; mImageOverlay->draw( getRect().getWidth() - mRightHPad - overlay_width, center_y - (overlay_height / 2), diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp index 0d1f608e61b..89b3f671a49 100644 --- a/indra/llui/lllayoutstack.cpp +++ b/indra/llui/lllayoutstack.cpp @@ -55,11 +55,12 @@ LLLayoutPanel::LLLayoutPanel(const Params& p) mMaxDim(p.max_dim), mAutoResize(p.auto_resize), mUserResize(p.user_resize), - mFitContent(p.fit_content), mCollapsed(FALSE), mCollapseAmt(0.f), mVisibleAmt(1.f), // default to fully visible - mResizeBar(NULL) + mResizeBar(NULL), + mFractionalSize(0.f), + mOrientation(LLLayoutStack::HORIZONTAL) { // Set the expanded min dim if it is provided, otherwise it gets the p.min_dim value if (p.expanded_min_dim.isProvided()) @@ -89,9 +90,22 @@ LLLayoutPanel::~LLLayoutPanel() mResizeBar = NULL; } -F32 LLLayoutPanel::getCollapseFactor(LLLayoutStack::ELayoutOrientation orientation) +void LLLayoutPanel::reshape(S32 width, S32 height, BOOL called_from_parent) { - if (orientation == LLLayoutStack::HORIZONTAL) + if (mOrientation == LLLayoutStack::HORIZONTAL) + { + mFractionalSize += width - llround(mFractionalSize); + } + else + { + mFractionalSize += height - llround(mFractionalSize); + } + LLPanel::reshape(width, height, called_from_parent); +} + +F32 LLLayoutPanel::getCollapseFactor() +{ + if (mOrientation == LLLayoutStack::HORIZONTAL) { F32 collapse_amt = clamp_rescale(mCollapseAmt, 0.f, 1.f, 1.f, (F32)getRelevantMinDim() / (F32)llmax(1, getRect().getWidth())); @@ -105,14 +119,6 @@ F32 LLLayoutPanel::getCollapseFactor(LLLayoutStack::ELayoutOrientation orientati } } -void LLLayoutPanel::fitToContent() -{ - if (mFitContent) - { - setShape(calcBoundingRect()); - } -} - // // LLLayoutStack // @@ -158,11 +164,11 @@ void LLLayoutStack::draw() // scale clipping rectangle by visible amount if (mOrientation == HORIZONTAL) { - clip_rect.mRight = clip_rect.mLeft + llround((F32)clip_rect.getWidth() * (*panel_it)->getCollapseFactor(mOrientation)); + clip_rect.mRight = clip_rect.mLeft + llround((F32)clip_rect.getWidth() * (*panel_it)->getCollapseFactor()); } else { - clip_rect.mBottom = clip_rect.mTop - llround((F32)clip_rect.getHeight() * (*panel_it)->getCollapseFactor(mOrientation)); + clip_rect.mBottom = clip_rect.mTop - llround((F32)clip_rect.getHeight() * (*panel_it)->getCollapseFactor()); } LLPanel* panelp = (*panel_it); @@ -202,36 +208,15 @@ bool LLLayoutStack::addChild(LLView* child, S32 tab_group) LLLayoutPanel* panelp = dynamic_cast<LLLayoutPanel*>(child); if (panelp) { + panelp->mFractionalSize = (mOrientation == HORIZONTAL) + ? panelp->getRect().getWidth() + : panelp->getRect().getHeight(); + panelp->setOrientation(mOrientation); mPanels.push_back(panelp); } return LLView::addChild(child, tab_group); } - -S32 LLLayoutStack::getDefaultHeight(S32 cur_height) -{ - // if we are spanning our children (crude upward propagation of size) - // then don't enforce our size on our children - if (mOrientation == HORIZONTAL) - { - cur_height = llmax(mMinHeight, getRect().getHeight()); - } - - return cur_height; -} - -S32 LLLayoutStack::getDefaultWidth(S32 cur_width) -{ - // if we are spanning our children (crude upward propagation of size) - // then don't enforce our size on our children - if (mOrientation == VERTICAL) - { - cur_width = llmax(mMinWidth, getRect().getWidth()); - } - - return cur_width; -} - void LLLayoutStack::movePanel(LLPanel* panel_to_move, LLPanel* target_panel, bool move_to_front) { LLLayoutPanel* embedded_panel_to_move = findEmbeddedPanel(panel_to_move); @@ -326,14 +311,15 @@ void LLLayoutStack::updateLayout(BOOL force_resize) createResizeBars(); // calculate current extents - S32 total_width = 0; - S32 total_height = 0; + F32 total_size = 0.f; + // + // animate visibility + // e_panel_list_t::iterator panel_it; for (panel_it = mPanels.begin(); panel_it != mPanels.end(); ++panel_it) { LLLayoutPanel* panelp = (*panel_it); - panelp->fitToContent(); if (panelp->getVisible()) { if (mAnimate) @@ -371,181 +357,110 @@ void LLLayoutStack::updateLayout(BOOL force_resize) } } - if (panelp->mCollapsed) - { - panelp->mCollapseAmt = lerp(panelp->mCollapseAmt, 1.f, LLCriticalDamp::getInterpolant(mCloseTimeConstant)); - } - else - { - panelp->mCollapseAmt = lerp(panelp->mCollapseAmt, 0.f, LLCriticalDamp::getInterpolant(mCloseTimeConstant)); - } + F32 collapse_state = panelp->mCollapsed ? 1.f : 0.f; + panelp->mCollapseAmt = lerp(panelp->mCollapseAmt, collapse_state, LLCriticalDamp::getInterpolant(mCloseTimeConstant)); - if (mOrientation == HORIZONTAL) + total_size += panelp->mFractionalSize * panelp->getCollapseFactor(); + // want n-1 panel gaps for n panels + if (panel_it != mPanels.begin()) { - // enforce minimize size constraint by default - if (panelp->getRect().getWidth() < panelp->getRelevantMinDim()) - { - panelp->reshape(panelp->getRelevantMinDim(), panelp->getRect().getHeight()); - } - total_width += llround(panelp->getRect().getWidth() * panelp->getCollapseFactor(mOrientation)); - // want n-1 panel gaps for n panels - if (panel_it != mPanels.begin()) - { - total_width += mPanelSpacing; - } - } - else //VERTICAL - { - // enforce minimize size constraint by default - if (panelp->getRect().getHeight() < panelp->getRelevantMinDim()) - { - panelp->reshape(panelp->getRect().getWidth(), panelp->getRelevantMinDim()); - } - total_height += llround(panelp->getRect().getHeight() * panelp->getCollapseFactor(mOrientation)); - if (panel_it != mPanels.begin()) - { - total_height += mPanelSpacing; - } + total_size += mPanelSpacing; } } S32 num_resizable_panels = 0; - S32 shrink_headroom_available = 0; - S32 shrink_headroom_total = 0; + F32 shrink_headroom_available = 0.f; + F32 shrink_headroom_total = 0.f; for (panel_it = mPanels.begin(); panel_it != mPanels.end(); ++panel_it) { + LLLayoutPanel* panelp = (*panel_it); + // panels that are not fully visible do not count towards shrink headroom - if ((*panel_it)->getCollapseFactor(mOrientation) < 1.f) + if (panelp->getCollapseFactor() < 1.f) { continue; } - S32 relevant_dimension = (mOrientation == HORIZONTAL) ? (*panel_it)->getRect().getWidth() : (*panel_it)->getRect().getHeight(); - S32 relevant_min = (*panel_it)->getRelevantMinDim(); + F32 cur_size = panelp->mFractionalSize; + F32 min_size = (F32)panelp->getRelevantMinDim(); // if currently resizing a panel or the panel is flagged as not automatically resizing // only track total available headroom, but don't use it for automatic resize logic - if ((*panel_it)->mResizeBar->hasMouseCapture() - || (!(*panel_it)->mAutoResize + if (panelp->mResizeBar->hasMouseCapture() + || (!panelp->mAutoResize && !force_resize)) { - shrink_headroom_total += relevant_dimension - relevant_min; + shrink_headroom_total += cur_size - min_size; } else { num_resizable_panels++; - shrink_headroom_available += relevant_dimension - relevant_min; - shrink_headroom_total += relevant_dimension - relevant_min; + shrink_headroom_available += cur_size - min_size; + shrink_headroom_total += cur_size - min_size; } } // calculate how many pixels need to be distributed among layout panels // positive means panels need to grow, negative means shrink - S32 pixels_to_distribute; - if (mOrientation == HORIZONTAL) - { - pixels_to_distribute = getRect().getWidth() - total_width; - } - else //VERTICAL - { - pixels_to_distribute = getRect().getHeight() - total_height; - } + F32 pixels_to_distribute = (mOrientation == HORIZONTAL) + ? getRect().getWidth() - total_size + : getRect().getHeight() - total_size; // now we distribute the pixels... - S32 cur_x = 0; - S32 cur_y = getRect().getHeight(); + F32 cur_x = 0.f; + F32 cur_y = (F32)getRect().getHeight(); for (panel_it = mPanels.begin(); panel_it != mPanels.end(); ++panel_it) { LLLayoutPanel* panelp = (*panel_it); - S32 cur_width = panelp->getRect().getWidth(); - S32 cur_height = panelp->getRect().getHeight(); - S32 new_width = cur_width; - S32 new_height = cur_height; - S32 relevant_min = panelp->getRelevantMinDim(); - - if (mOrientation == HORIZONTAL) - { - new_width = llmax(relevant_min, new_width); - } - else - { - new_height = llmax(relevant_min, new_height); - } - S32 delta_size = 0; + F32 min_size = panelp->getRelevantMinDim(); + F32 delta_size = 0.f; // if panel can automatically resize (not animating, and resize flag set)... - if (panelp->getCollapseFactor(mOrientation) == 1.f + if (panelp->getCollapseFactor() == 1.f && (force_resize || panelp->mAutoResize) && !panelp->mResizeBar->hasMouseCapture()) { - if (mOrientation == HORIZONTAL) + if (pixels_to_distribute < 0.f) { - // if we're shrinking - if (pixels_to_distribute < 0) - { - // shrink proportionally to amount over minimum - // so we can do this in one pass - delta_size = (shrink_headroom_available > 0) - ? llround((F32)pixels_to_distribute * ((F32)(cur_width - relevant_min) / (F32)shrink_headroom_available)) - : 0; - shrink_headroom_available -= (cur_width - relevant_min); - } - else - { - // grow all elements equally - delta_size = llround((F32)pixels_to_distribute / (F32)num_resizable_panels); - num_resizable_panels--; - } - pixels_to_distribute -= delta_size; - new_width = llmax(relevant_min, cur_width + delta_size); + // shrink proportionally to amount over minimum + // so we can do this in one pass + delta_size = (shrink_headroom_available > 0.f) + ? pixels_to_distribute * ((F32)(panelp->mFractionalSize - min_size) / shrink_headroom_available) + : 0.f; + shrink_headroom_available -= (panelp->mFractionalSize - min_size); } else { - new_width = getDefaultWidth(new_width); - } - - if (mOrientation == VERTICAL) - { - if (pixels_to_distribute < 0) - { - // shrink proportionally to amount over minimum - // so we can do this in one pass - delta_size = (shrink_headroom_available > 0) ? llround((F32)pixels_to_distribute * ((F32)(cur_height - relevant_min) / (F32)shrink_headroom_available)) : 0; - shrink_headroom_available -= (cur_height - relevant_min); - } - else - { - delta_size = llround((F32)pixels_to_distribute / (F32)num_resizable_panels); - num_resizable_panels--; - } - pixels_to_distribute -= delta_size; - new_height = llmax(relevant_min, cur_height + delta_size); - } - else - { - new_height = getDefaultHeight(new_height); - } - } - else - { - if (mOrientation == HORIZONTAL) - { - new_height = getDefaultHeight(new_height); - } - else // VERTICAL - { - new_width = getDefaultWidth(new_width); + // grow all elements equally + delta_size = pixels_to_distribute / (F32)num_resizable_panels; + num_resizable_panels--; } + + panelp->mFractionalSize = llmax(min_size, panelp->mFractionalSize + delta_size); + pixels_to_distribute -= delta_size; } // adjust running headroom count based on new sizes shrink_headroom_total += delta_size; LLRect panel_rect; - panel_rect.setLeftTopAndSize(cur_x, cur_y, new_width, new_height); + if (mOrientation == HORIZONTAL) + { + panel_rect.setLeftTopAndSize(llround(cur_x), + llround(cur_y), + llround(panelp->mFractionalSize), + getRect().getHeight()); + } + else + { + panel_rect.setLeftTopAndSize(llround(cur_x), + llround(cur_y), + getRect().getWidth(), + llround(panelp->mFractionalSize)); + } panelp->setShape(panel_rect); LLRect resize_bar_rect = panel_rect; @@ -561,13 +476,14 @@ void LLLayoutStack::updateLayout(BOOL force_resize) } (*panel_it)->mResizeBar->setRect(resize_bar_rect); + F32 size = ((*panel_it)->mFractionalSize * (*panel_it)->getCollapseFactor()) + (F32)mPanelSpacing; if (mOrientation == HORIZONTAL) { - cur_x += llround(new_width * (*panel_it)->getCollapseFactor(mOrientation)) + mPanelSpacing; + cur_x += size; } else //VERTICAL { - cur_y -= llround(new_height * (*panel_it)->getCollapseFactor(mOrientation)) + mPanelSpacing; + cur_y -= size; } } diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h index 2ed32a2fa9f..5d79505fc36 100644 --- a/indra/llui/lllayoutstack.h +++ b/indra/llui/lllayoutstack.h @@ -126,8 +126,6 @@ class LLLayoutStack : public LLView, public LLInstanceTracker<LLLayoutStack> private: void createResizeBars(); void calcMinExtents(); - S32 getDefaultHeight(S32 cur_height); - S32 getDefaultWidth(S32 cur_width); const ELayoutOrientation mOrientation; @@ -161,16 +159,14 @@ friend class LLUICtrlFactory; min_dim, max_dim; Optional<bool> user_resize, - auto_resize, - fit_content; + auto_resize; Params() : expanded_min_dim("expanded_min_dim", 0), min_dim("min_dim", 0), max_dim("max_dim", 0), user_resize("user_resize", true), - auto_resize("auto_resize", true), - fit_content("fit_content", false) + auto_resize("auto_resize", true) { addSynonym(min_dim, "min_width"); addSynonym(min_dim, "min_height"); @@ -183,6 +179,8 @@ friend class LLUICtrlFactory; void initFromParams(const Params& p); + void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + S32 getMinDim() const { return mMinDim; } void setMinDim(S32 value) { mMinDim = value; if (!mExpandedMinDimSpecified) mExpandedMinDim = value; } @@ -204,11 +202,12 @@ friend class LLUICtrlFactory; return min_dim; } + void setOrientation(LLLayoutStack::ELayoutOrientation orientation) { mOrientation = orientation; } + protected: LLLayoutPanel(const Params& p); - F32 getCollapseFactor(LLLayoutStack::ELayoutOrientation orientation); - void fitToContent(); + F32 getCollapseFactor(); bool mExpandedMinDimSpecified; S32 mExpandedMinDim; @@ -218,9 +217,10 @@ friend class LLUICtrlFactory; bool mAutoResize; bool mUserResize; bool mCollapsed; - bool mFitContent; F32 mVisibleAmt; F32 mCollapseAmt; + F32 mFractionalSize; + LLLayoutStack::ELayoutOrientation mOrientation; class LLResizeBar* mResizeBar; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 677d50a0c75..57a91516498 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -126,14 +126,13 @@ void LLToolBar::createContextMenu() { // Setup bindings specific to this instance for the context menu options - LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar(); + LLUICtrl::CommitCallbackRegistry::ScopedRegistrar commit_reg; commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2)); - LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar(); + LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_reg; enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2)); // Create the context menu - LLContextMenu* menu = LLUICtrlFactory::instance().createFromFile<LLContextMenu>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance()); if (menu) @@ -146,10 +145,6 @@ void LLToolBar::createContextMenu() { llwarns << "Unable to load toolbars context menu." << llendl; } - - // Remove this instance's bindings - commit_reg.remove("Toolbars.EnableSetting"); - enable_reg.remove("Toolbars.CheckSetting"); } } @@ -184,7 +179,6 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) center_panel_p.rect = getLocalRect(); center_panel_p.auto_resize = false; center_panel_p.user_resize = false; - center_panel_p.fit_content = true; LLLayoutPanel* center_panel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); mCenteringStack->addChild(center_panel); @@ -196,6 +190,11 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); + BOOST_FOREACH(LLCommandId::Params params, p.commands) + { + addCommand(params); + } + mNeedsLayout = true; } @@ -207,8 +206,8 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) if (add_command) { - mButtonCommands.push_back(commandId); - createButtons(); + mButtonCommands.push_back(commandId); + createButtons(); } return add_command; @@ -220,9 +219,9 @@ bool LLToolBar::hasCommand(const LLCommandId& commandId) const if (commandId != LLCommandId::null) { - for (std::list<LLCommandId>::const_iterator cmd = mButtonCommands.begin(); cmd != mButtonCommands.end(); ++cmd) + BOOST_FOREACH(LLCommandId cmd, mButtonCommands) { - if ((*cmd) == commandId) + if (cmd == commandId) { has_command = true; break; @@ -410,11 +409,11 @@ void LLToolBar::updateLayoutAsNeeded() cur_start = row_pad_start; cur_row += max_row_girth + mPadBetween; max_row_girth = 0; - } + } - LLRect button_rect; - if (orientation == LLLayoutStack::HORIZONTAL) - { + LLRect button_rect; + if (orientation == LLLayoutStack::HORIZONTAL) + { button_rect.setLeftTopAndSize(cur_start, panel_rect.mTop - cur_row, button_clamped_width, button->getRect().getHeight()); } else // VERTICAL @@ -460,6 +459,9 @@ void LLToolBar::updateLayoutAsNeeded() mButtonPanel->reshape(total_girth, max_row_length); } + // make parent fit button panel + mButtonPanel->getParent()->setShape(mButtonPanel->getLocalRect()); + // re-center toolbar buttons mCenteringStack->updateLayout(); @@ -470,7 +472,13 @@ void LLToolBar::updateLayoutAsNeeded() void LLToolBar::draw() { + if (mButtons.empty()) return; updateLayoutAsNeeded(); + // rect may have shifted during layout + LLUI::popMatrix(); + LLUI::pushMatrix(); + LLUI::translate((F32)getRect().mLeft, (F32)getRect().mBottom, 0.f); + LLUICtrl::draw(); } diff --git a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml index fbfbe51a699..067c1fed824 100644 --- a/indra/newview/skins/default/xui/en/floater_test_toolbar.xml +++ b/indra/newview/skins/default/xui/en/floater_test_toolbar.xml @@ -8,6 +8,7 @@ translate="false" width="500"> <toolbar name="test_toolbar_top" + button_display_mode="icons_with_text" follows="left|right|top" height="50" width="500" @@ -21,6 +22,7 @@ <command name="chat"/> </toolbar> <toolbar name="test_toolbar_left" + button_display_mode="icons_with_text" follows="left|bottom|top" height="380" width="200" @@ -33,6 +35,7 @@ <command name="chat"/> </toolbar> <toolbar name="test_toolbar_right" + button_display_mode="icons_with_text" follows="right|bottom|top" height="380" width="200" @@ -44,6 +47,7 @@ <command name="chat"/> </toolbar> <toolbar name="test_toolbar_bottom" + button_display_mode="icons_with_text" follows="left|right|bottom" height="50" width="500" -- GitLab From 78eb989e50e7f91298294d34a743f8ac0e3dcce1 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 27 Sep 2011 19:22:09 -0700 Subject: [PATCH 060/213] EXP-1258 FIX toggle buttons between icons and icons+text modes fixed button layout for icon only buttons --- indra/llui/llbutton.cpp | 1 + indra/llui/lltoolbar.cpp | 30 ++++++++++++++++++------------ indra/llui/lltoolbar.h | 1 + 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index e1bea086b2a..f259e8027ea 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -1015,6 +1015,7 @@ void LLButton::resize(LLUIString label) min_width += overlay_width + mImgOverlayLabelSpace; break; case LLFontGL::HCENTER: + min_width = llmax(min_width, overlay_width + mLeftHPad + mRightHPad); break; default: // draw nothing diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 57a91516498..c5219b11e86 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -207,7 +207,7 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) if (add_command) { mButtonCommands.push_back(commandId); - createButtons(); + createButton(commandId); } return add_command; @@ -498,19 +498,25 @@ void LLToolBar::createButtons() BOOST_FOREACH(LLCommandId& command_id, mButtonCommands) { - LLCommand* commandp = LLCommandManager::instance().getCommand(command_id); - if (!commandp) continue; + createButton(command_id); + } - LLToolBarButton::Params button_p; - button_p.label = LLTrans::getString(commandp->labelRef()); - button_p.image_overlay = LLUI::getUIImage(commandp->icon()); - button_p.overwriteFrom(mButtonParams[mButtonType]); - LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); +} - mButtons.push_back(button); - mButtonPanel->addChild(button); - } +void LLToolBar::createButton(const LLCommandId& id) +{ + LLCommand* commandp = LLCommandManager::instance().getCommand(id); + if (!commandp) return; + + LLToolBarButton::Params button_p; + button_p.label = LLTrans::getString(commandp->labelRef()); + button_p.tool_tip = button_p.label(); + button_p.image_overlay = LLUI::getUIImage(commandp->icon()); + button_p.overwriteFrom(mButtonParams[mButtonType]); + LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + + mButtons.push_back(button); + mButtonPanel->addChild(button); mNeedsLayout = true; } - diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 75ae499a3db..02db58128c8 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -135,6 +135,7 @@ class LLToolBar void createContextMenu(); void updateLayoutAsNeeded(); void createButtons(); + void createButton(const LLCommandId& id); void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); BOOL isSettingChecked(const LLSD& userdata); void onSettingEnable(const LLSD& userdata); -- GitLab From 04a5c45020e72e7e24eed1cc1f53014da92594e5 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 27 Sep 2011 20:24:00 -0700 Subject: [PATCH 061/213] EXP-1207 : Commented out the red and yellow debug draw on the toolbars --- indra/llui/lltoolbarview.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 7047cca9489..641c3eb0ab9 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -193,7 +193,6 @@ void LLToolBarView::draw() if (mToolbarLeft) mToolbarLeft->localRectToOtherView(mToolbarLeft->getLocalRect(), &left_rect, this); if (mToolbarRight) mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); - if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) debug_print = true; if (debug_print) @@ -215,9 +214,9 @@ void LLToolBarView::draw() back_color_hori[VALPHA] = 0.5f; back_color_vert[VALPHA] = 0.5f; //gl_rect_2d(getLocalRect(), back_color, TRUE); - gl_rect_2d(bottom_rect, back_color_hori, TRUE); - gl_rect_2d(left_rect, back_color_vert, TRUE); - gl_rect_2d(right_rect, back_color_vert, TRUE); + //gl_rect_2d(bottom_rect, back_color_hori, TRUE); + //gl_rect_2d(left_rect, back_color_vert, TRUE); + //gl_rect_2d(right_rect, back_color_vert, TRUE); LLUICtrl::draw(); } -- GitLab From b234c23aa3c70ccac6d4332532a0da6184ec03db Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 27 Sep 2011 20:51:26 -0700 Subject: [PATCH 062/213] EXP-1211 : Factorize code a bit --- indra/llui/lltoolbarview.cpp | 48 ++++++++++++++---------------------- indra/llui/lltoolbarview.h | 1 + 2 files changed, 19 insertions(+), 30 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 641c3eb0ab9..73c8c994185 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -80,52 +80,25 @@ bool LLToolBarView::load() } // Add commands to each toolbar - // *TODO: factorize that code : tricky with Blocks though, simple lexical approach fails - LLCommandManager& mgr = LLCommandManager::instance(); - if (toolbar_set.left_toolbar.isProvided() && mToolbarLeft) { BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) { - LLCommandId* commandId = new LLCommandId(command); - if (mgr.getCommand(*commandId)) - { - mToolbarLeft->addCommand(*commandId); - } - else - { - llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; - } + addCommand(LLCommandId(command),mToolbarLeft); } } if (toolbar_set.right_toolbar.isProvided() && mToolbarRight) { BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) { - LLCommandId* commandId = new LLCommandId(command); - if (mgr.getCommand(*commandId)) - { - mToolbarRight->addCommand(*commandId); - } - else - { - llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; - } + addCommand(LLCommandId(command),mToolbarRight); } } if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom) { BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) { - LLCommandId* commandId = new LLCommandId(command); - if (mgr.getCommand(*commandId)) - { - mToolbarBottom->addCommand(*commandId); - } - else - { - llwarns << "Toolbars creation : the command " << commandId->name() << " cannot be found in the command manager" << llendl; - } + addCommand(LLCommandId(command),mToolbarBottom); } } return true; @@ -179,6 +152,21 @@ bool LLToolBarView::hasCommand(const LLCommandId& commandId) const return has_command; } +bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar) +{ + LLCommandManager& mgr = LLCommandManager::instance(); + if (mgr.getCommand(command)) + { + toolbar->addCommand(command); + } + else + { + llwarns << "Toolbars creation : the command " << command.name() << " cannot be found in the command manager" << llendl; + return false; + } + return true; +} + void LLToolBarView::draw() { static bool debug_print = true; diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 0f16b89ecc8..208660da8e3 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -78,6 +78,7 @@ class LLToolBarView : public LLUICtrl private: // Loads the toolbars from the existing user or default settings bool load(); // return false if load fails + bool addCommand(const LLCommandId& commandId, LLToolBar* toolbar); // Pointers to the toolbars handled by the toolbar view LLToolBar* mToolbarLeft; -- GitLab From 15f3ea39d7deb0c956b56703a94f6d072b7f2d21 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 27 Sep 2011 22:45:09 -0700 Subject: [PATCH 063/213] EXP-1257 : Save toolbar settings in a per user toolbars.xml file --- indra/llui/llcommandmanager.h | 2 + indra/llui/lltoolbar.h | 3 +- indra/llui/lltoolbarview.cpp | 172 +++++++++++++++++++++++----------- indra/llui/lltoolbarview.h | 3 +- 4 files changed, 124 insertions(+), 56 deletions(-) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 8435d915f30..4781f771774 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -81,6 +81,8 @@ class LLCommandId std::string mName; }; +typedef std::list<LLCommandId> command_id_list_t; + class LLCommand { public: diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 02db58128c8..8e484c7e13b 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -123,6 +123,7 @@ class LLToolBar bool addCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); + command_id_list_t& getCommandsList() { return mButtonCommands; } protected: friend class LLUICtrlFactory; @@ -143,7 +144,7 @@ class LLToolBar const bool mReadOnly; std::list<LLToolBarButton*> mButtons; - std::list<LLCommandId> mButtonCommands; + command_id_list_t mButtonCommands; LLToolBarEnums::ButtonType mButtonType; LLLayoutStack* mCenteringStack; LLLayoutStack* mWrapStack; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 73c8c994185..aee7ffa5170 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -50,59 +50,6 @@ LLToolBarView::ToolbarSet::ToolbarSet() bottom_toolbar("bottom_toolbar") {} -bool LLToolBarView::load() -{ - LLToolBarView::ToolbarSet toolbar_set; - - // Load the default toolbars.xml file - // *TODO : pick up the user's toolbar setting if existing - std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); - - LLXMLNodePtr root; - if(!LLXMLNode::parseFile(toolbar_file, root, NULL)) - { - llerrs << "Unable to load toolbars from file: " << toolbar_file << llendl; - return false; - } - if(!root->hasName("toolbars")) - { - llwarns << toolbar_file << " is not a valid toolbars definition file" << llendl; - return false; - } - - // Parse the toolbar settings - LLXUIParser parser; - parser.readXUI(root, toolbar_set, toolbar_file); - if (!toolbar_set.validateBlock()) - { - llerrs << "Unable to validate toolbars from file: " << toolbar_file << llendl; - return false; - } - - // Add commands to each toolbar - if (toolbar_set.left_toolbar.isProvided() && mToolbarLeft) - { - BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) - { - addCommand(LLCommandId(command),mToolbarLeft); - } - } - if (toolbar_set.right_toolbar.isProvided() && mToolbarRight) - { - BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) - { - addCommand(LLCommandId(command),mToolbarRight); - } - } - if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom) - { - BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) - { - addCommand(LLCommandId(command),mToolbarBottom); - } - } - return true; -} LLToolBarView::LLToolBarView(const LLToolBarView::Params& p) : LLUICtrl(p), @@ -120,6 +67,7 @@ void LLToolBarView::initFromParams(const LLToolBarView::Params& p) LLToolBarView::~LLToolBarView() { + saveToolbars(); } BOOL LLToolBarView::postBuild() @@ -129,7 +77,7 @@ BOOL LLToolBarView::postBuild() mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); // Load the toolbars from the settings - load(); + loadToolbars(); return TRUE; } @@ -167,6 +115,122 @@ bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar) return true; } +bool LLToolBarView::loadToolbars() +{ + LLToolBarView::ToolbarSet toolbar_set; + + // Load the default toolbars.xml file + // *TODO : pick up the user's toolbar setting if existing + std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); + + LLXMLNodePtr root; + if(!LLXMLNode::parseFile(toolbar_file, root, NULL)) + { + llerrs << "Unable to load toolbars from file: " << toolbar_file << llendl; + return false; + } + if(!root->hasName("toolbars")) + { + llwarns << toolbar_file << " is not a valid toolbars definition file" << llendl; + return false; + } + + // Parse the toolbar settings + LLXUIParser parser; + parser.readXUI(root, toolbar_set, toolbar_file); + if (!toolbar_set.validateBlock()) + { + llerrs << "Unable to validate toolbars from file: " << toolbar_file << llendl; + return false; + } + + // Add commands to each toolbar + if (toolbar_set.left_toolbar.isProvided() && mToolbarLeft) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) + { + addCommand(LLCommandId(command),mToolbarLeft); + } + } + if (toolbar_set.right_toolbar.isProvided() && mToolbarRight) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) + { + addCommand(LLCommandId(command),mToolbarRight); + } + } + if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom) + { + BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) + { + addCommand(LLCommandId(command),mToolbarBottom); + } + } + return true; +} + +void LLToolBarView::saveToolbars() const +{ + // Build the parameter tree from the toolbar data + LLToolBarView::ToolbarSet toolbar_set; + + // *TODO : factorize that code a bit... + if (mToolbarLeft) + { + command_id_list_t& command_list = mToolbarLeft->getCommandsList(); + for (command_id_list_t::const_iterator it = command_list.begin(); + it != command_list.end(); + ++it) + { + LLCommandId::Params command; + command.name = it->name(); + toolbar_set.left_toolbar.commands.add(command); + } + } + if (mToolbarRight) + { + command_id_list_t& command_list = mToolbarRight->getCommandsList(); + for (command_id_list_t::const_iterator it = command_list.begin(); + it != command_list.end(); + ++it) + { + LLCommandId::Params command; + command.name = it->name(); + toolbar_set.right_toolbar.commands.add(command); + } + } + if (mToolbarBottom) + { + command_id_list_t& command_list = mToolbarBottom->getCommandsList(); + for (command_id_list_t::const_iterator it = command_list.begin(); + it != command_list.end(); + ++it) + { + LLCommandId::Params command; + command.name = it->name(); + toolbar_set.bottom_toolbar.commands.add(command); + } + } + + // Serialize the parameter tree + LLXMLNodePtr output_node = new LLXMLNode("toolbars", false); + LLXUIParser parser; + parser.writeXUI(output_node, toolbar_set); + + // Write the resulting XML to file + if(!output_node->isNull()) + { + const std::string& filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "toolbars.xml"); + LLFILE *fp = LLFile::fopen(filename, "w"); + if (fp != NULL) + { + LLXMLNode::writeHeaderToFile(fp); + output_node->writeToFile(fp); + fclose(fp); + } + } +} + void LLToolBarView::draw() { static bool debug_print = true; diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 208660da8e3..646a1fd6369 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -77,7 +77,8 @@ class LLToolBarView : public LLUICtrl private: // Loads the toolbars from the existing user or default settings - bool load(); // return false if load fails + bool loadToolbars(); // return false if load fails + void saveToolbars() const; bool addCommand(const LLCommandId& commandId, LLToolBar* toolbar); // Pointers to the toolbars handled by the toolbar view -- GitLab From e4e499e326812e66de9b9c0392ea9899a6e71e63 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 28 Sep 2011 10:27:03 -0700 Subject: [PATCH 064/213] EXP-1261 FIX Left hand toolbar does not show labels when icons and labels option selected --- indra/llui/lltoolbarview.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index aee7ffa5170..b374a0bfc4b 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -241,9 +241,21 @@ void LLToolBarView::draw() LLRect bottom_rect, left_rect, right_rect; - if (mToolbarBottom) mToolbarBottom->localRectToOtherView(mToolbarBottom->getLocalRect(), &bottom_rect, this); - if (mToolbarLeft) mToolbarLeft->localRectToOtherView(mToolbarLeft->getLocalRect(), &left_rect, this); - if (mToolbarRight) mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); + if (mToolbarBottom) + { + mToolbarBottom->getParent()->reshape(mToolbarBottom->getParent()->getRect().getWidth(), mToolbarBottom->getRect().getHeight()); + mToolbarBottom->localRectToOtherView(mToolbarBottom->getLocalRect(), &bottom_rect, this); + } + if (mToolbarLeft) + { + mToolbarLeft->getParent()->reshape(mToolbarLeft->getRect().getWidth(), mToolbarLeft->getParent()->getRect().getHeight()); + mToolbarLeft->localRectToOtherView(mToolbarLeft->getLocalRect(), &left_rect, this); + } + if (mToolbarRight) + { + mToolbarRight->getParent()->reshape(mToolbarRight->getRect().getWidth(), mToolbarRight->getParent()->getRect().getHeight()); + mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); + } if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) debug_print = true; -- GitLab From fc0f5173eb20fad8934420e6eec8873d71490894 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 28 Sep 2011 10:40:28 -0700 Subject: [PATCH 065/213] fix linux build --- indra/llui/lllayoutstack.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp index 89b3f671a49..4991c4afa64 100644 --- a/indra/llui/lllayoutstack.cpp +++ b/indra/llui/lllayoutstack.cpp @@ -498,13 +498,13 @@ void LLLayoutStack::updateLayout(BOOL force_resize) { (*panel_it)->mResizeBar->setResizeLimits( relevant_min, - relevant_min + shrink_headroom_total); + relevant_min + llround(shrink_headroom_total)); } else //VERTICAL { (*panel_it)->mResizeBar->setResizeLimits( relevant_min, - relevant_min + shrink_headroom_total); + relevant_min + llround(shrink_headroom_total)); } // toggle resize bars based on panel visibility, resizability, etc -- GitLab From d447f1908bc2da9067d1f4d34825618a4d176602 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Wed, 28 Sep 2011 15:27:34 -0700 Subject: [PATCH 066/213] EXP-1262 Hitting single letters reserved for shortcuts inworld opens chat but not associated shortcuts (like Mouselook and Fly) EXP-1266 Communicate > Nearby Chat menu item does not bring up chat floater --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/skins/default/xui/en/menu_viewer.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 9a06423422f..148b80e817c 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1493,7 +1493,7 @@ <key>Type</key> <string>S32</string> <key>Value</key> - <integer>1</integer> + <integer>0</integer> </map> <key>ChatBubbleOpacity</key> <map> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 2e93243b0f0..923430d6fd4 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -227,10 +227,10 @@ use_mac_ctrl="true"> <menu_item_check.on_check function="Floater.Visible" - parameter="nearby_chat" /> + parameter="chat_bar" /> <menu_item_check.on_click function="Floater.Toggle" - parameter="nearby_chat" /> + parameter="chat_bar" /> </menu_item_check> <menu_item_call label="Nearby People" -- GitLab From b7c19906a0d30f545f12412e2344b5e66e8375f6 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Wed, 28 Sep 2011 15:27:53 -0700 Subject: [PATCH 067/213] removing old xml nearby chat --- .../default/xui/en/floater_nearby_chat.xml | 50 ------------------- 1 file changed, 50 deletions(-) delete mode 100644 indra/newview/skins/default/xui/en/floater_nearby_chat.xml diff --git a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml deleted file mode 100644 index ab966dbb0e0..00000000000 --- a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater - border_visible="false" - border="false" - legacy_header_height="18" - can_minimize="true" - can_tear_off="false" - can_resize="true" - can_drag_on_left="false" - can_close="false" - can_dock="true" - bevel_style="in" - height="300" - min_width="235" - layout="topleft" - name="nearby_chat" - help_topic="nearby_chat" - save_rect="true" - title="NEARBY CHAT" - save_dock_state="true" - save_visibility="true" - single_instance="true" - width="320"> - <check_box - bottom_delta="36" - control_name="TranslateChat" - enabled="true" - height="16" - label="Translate chat (powered by Google)" - layout="topleft" - left="5" - name="translate_chat_checkbox" - width="230" /> - <chat_history - parse_urls="true" - bg_readonly_color="ChatHistoryBgColor" - bg_writeable_color="ChatHistoryBgColor" - follows="all" - left="5" - top_delta="17" - layout="topleft" - height="260" - name="chat_history" - parse_highlights="true" - text_color="ChatHistoryTextColor" - text_readonly_color="ChatHistoryTextColor" - right_widget_pad="5" - left_widget_pad="0" - width="315" /> -</floater> -- GitLab From 21543fdf26e8104d00bd683bdff5185d6dd620ef Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 28 Sep 2011 16:23:04 -0700 Subject: [PATCH 068/213] EXP-1257 : Implemented loading of toolbar settings per user account. Also factorize a bit and clean up the related saveToolbars code. --- indra/llui/lltoolbarview.cpp | 56 +++++++++++++------------------- indra/llui/lltoolbarview.h | 6 ++-- indra/newview/llviewerwindow.cpp | 4 ++- 3 files changed, 29 insertions(+), 37 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index aee7ffa5170..140a26ddd59 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -76,9 +76,6 @@ BOOL LLToolBarView::postBuild() mToolbarRight = getChild<LLToolBar>("toolbar_right"); mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); - // Load the toolbars from the settings - loadToolbars(); - return TRUE; } @@ -120,8 +117,12 @@ bool LLToolBarView::loadToolbars() LLToolBarView::ToolbarSet toolbar_set; // Load the default toolbars.xml file - // *TODO : pick up the user's toolbar setting if existing - std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); + std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "toolbars.xml"); + if (!gDirUtilp->fileExists(toolbar_file)) + { + llwarns << "User toolbars def not found -> use default" << llendl; + toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); + } LLXMLNodePtr root; if(!LLXMLNode::parseFile(toolbar_file, root, NULL)) @@ -173,43 +174,17 @@ void LLToolBarView::saveToolbars() const { // Build the parameter tree from the toolbar data LLToolBarView::ToolbarSet toolbar_set; - - // *TODO : factorize that code a bit... if (mToolbarLeft) { - command_id_list_t& command_list = mToolbarLeft->getCommandsList(); - for (command_id_list_t::const_iterator it = command_list.begin(); - it != command_list.end(); - ++it) - { - LLCommandId::Params command; - command.name = it->name(); - toolbar_set.left_toolbar.commands.add(command); - } + addToToolset(mToolbarLeft->getCommandsList(),toolbar_set.left_toolbar); } if (mToolbarRight) { - command_id_list_t& command_list = mToolbarRight->getCommandsList(); - for (command_id_list_t::const_iterator it = command_list.begin(); - it != command_list.end(); - ++it) - { - LLCommandId::Params command; - command.name = it->name(); - toolbar_set.right_toolbar.commands.add(command); - } + addToToolset(mToolbarRight->getCommandsList(),toolbar_set.right_toolbar); } if (mToolbarBottom) { - command_id_list_t& command_list = mToolbarBottom->getCommandsList(); - for (command_id_list_t::const_iterator it = command_list.begin(); - it != command_list.end(); - ++it) - { - LLCommandId::Params command; - command.name = it->name(); - toolbar_set.bottom_toolbar.commands.add(command); - } + addToToolset(mToolbarBottom->getCommandsList(),toolbar_set.bottom_toolbar); } // Serialize the parameter tree @@ -231,6 +206,19 @@ void LLToolBarView::saveToolbars() const } } +// Enumerate the commands in command_list and add them as Params to the toolbar +void LLToolBarView::addToToolset(command_id_list_t& command_list, Toolbar& toolbar) const +{ + for (command_id_list_t::const_iterator it = command_list.begin(); + it != command_list.end(); + ++it) + { + LLCommandId::Params command; + command.name = it->name(); + toolbar.commands.add(command); + } +} + void LLToolBarView::draw() { static bool debug_print = true; diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 646a1fd6369..b19841997b4 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -67,7 +67,10 @@ class LLToolBarView : public LLUICtrl virtual void draw(); // Toolbar view interface with the rest of the world + // Checks if the commandId is being used somewhere in one of the toolbars bool hasCommand(const LLCommandId& commandId) const; + // Loads the toolbars from the existing user or default settings + bool loadToolbars(); // return false if load fails protected: friend class LLUICtrlFactory; @@ -76,10 +79,9 @@ class LLToolBarView : public LLUICtrl void initFromParams(const Params&); private: - // Loads the toolbars from the existing user or default settings - bool loadToolbars(); // return false if load fails void saveToolbars() const; bool addCommand(const LLCommandId& commandId, LLToolBar* toolbar); + void addToToolset(command_id_list_t& command_list, Toolbar& toolbar) const; // Pointers to the toolbars handled by the toolbar view LLToolBar* mToolbarLeft; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 7c930b80c20..6c9ee17a767 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1950,9 +1950,11 @@ void LLViewerWindow::initWorldUI() buttons_panel->setFollowsAll(); buttons_panel_container->addChild(buttons_panel); - // Make the toolbars visible + // Load and make the toolbars visible + // Note: we need to load the toolbars only *after* the user is logged in and IW if (gToolBarView) { + gToolBarView->loadToolbars(); gToolBarView->setVisible(TRUE); } } -- GitLab From 6a49f2947f05963c577a1644c16a8affc779da63 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 28 Sep 2011 16:25:32 -0700 Subject: [PATCH 069/213] EXP-1234 WIP experimental drag and drop --- indra/llui/lltoolbar.cpp | 93 +++++++++++++++++++++++++----------- indra/llui/lltoolbar.h | 16 ++++++- indra/llui/lltoolbarview.cpp | 41 +++++++++++++++- indra/llui/lltoolbarview.h | 9 +++- indra/llui/llview.h | 14 ++++++ 5 files changed, 140 insertions(+), 33 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index c5219b11e86..fe989cee222 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -33,6 +33,7 @@ #include "llcommandmanager.h" #include "llmenugl.h" #include "lltrans.h" +#include "lltoolbarview.h" // uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit // thanks, MSVC! @@ -201,35 +202,27 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) bool LLToolBar::addCommand(const LLCommandId& commandId) { LLCommand * command = LLCommandManager::instance().getCommand(commandId); + if (!command) return false; - bool add_command = (command != NULL); - - if (add_command) - { - mButtonCommands.push_back(commandId); - createButton(commandId); - } + mButtonCommands.push_back(commandId); + LLToolBarButton* button = createButton(commandId); + mButtons.push_back(button); + mButtonPanel->addChild(button); + mButtonMap.insert(std::make_pair(commandId, button)); + mNeedsLayout = true; - return add_command; + return true; } bool LLToolBar::hasCommand(const LLCommandId& commandId) const { - bool has_command = false; - if (commandId != LLCommandId::null) { - BOOST_FOREACH(LLCommandId cmd, mButtonCommands) - { - if (cmd == commandId) - { - has_command = true; - break; - } - } + command_id_map::const_iterator it = mButtonMap.find(commandId); + return (it != mButtonMap.end()); } - return has_command; + return false; } bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) @@ -238,11 +231,10 @@ bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) if (commandId != LLCommandId::null) { - command_button = mButtonPanel->findChild<LLButton>(commandId.name()); - - if (command_button) + command_id_map::iterator it = mButtonMap.find(commandId); + if (it != mButtonMap.end()) { - command_button->setEnabled(enabled); + it->second->setEnabled(enabled); } } @@ -498,15 +490,19 @@ void LLToolBar::createButtons() BOOST_FOREACH(LLCommandId& command_id, mButtonCommands) { - createButton(command_id); + LLToolBarButton* button = createButton(command_id); + mButtons.push_back(button); + mButtonPanel->addChild(button); + mButtonMap.insert(std::make_pair(command_id, button)); } + mNeedsLayout = true; } -void LLToolBar::createButton(const LLCommandId& id) +LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) { LLCommand* commandp = LLCommandManager::instance().getCommand(id); - if (!commandp) return; + if (!commandp) return NULL; LLToolBarButton::Params button_p; button_p.label = LLTrans::getString(commandp->labelRef()); @@ -515,8 +511,47 @@ void LLToolBar::createButton(const LLCommandId& id) button_p.overwriteFrom(mButtonParams[mButtonType]); LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); - mButtons.push_back(button); - mButtonPanel->addChild(button); + button->setCommandId(id); + return button; +} - mNeedsLayout = true; +// +// LLToolBarButton +// + +LLToolBarButton::LLToolBarButton(const Params& p) +: LLButton(p), + mMouseDownX(0), + mMouseDownY(0), + mId("") +{} + + +BOOL LLToolBarButton::handleMouseDown(S32 x, S32 y, MASK mask) +{ + mMouseDownX = x; + mMouseDownY = y; + return LLButton::handleMouseDown(x, y, mask); +} + +BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) +{ + if (hasMouseCapture()) + { + S32 dist_squared = (x - mMouseDownX) * (x - mMouseDownX) + (y - mMouseDownY) * (y - mMouseDownY); + S32 threshold = LLUI::sSettingGroups["config"]->getS32("DragAndDropDistanceThreshold"); + S32 threshold_squared = threshold * threshold; + if (dist_squared > threshold_squared) + { + // start drag and drop + LLToolBarView* view = getParentByType<LLToolBarView>(); + LLToolBar* bar = getParentByType<LLToolBar>(); + if (view) + { + view->startDrag(bar->createButton(mId)); + setVisible(FALSE); + } + } + } + return LLButton::handleHover(x, y, mask); } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 8e484c7e13b..77bac87dbcd 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -42,7 +42,15 @@ class LLToolBarButton : public LLButton { }; - LLToolBarButton(const Params& p) : LLButton(p) {} + LLToolBarButton(const Params& p); + + BOOL handleMouseDown(S32 x, S32 y, MASK mask); + BOOL handleHover(S32 x, S32 y, MASK mask); + void setCommandId(const LLCommandId& id) { mId = id; } +private: + LLCommandId mId; + S32 mMouseDownX; + S32 mMouseDownY; }; @@ -125,6 +133,8 @@ class LLToolBar bool enableCommand(const LLCommandId& commandId, bool enabled); command_id_list_t& getCommandsList() { return mButtonCommands; } + LLToolBarButton* createButton(const LLCommandId& id); + protected: friend class LLUICtrlFactory; LLToolBar(const Params&); @@ -136,7 +146,6 @@ class LLToolBar void createContextMenu(); void updateLayoutAsNeeded(); void createButtons(); - void createButton(const LLCommandId& id); void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth); BOOL isSettingChecked(const LLSD& userdata); void onSettingEnable(const LLSD& userdata); @@ -145,6 +154,9 @@ class LLToolBar std::list<LLToolBarButton*> mButtons; command_id_list_t mButtonCommands; + typedef std::map<LLCommandId, LLToolBarButton*> command_id_map; + command_id_map mButtonMap; + LLToolBarEnums::ButtonType mButtonType; LLLayoutStack* mCenteringStack; LLLayoutStack* mWrapStack; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index b374a0bfc4b..0c3a6bd0aca 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -55,7 +55,10 @@ LLToolBarView::LLToolBarView(const LLToolBarView::Params& p) : LLUICtrl(p), mToolbarLeft(NULL), mToolbarRight(NULL), - mToolbarBottom(NULL) + mToolbarBottom(NULL), + mDragButton(NULL), + mMouseX(0), + mMouseY(0) { } @@ -283,4 +286,40 @@ void LLToolBarView::draw() //gl_rect_2d(right_rect, back_color_vert, TRUE); LLUICtrl::draw(); + + if (mDragButton) + { + S32 cursor_x, cursor_y; + mDragButton->setOrigin(mMouseX - mDragButton->getRect().getWidth(), mMouseY - mDragButton->getRect().getHeight()); + drawChild(mDragButton); + } +} + +void LLToolBarView::startDrag(LLToolBarButton* button) +{ + mDragButton = button; + addChild(mDragButton); + gFocusMgr.setMouseCapture(this); +} + +BOOL LLToolBarView::handleHover(S32 x, S32 y, MASK mask) +{ + mMouseX = x; + mMouseY = y; + return LLUICtrl::handleHover(x, y, mask); +} + +BOOL LLToolBarView::handleMouseUp(S32 x, S32 y, MASK mask) +{ + if (hasMouseCapture()) + { + gFocusMgr.setMouseCapture(NULL); + } + return LLUICtrl::handleMouseUp(x, y, mask); +} + +void LLToolBarView::onMouseCaptureLost() +{ + delete mDragButton; + mDragButton = NULL; } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 646a1fd6369..cbe3d6c083c 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -65,7 +65,10 @@ class LLToolBarView : public LLUICtrl virtual ~LLToolBarView(); virtual BOOL postBuild(); virtual void draw(); - + virtual BOOL handleHover(S32 x, S32 y, MASK mask); + virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); + virtual void onMouseCaptureLost(); + void startDrag(LLToolBarButton*); // Toolbar view interface with the rest of the world bool hasCommand(const LLCommandId& commandId) const; @@ -85,6 +88,10 @@ class LLToolBarView : public LLUICtrl LLToolBar* mToolbarLeft; LLToolBar* mToolbarRight; LLToolBar* mToolbarBottom; + bool mDragging; + LLToolBarButton* mDragButton; + S32 mMouseX; + S32 mMouseY; }; extern LLToolBarView* gToolBarView; diff --git a/indra/llui/llview.h b/indra/llui/llview.h index 9039366e7e3..f4e31b109a3 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -465,6 +465,20 @@ class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElem return dynamic_cast<T*>(widgetp); } + template <class T> T* getParentByType() const + { + LLView* parent = getParent(); + while(parent) + { + if (dynamic_cast<T*>(parent)) + { + return static_cast<T*>(parent); + } + parent = parent->getParent(); + } + return NULL; + } + ////////////////////////////////////////////// // statics ////////////////////////////////////////////// -- GitLab From fdf042bdb9aeefa209694e04d4012a3a1f911a52 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 28 Sep 2011 16:54:34 -0700 Subject: [PATCH 070/213] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1233 FIX -- Populate the toybox floater window with all FUI toolbar buttons indicated as such in the "commands.xml" definition. EXP-1267 FIX -- Enable/disable buttons in the toybox * Hooked up button callbacks to the toolbar buttons * Fixed toybox button enable/disable to function properly and live update as buttons change states. * Removed the toybox toolbar background image Reviewed by Leyla --- indra/llui/llcommandmanager.cpp | 4 +- indra/llui/llcommandmanager.h | 6 +-- indra/llui/lltoolbar.cpp | 10 ++++- indra/llui/lluictrl.cpp | 10 +++++ indra/llui/lluictrl.h | 3 ++ indra/newview/app_settings/commands.xml | 42 +++++++++---------- indra/newview/llfloatertoybox.cpp | 19 ++++++--- .../skins/default/xui/en/floater_toybox.xml | 4 +- 8 files changed, 65 insertions(+), 33 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 783990780b2..b1147134c21 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -53,7 +53,7 @@ LLCommand::Params::Params() , icon("icon") , label_ref("label_ref") , name("name") - , param("param") + , parameter("parameter") , tooltip_ref("tooltip_ref") { } @@ -64,7 +64,7 @@ LLCommand::LLCommand(const LLCommand::Params& p) , mIcon(p.icon) , mIdentifier(p.name) , mLabelRef(p.label_ref) - , mParam(p.param) + , mParameter(p.parameter) , mTooltipRef(p.tooltip_ref) { } diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 4781f771774..6481a056895 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -93,7 +93,7 @@ class LLCommand Mandatory<std::string> icon; Mandatory<std::string> label_ref; Mandatory<std::string> name; - Optional<std::string> param; + Optional<LLSD> parameter; Mandatory<std::string> tooltip_ref; Params(); @@ -106,7 +106,7 @@ class LLCommand const std::string& icon() const { return mIcon; } const LLCommandId& id() const { return mIdentifier; } const std::string& labelRef() const { return mLabelRef; } - const std::string& param() const { return mParam; } + const LLSD& parameter() const { return mParameter; } const std::string& tooltipRef() const { return mTooltipRef; } private: @@ -116,7 +116,7 @@ class LLCommand std::string mFunction; std::string mIcon; std::string mLabelRef; - std::string mParam; + LLSD mParameter; std::string mTooltipRef; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index c5219b11e86..45567d58599 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -500,7 +500,6 @@ void LLToolBar::createButtons() { createButton(command_id); } - } void LLToolBar::createButton(const LLCommandId& id) @@ -509,12 +508,21 @@ void LLToolBar::createButton(const LLCommandId& id) if (!commandp) return; LLToolBarButton::Params button_p; + button_p.name = id.name(); button_p.label = LLTrans::getString(commandp->labelRef()); button_p.tool_tip = button_p.label(); button_p.image_overlay = LLUI::getUIImage(commandp->icon()); button_p.overwriteFrom(mButtonParams[mButtonType]); LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); + if (!mReadOnly) + { + LLUICtrl::CommitCallbackParam cbParam; + cbParam.function_name = commandp->functionName(); + cbParam.parameter = commandp->parameter(); + button->setCommitCallback(cbParam); + } + mButtons.push_back(button); mButtonPanel->addChild(button); diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp index d58df5801be..5e8bf498c05 100644 --- a/indra/llui/lluictrl.cpp +++ b/indra/llui/lluictrl.cpp @@ -992,6 +992,16 @@ void LLUICtrl::setTransparencyType(ETypeTransparency type) mTransparencyType = type; } +boost::signals2::connection LLUICtrl::setCommitCallback(const CommitCallbackParam& cb) +{ + return setCommitCallback(initCommitCallback(cb)); +} + +boost::signals2::connection LLUICtrl::setValidateCallback(const EnableCallbackParam& cb) +{ + return setValidateCallback(initEnableCallback(cb)); +} + boost::signals2::connection LLUICtrl::setCommitCallback( const commit_signal_t::slot_type& cb ) { if (!mCommitSignal) mCommitSignal = new commit_signal_t(); diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index 09bed9b958e..fc56e5fc35f 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -235,6 +235,9 @@ class LLUICtrl // topic then put in help_topic_out bool findHelpTopic(std::string& help_topic_out); + boost::signals2::connection setCommitCallback(const CommitCallbackParam& cb); + boost::signals2::connection setValidateCallback(const EnableCallbackParam& cb); + boost::signals2::connection setCommitCallback( const commit_signal_t::slot_type& cb ); boost::signals2::connection setValidateCallback( const enable_signal_t::slot_type& cb ); diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 4a33b24075a..5fbd9248c13 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -6,7 +6,7 @@ label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" function="Floater.ToolbarToggle" - param="avatar" + parameter="avatar" /> <command name="build" available_in_toybox="true" @@ -14,7 +14,7 @@ label_ref="Command_Build_Label" tooltip_ref="Command_Build_Tooltip" function="Floater.ToolbarToggle" - param="build" + parameter="build" /> <command name="chat" available_in_toybox="true" @@ -22,7 +22,7 @@ label_ref="Command_Chat_Label" tooltip_ref="Command_Chat_Tooltip" function="Floater.ToolbarToggle" - param="chat" + parameter="chat" /> <command name="compass" available_in_toybox="false" @@ -30,7 +30,7 @@ label_ref="Command_Compass_Label" tooltip_ref="Command_Compass_Tooltip" function="Floater.ToolbarToggle" - param="compass" + parameter="compass" /> <command name="gestures" available_in_toybox="true" @@ -38,7 +38,7 @@ label_ref="Command_Gestures_Label" tooltip_ref="Command_Gestures_Tooltip" function="Floater.ToolbarToggle" - param="gestures" + parameter="gestures" /> <command name="howto" available_in_toybox="true" @@ -46,7 +46,7 @@ label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" function="Floater.ToolbarToggle" - param="howto" + parameter="howto" /> <command name="landmarks" available_in_toybox="true" @@ -54,7 +54,7 @@ label_ref="Command_Landmarks_Label" tooltip_ref="Command_Landmarks_Tooltip" function="Floater.ToolbarToggle" - param="landmarks" + parameter="landmarks" /> <command name="map" available_in_toybox="true" @@ -62,7 +62,7 @@ label_ref="Command_Map_Label" tooltip_ref="Command_Map_Tooltip" function="Floater.ToolbarToggle" - param="map" + parameter="map" /> <command name="minimap" available_in_toybox="true" @@ -70,7 +70,7 @@ label_ref="Command_MiniMap_Label" tooltip_ref="Command_MiniMap_Tooltip" function="Floater.ToolbarToggle" - param="minimap" + parameter="minimap" /> <command name="move" available_in_toybox="true" @@ -78,7 +78,7 @@ label_ref="Command_Move_Label" tooltip_ref="Command_Move_Tooltip" function="Floater.ToolbarToggle" - param="move" + parameter="move" /> <command name="myland" available_in_toybox="true" @@ -86,7 +86,7 @@ label_ref="Command_MyLand_Label" tooltip_ref="Command_MyLand_Tooltip" function="Floater.ToolbarToggle" - param="myland" + parameter="myland" /> <command name="mystuff" available_in_toybox="true" @@ -94,7 +94,7 @@ label_ref="Command_MyStuff_Label" tooltip_ref="Command_MyStuff_Tooltip" function="Floater.ToolbarToggle" - param="mystuff" + parameter="mystuff" /> <command name="people" available_in_toybox="true" @@ -102,7 +102,7 @@ label_ref="Command_People_Label" tooltip_ref="Command_People_Tooltip" function="Floater.ToolbarToggle" - param="people" + parameter="people" /> <command name="places" available_in_toybox="true" @@ -110,7 +110,7 @@ label_ref="Command_Places_Label" tooltip_ref="Command_Places_Tooltip" function="Floater.ToolbarToggle" - param="places" + parameter="places" /> <command name="search" available_in_toybox="true" @@ -118,7 +118,7 @@ label_ref="Command_Search_Label" tooltip_ref="Command_Search_Tooltip" function="Floater.ToolbarToggle" - param="search" + parameter="search" /> <command name="settings" available_in_toybox="true" @@ -126,7 +126,7 @@ label_ref="Command_Settings_Label" tooltip_ref="Command_Settings_Tooltip" function="Floater.ToolbarToggle" - param="settings" + parameter="settings" /> <command name="shop" available_in_toybox="true" @@ -134,7 +134,7 @@ label_ref="Command_Shop_Label" tooltip_ref="Command_Shop_Tooltip" function="Floater.ToolbarToggle" - param="shop" + parameter="shop" /> <command name="snapshot" available_in_toybox="true" @@ -142,7 +142,7 @@ label_ref="Command_Snapshot_Label" tooltip_ref="Command_Snapshot_Tooltip" function="Floater.ToolbarToggle" - param="snapshot" + parameter="snapshot" /> <command name="speak" available_in_toybox="true" @@ -150,7 +150,7 @@ label_ref="Command_Speak_Label" tooltip_ref="Command_Speak_Tooltip" function="Floater.ToolbarToggle" - param="speak" + parameter="speak" /> <command name="upload" available_in_toybox="true" @@ -158,7 +158,7 @@ label_ref="Command_Upload_Label" tooltip_ref="Command_Upload_Tooltip" function="Floater.ToolbarToggle" - param="upload" + parameter="upload" /> <command name="view" available_in_toybox="true" @@ -166,6 +166,6 @@ label_ref="Command_View_Label" tooltip_ref="Command_View_Tooltip" function="Floater.ToolbarToggle" - param="view" + parameter="view" /> </commands> diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index beb928ea361..c3fa322f854 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -67,9 +67,6 @@ BOOL LLFloaterToybox::postBuild() if (command->availableInToybox()) { mToolBar->addCommand(command->id()); - - llassert(gToolBarView != NULL); - mToolBar->enableCommand(command->id(), !gToolBarView->hasCommand(command->id())); } } @@ -93,17 +90,29 @@ void LLFloaterToybox::onClose(bool app_quitting) void LLFloaterToybox::draw() { + llassert(gToolBarView != NULL); + + LLCommandManager& cmdMgr = LLCommandManager::instance(); + + for (U32 i = 0; i < cmdMgr.commandCount(); i++) + { + LLCommand * command = cmdMgr.getCommand(i); + + if (command->availableInToybox()) + { + mToolBar->enableCommand(command->id(), !gToolBarView->hasCommand(command->id())); + } + } + LLFloater::draw(); } void LLFloaterToybox::onFocusReceived() { - } void LLFloaterToybox::onBtnRestoreDefaults() { - } diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 092eddaa53c..feb19571b26 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -59,7 +59,9 @@ read_only="true" right="-20" side="top" - top="85" /> + top="85"> + <button_panel background_visible="false" /> + </toolbar> <panel bevel_style="none" border="true" -- GitLab From 9d3fc5d930bd1dae07771350080e5140c0113891 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Thu, 29 Sep 2011 21:43:07 +0300 Subject: [PATCH 071/213] EXP-1209 FIXED Sidetray removed. - Removed all sidetray dependencies and the sidetray itself. - Also removed LLFloaterSidetrayTab and LLSidetrayListener as unused. --- indra/newview/CMakeLists.txt | 6 - indra/newview/app_settings/settings.xml | 11 - indra/newview/llagentwearables.cpp | 1 - indra/newview/llappearancemgr.cpp | 4 +- indra/newview/llappviewer.cpp | 7 - indra/newview/llavataractions.cpp | 1 - indra/newview/llbottomtray.cpp | 1 - indra/newview/llchathistory.cpp | 2 - indra/newview/llcofwearables.cpp | 8 - indra/newview/llfavoritesbar.cpp | 1 - indra/newview/llfloaterpreference.cpp | 7 +- indra/newview/llfloatersidetraytab.cpp | 52 - indra/newview/llfloatersidetraytab.h | 49 - indra/newview/llgroupactions.cpp | 1 - indra/newview/llimfloater.cpp | 38 - indra/newview/llimfloater.h | 4 - indra/newview/llinspectobject.cpp | 1 - indra/newview/llinventorybridge.cpp | 1 - indra/newview/llinventoryfunctions.cpp | 1 - indra/newview/llinventorypanel.cpp | 1 - indra/newview/lllocationinputctrl.cpp | 1 - indra/newview/llnavigationbar.cpp | 1 - indra/newview/llnearbychat.cpp | 1 - indra/newview/lloutfitslist.cpp | 1 - indra/newview/llpanelblockedlist.cpp | 1 - indra/newview/llpanelgroup.cpp | 1 - indra/newview/llpanelimcontrolpanel.cpp | 1 - indra/newview/llpanellandmarks.cpp | 1 - indra/newview/llpanelmaininventory.cpp | 1 - indra/newview/llpanelmarketplaceinbox.cpp | 8 - indra/newview/llpanelmarketplaceinbox.h | 4 +- indra/newview/llpanelmarketplaceoutbox.cpp | 1 - indra/newview/llpanelme.cpp | 14 - indra/newview/llpanelobjectinventory.cpp | 1 - indra/newview/llpaneloutfitsinventory.cpp | 1 - indra/newview/llpanelpeople.cpp | 3 +- indra/newview/llpanelplaces.cpp | 1 - indra/newview/llpanelteleporthistory.cpp | 1 - indra/newview/llpaneltopinfobar.cpp | 1 - indra/newview/llpaneltopinfobar.h | 2 +- indra/newview/llpanelwearing.cpp | 1 - indra/newview/llscreenchannel.cpp | 41 +- indra/newview/llscreenchannel.h | 1 - indra/newview/llsidepanelappearance.cpp | 2 - indra/newview/llsidepanelinventory.cpp | 5 +- indra/newview/llsidepanelinventory.h | 2 +- indra/newview/llsidetray.cpp | 1489 ----------------- indra/newview/llsidetray.h | 260 --- indra/newview/llsidetraylistener.cpp | 179 -- indra/newview/llsidetraylistener.h | 53 - indra/newview/llstartup.cpp | 1 - indra/newview/llurldispatcher.cpp | 1 - indra/newview/llviewerfloaterreg.cpp | 2 - indra/newview/llviewerinventory.cpp | 1 - indra/newview/llviewermenu.cpp | 45 +- indra/newview/llviewermessage.cpp | 5 +- indra/newview/llviewertexteditor.cpp | 1 - indra/newview/llviewerwindow.cpp | 27 - indra/newview/llviewerwindow.h | 2 - indra/newview/llwearable.cpp | 1 - indra/newview/llworldview.cpp | 61 - .../skins/default/xui/en/main_view.xml | 19 - .../skins/default/xui/en/menu_login.xml | 8 - .../default/xui/en/panel_preferences_move.xml | 10 - 64 files changed, 29 insertions(+), 2431 deletions(-) delete mode 100644 indra/newview/llfloatersidetraytab.cpp delete mode 100644 indra/newview/llfloatersidetraytab.h delete mode 100644 indra/newview/llsidetray.cpp delete mode 100644 indra/newview/llsidetray.h delete mode 100644 indra/newview/llsidetraylistener.cpp delete mode 100644 indra/newview/llsidetraylistener.h delete mode 100644 indra/newview/llworldview.cpp diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 59e1ca10e6d..c488d51ba5e 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -229,7 +229,6 @@ set(viewer_SOURCE_FILES llfloatersellland.cpp llfloatersettingsdebug.cpp llfloatersidepanelcontainer.cpp - llfloatersidetraytab.cpp llfloatersnapshot.cpp llfloatersounddevices.cpp llfloatertelehub.cpp @@ -442,8 +441,6 @@ set(viewer_SOURCE_FILES llsidepanelinventorysubpanel.cpp llsidepaneliteminfo.cpp llsidepaneltaskinfo.cpp - llsidetray.cpp - llsidetraylistener.cpp llsidetraypanelcontainer.cpp llsky.cpp llslurl.cpp @@ -794,7 +791,6 @@ set(viewer_HEADER_FILES llfloatersellland.h llfloatersettingsdebug.h llfloatersidepanelcontainer.h - llfloatersidetraytab.h llfloatersnapshot.h llfloatersounddevices.h llfloatertelehub.h @@ -1002,8 +998,6 @@ set(viewer_HEADER_FILES llsidepanelinventorysubpanel.h llsidepaneliteminfo.h llsidepaneltaskinfo.h - llsidetray.h - llsidetraylistener.h llsidetraypanelcontainer.h llsky.h llslurl.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 148b80e817c..3d3185600be 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9921,17 +9921,6 @@ <key>Value</key> <integer>0</integer> </map> - <key>SidebarCameraMovement</key> - <map> - <key>Comment</key> - <string>Reflects world rect changing while changing sidebar visibility.</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> <key>GroupListShowIcons</key> <map> <key>Comment</key> diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 404cd8e5b6d..ccbf6bf932b 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -43,7 +43,6 @@ #include "llnotificationsutil.h" #include "lloutfitobserver.h" #include "llsidepanelappearance.h" -#include "llsidetray.h" #include "lltexlayer.h" #include "lltooldraganddrop.h" #include "llviewerregion.h" diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index c638f881a5f..e5369dc2b8c 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -44,7 +44,6 @@ #include "lloutfitslist.h" #include "llselectmgr.h" #include "llsidepanelappearance.h" -#include "llsidetray.h" #include "llviewerobjectlist.h" #include "llvoavatar.h" #include "llvoavatarself.h" @@ -2466,7 +2465,8 @@ class LLShowCreatedOutfit: public LLInventoryCallback // add may be processed after login process is finished if (mShowPanel) { - LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key); + LLFloaterSidePanelContainer::showPanel("appearance", "panel_outfits_inventory", key); + } LLOutfitsList *outfits_list = dynamic_cast<LLOutfitsList*>(LLFloaterSidePanelContainer::getPanel("appearance", "outfitslist_tab")); diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 43c8750b02e..7b75bbf4309 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -81,7 +81,6 @@ #include "llviewermenufile.h" #include "llvoicechannel.h" #include "llvoavatarself.h" -#include "llsidetray.h" #include "llurlmatch.h" #include "lltextutil.h" #include "lllogininstance.h" @@ -3499,8 +3498,6 @@ void LLAppViewer::requestQuit() gFloaterView->closeAllChildren(true); } - LLSideTray::getInstance()->notifyChildren(LLSD().with("request","quit")); - send_stats(); gLogoutTimer.reset(); @@ -4559,10 +4556,6 @@ void LLAppViewer::idleShutdown() return; } - if (LLSideTray::getInstance()->notifyChildren(LLSD().with("request","wait_quit"))) - { - return; - } diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index fb7517a98b5..b14c02a5d6d 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -61,7 +61,6 @@ #include "llpaneloutfitedit.h" #include "llpanelprofile.h" #include "llrecentpeople.h" -#include "llsidetray.h" #include "lltrans.h" #include "llviewercontrol.h" #include "llviewerobjectlist.h" diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 19061c55ca0..98712f13348 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -48,7 +48,6 @@ #include "llimfloater.h" // for LLIMFloater #include "llnearbychatbar.h" #include "llnearbychatbarlistener.h" -#include "llsidetray.h" #include "llspeakbutton.h" #include "llsplitbutton.h" #include "llsyswellwindow.h" diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index d6773b8b295..7a444edd436 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -59,8 +59,6 @@ #include "llviewercontrol.h" -#include "llsidetray.h"//for blocked objects panel - static LLDefaultChildRegistry::Register<LLChatHistory> r("chat_history"); const static std::string NEW_LINE(rawstr_to_utf8("\n")); diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 80e0cca780c..54598f90c83 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -41,7 +41,6 @@ #include "llviewermenu.h" #include "llwearableitemslist.h" #include "llpaneloutfitedit.h" -#include "llsidetray.h" #include "lltrans.h" static LLRegisterPanelClassWrapper<LLCOFWearables> t_cof_wearables("cof_wearables"); @@ -160,11 +159,6 @@ class CofClothingContextMenu : public CofContextMenu protected: static void replaceWearable(const LLUUID& item_id) { - // *TODO: Most probable that accessing to LLPanelOutfitEdit instance should be: - // LLSideTray::getInstance()->getSidepanelAppearance()->getPanelOutfitEdit() - // without casting. Getter methods provides possibility to check and construct - // absent instance. Explicit relations between components avoids situations - // when we tries to construct instance with unsatisfied implicit input conditions. LLPanelOutfitEdit * panel_outfit_edit = dynamic_cast<LLPanelOutfitEdit*> (LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); @@ -236,8 +230,6 @@ class CofBodyPartContextMenu : public CofContextMenu LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registrar; LLUUID selected_id = mUUIDs.back(); - // *HACK* need to pass pointer to LLPanelOutfitEdit instead of LLSideTray::getInstance()->getPanel(). - // LLSideTray::getInstance()->getPanel() is rather slow variant LLPanelOutfitEdit* panel_oe = dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); registrar.add("BodyPart.Replace", boost::bind(&LLPanelOutfitEdit::onReplaceMenuItemClicked, panel_oe, selected_id)); registrar.add("BodyPart.Edit", boost::bind(LLAgentWearables::editWearable, selected_id)); diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 1eabf32b9f6..6dcfa95a0eb 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -45,7 +45,6 @@ #include "llfloaterworldmap.h" #include "lllandmarkactions.h" #include "llnotificationsutil.h" -#include "llsidetray.h" #include "lltoggleablemenu.h" #include "llviewerinventory.h" #include "llviewermenu.h" diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index d8b6b2e966e..47c86ae5493 100755 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -67,7 +67,6 @@ #include "llscrolllistctrl.h" #include "llscrolllistitem.h" #include "llsliderctrl.h" -#include "llsidetray.h" #include "lltabcontainer.h" #include "lltrans.h" #include "llviewercontrol.h" @@ -1497,11 +1496,7 @@ void LLFloaterPreference::onChangeMaturity() // but the UI for this will still be enabled void LLFloaterPreference::onClickBlockList() { - // don't create side tray on demand - if (LLSideTray::instanceCreated()) - { - LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); - } + LLFloaterSidePanelContainer::showPanel("people", "panel_block_list_sidetray", LLSD()); } void LLFloaterPreference::onDoubleClickCheckBox(LLUICtrl* ctrl) diff --git a/indra/newview/llfloatersidetraytab.cpp b/indra/newview/llfloatersidetraytab.cpp deleted file mode 100644 index 9f15e62d84f..00000000000 --- a/indra/newview/llfloatersidetraytab.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @file llfloatersidetraytab.cpp - * @brief LLFloaterSideTrayTab class definition - * - * $LicenseInfo:firstyear=2010&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 "llfloatersidetraytab.h" - -// newview includes -#include "lltransientfloatermgr.h" -#include "llsidetray.h" - -LLFloaterSideTrayTab::LLFloaterSideTrayTab(const LLSD& key, const Params& params) -: LLFloater(key, params) -{ - // Prevent transient floaters (e.g. IM windows) from hiding - // when this floater is clicked. - LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::GLOBAL, this); -} - -LLFloaterSideTrayTab::~LLFloaterSideTrayTab() -{ - LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::GLOBAL, this); -} - -void LLFloaterSideTrayTab::onClose(bool app_quitting) -{ - // The floater is already being closed, so don't toggle it once more (that may crash viewer). - LLSideTray::getInstance()->setTabDocked(getName(), /* dock = */ true, /* toggle_floater = */ false); -} diff --git a/indra/newview/llfloatersidetraytab.h b/indra/newview/llfloatersidetraytab.h deleted file mode 100644 index 89f2444a0e4..00000000000 --- a/indra/newview/llfloatersidetraytab.h +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @file llfloatersidetraytab.h - * @brief LLFloaterSideTrayTab class definition - * - * $LicenseInfo:firstyear=2010&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_LLFLOATERSIDETRAYTAB_H -#define LL_LLFLOATERSIDETRAYTAB_H - -#include "llfloater.h" - -/** - * When a side tray tab gets detached, it's wrapped in an instance of this class. - * - * This class helps to make sure that clicking a detached side tray tab doesn't - * make transient floaters (e.g. IM windows) hide, so that it's possible to - * drag an inventory item from detached My Inventory window to a docked IM window, - * i.e. share the item (see VWR-22891). - */ -class LLFloaterSideTrayTab : public LLFloater -{ -public: - LLFloaterSideTrayTab(const LLSD& key, const Params& params = getDefaultParams()); - ~LLFloaterSideTrayTab(); - - void onClose(bool app_quitting); -}; - -#endif // LL_LLFLOATERSIDETRAYTAB_H diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index cbbd66d8684..623ebb76f2b 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -38,7 +38,6 @@ #include "llgroupmgr.h" #include "llimview.h" // for gIMMgr #include "llnotificationsutil.h" -#include "llsidetray.h" #include "llstatusbar.h" // can_afford_transaction() #include "llimfloater.h" #include "groupchatlistener.h" diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 50a9c56518a..14d85246e94 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -55,15 +55,9 @@ #include "llinventorymodel.h" #include "llrootview.h" #include "llspeakers.h" -#include "llsidetray.h" #include "llviewerchat.h" -static const S32 RECT_PADDING_NOT_INIT = -1; -static const S32 RECT_PADDING_NEED_RECALC = -2; - -S32 LLIMFloater::sAllowedRectRightPadding = RECT_PADDING_NOT_INIT; - LLIMFloater::LLIMFloater(const LLUUID& session_id) : LLTransientDockableFloater(NULL, true, session_id), mControlPanel(NULL), @@ -472,41 +466,9 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id) return floater; } -//static -bool LLIMFloater::resetAllowedRectPadding() -{ - //reset allowed rect right padding if "SidebarCameraMovement" option - //or sidebar state changed - sAllowedRectRightPadding = RECT_PADDING_NEED_RECALC ; - return true; -} - void LLIMFloater::getAllowedRect(LLRect& rect) { - if (sAllowedRectRightPadding == RECT_PADDING_NOT_INIT) //wasn't initialized - { - gSavedSettings.getControl("SidebarCameraMovement")->getSignal()->connect(boost::bind(&LLIMFloater::resetAllowedRectPadding)); - - LLSideTray* side_bar = LLSideTray::getInstance(); - side_bar->setVisibleWidthChangeCallback(boost::bind(&LLIMFloater::resetAllowedRectPadding)); - sAllowedRectRightPadding = RECT_PADDING_NEED_RECALC; - } - rect = gViewerWindow->getWorldViewRectScaled(); - if (sAllowedRectRightPadding == RECT_PADDING_NEED_RECALC) //recalc allowed rect right padding - { - LLPanel* side_bar_tabs = - gViewerWindow->getRootView()->getChild<LLPanel> ( - "side_bar_tabs"); - sAllowedRectRightPadding = side_bar_tabs->getRect().getWidth(); - LLTransientFloaterMgr::getInstance()->addControlView(side_bar_tabs); - - if (gSavedSettings.getBOOL("SidebarCameraMovement") == FALSE) - { - sAllowedRectRightPadding += LLSideTray::getInstance()->getVisibleWidth(); - } - } - rect.mRight -= sAllowedRectRightPadding; } void LLIMFloater::setDocked(bool docked, bool pop_on_undock) diff --git a/indra/newview/llimfloater.h b/indra/newview/llimfloater.h index 5158f6c1f78..8a3020ea10a 100644 --- a/indra/newview/llimfloater.h +++ b/indra/newview/llimfloater.h @@ -156,10 +156,6 @@ class LLIMFloater : public LLTransientDockableFloater static void closeHiddenIMToasts(); - static bool resetAllowedRectPadding(); - //need to keep this static for performance issues - static S32 sAllowedRectRightPadding; - static void confirmLeaveCallCallback(const LLSD& notification, const LLSD& response); LLPanelChatControlPanel* mControlPanel; diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp index 29d7a4a6b09..026c8a09234 100644 --- a/indra/newview/llinspectobject.cpp +++ b/indra/newview/llinspectobject.cpp @@ -46,7 +46,6 @@ #include "llmenubutton.h" #include "llresmgr.h" // getMonetaryString #include "llsafehandle.h" -#include "llsidetray.h" #include "lltextbox.h" // for description truncation #include "lltoggleablemenu.h" #include "lltrans.h" diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index b6041c7f316..2066cbc6b22 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -60,7 +60,6 @@ #include "llpreviewtexture.h" #include "llselectmgr.h" #include "llsidepanelappearance.h" -#include "llsidetray.h" #include "lltrans.h" #include "llviewerassettype.h" #include "llviewerfoldertype.h" diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index acec02b507b..21a026bcf7f 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -71,7 +71,6 @@ #include "llscrollbar.h" #include "llscrollcontainer.h" #include "llselectmgr.h" -#include "llsidetray.h" #include "llsidepanelinventory.h" #include "lltabcontainer.h" #include "lltooldraganddrop.h" diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 27db28367c1..b0f9cb28e66 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -43,7 +43,6 @@ #include "llinventoryfunctions.h" #include "llinventorymodelbackgroundfetch.h" #include "llsidepanelinventory.h" -#include "llsidetray.h" #include "llviewerattachmenu.h" #include "llviewerfoldertype.h" #include "llvoavatarself.h" diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index f519ad759e7..025181ead55 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -49,7 +49,6 @@ #include "lllandmarkactions.h" #include "lllandmarklist.h" #include "llteleporthistory.h" -#include "llsidetray.h" #include "llslurl.h" #include "llstatusbar.h" // getHealth() #include "lltrans.h" diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 4c0823874c2..fc264db5af9 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -45,7 +45,6 @@ #include "llpaneltopinfobar.h" #include "llteleporthistory.h" #include "llsearchcombobox.h" -#include "llsidetray.h" #include "llslurl.h" #include "llurlregistry.h" #include "llurldispatcher.h" diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index a16ea0e7d3d..9eaa64a124f 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -32,7 +32,6 @@ #include "llrootview.h" //#include "llchatitemscontainerctrl.h" #include "lliconctrl.h" -#include "llsidetray.h" #include "llfloatersidepanelcontainer.h" #include "llfocusmgr.h" #include "llresizebar.h" diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index c2739867b10..1dc4d796ab2 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -42,7 +42,6 @@ #include "llmenubutton.h" #include "llnotificationsutil.h" #include "lloutfitobserver.h" -#include "llsidetray.h" #include "lltoggleablemenu.h" #include "lltransutil.h" #include "llviewermenu.h" diff --git a/indra/newview/llpanelblockedlist.cpp b/indra/newview/llpanelblockedlist.cpp index 856dabb6b78..5c85ec438cb 100644 --- a/indra/newview/llpanelblockedlist.cpp +++ b/indra/newview/llpanelblockedlist.cpp @@ -38,7 +38,6 @@ // project include #include "llfloateravatarpicker.h" #include "llfloatersidepanelcontainer.h" -#include "llsidetray.h" #include "llsidetraypanelcontainer.h" static LLRegisterPanelClassWrapper<LLPanelBlockedList> t_panel_blocked_list("panel_block_list_sidetray"); diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 70dcf61d7d9..ae217958f0e 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -50,7 +50,6 @@ #include "llpanelgroupnotices.h" #include "llpanelgroupgeneral.h" -#include "llsidetray.h" #include "llaccordionctrltab.h" #include "llaccordionctrl.h" diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp index e370f2f622c..0295ad151f4 100644 --- a/indra/newview/llpanelimcontrolpanel.cpp +++ b/indra/newview/llpanelimcontrolpanel.cpp @@ -40,7 +40,6 @@ #include "llparticipantlist.h" #include "llimview.h" #include "llvoicechannel.h" -#include "llsidetray.h" #include "llspeakers.h" #include "lltrans.h" diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index 1b9eb4813bf..a65631b8d8d 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -52,7 +52,6 @@ #include "llmenubutton.h" #include "llplacesinventorybridge.h" #include "llplacesinventorypanel.h" -#include "llsidetray.h" #include "lltoggleablemenu.h" #include "llviewermenu.h" #include "llviewerregion.h" diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index c1341af2ef8..6562b259c3a 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -52,7 +52,6 @@ #include "llviewermenu.h" #include "llviewertexturelist.h" #include "llsidepanelinventory.h" -#include "llsidetray.h" const std::string FILTERS_FILENAME("filters.xml"); diff --git a/indra/newview/llpanelmarketplaceinbox.cpp b/indra/newview/llpanelmarketplaceinbox.cpp index a336472fc0d..d1aea51a092 100644 --- a/indra/newview/llpanelmarketplaceinbox.cpp +++ b/indra/newview/llpanelmarketplaceinbox.cpp @@ -59,8 +59,6 @@ LLPanelMarketplaceInbox::~LLPanelMarketplaceInbox() // virtual BOOL LLPanelMarketplaceInbox::postBuild() { - LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLPanelMarketplaceInbox::handleLoginComplete, this)); - LLFocusableElement::setFocusReceivedCallback(boost::bind(&LLPanelMarketplaceInbox::onFocusReceived, this)); return TRUE; @@ -74,12 +72,6 @@ void LLPanelMarketplaceInbox::onSelectionChange() } -void LLPanelMarketplaceInbox::handleLoginComplete() -{ - // Set us up as the class to drive the badge value for the sidebar_inventory button - LLSideTray::getInstance()->setTabButtonBadgeDriver("sidebar_inventory", this); -} - LLInventoryPanel * LLPanelMarketplaceInbox::setupInventoryPanel() { LLView * inbox_inventory_placeholder = getChild<LLView>("inbox_inventory_placeholder"); diff --git a/indra/newview/llpanelmarketplaceinbox.h b/indra/newview/llpanelmarketplaceinbox.h index 705a095cf01..3531518e518 100644 --- a/indra/newview/llpanelmarketplaceinbox.h +++ b/indra/newview/llpanelmarketplaceinbox.h @@ -28,11 +28,10 @@ #define LL_LLPANELMARKETPLACEINBOX_H #include "llpanel.h" -#include "llsidetray.h" class LLInventoryPanel; -class LLPanelMarketplaceInbox : public LLPanel, public LLSideTrayTabBadgeDriver +class LLPanelMarketplaceInbox : public LLPanel { public: @@ -61,7 +60,6 @@ class LLPanelMarketplaceInbox : public LLPanel, public LLSideTrayTabBadgeDriver std::string getBadgeString() const; private: - void handleLoginComplete(); void onSelectionChange(); diff --git a/indra/newview/llpanelmarketplaceoutbox.cpp b/indra/newview/llpanelmarketplaceoutbox.cpp index c0de5deb0a0..d4f9654e6ee 100644 --- a/indra/newview/llpanelmarketplaceoutbox.cpp +++ b/indra/newview/llpanelmarketplaceoutbox.cpp @@ -40,7 +40,6 @@ #include "llpanelmarketplaceinbox.h" #include "llsdutil.h" #include "llsidepanelinventory.h" -#include "llsidetray.h" #include "lltimer.h" #include "llviewernetwork.h" #include "llagent.h" diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp index 4d86fa15dfd..0b687009bf8 100644 --- a/indra/newview/llpanelme.cpp +++ b/indra/newview/llpanelme.cpp @@ -72,20 +72,6 @@ BOOL LLPanelMe::postBuild() void LLPanelMe::onOpen(const LLSD& key) { LLPanelProfile::onOpen(key); - - // Removed this action as per SOCIAL-431 The first time a new resident opens the profile tab - // in the sidebar, they see the old profile editing panel - // - //// Force Edit My Profile if this is the first time when user is opening Me Panel (EXT-5068) - //bool opened = gSavedSettings.getBOOL("MePanelOpened"); - //// In some cases Side Tray my call onOpen() twice, check getCollapsed() to be sure this - //// is the last time onOpen() is called - //if( !opened && !LLSideTray::getInstance()->getCollapsed() ) - //{ - // buildEditPanel(); - // openPanel(mEditPanel, getAvatarId()); - // gSavedSettings.setBOOL("MePanelOpened", true); - //} } void LLPanelMe::buildEditPanel() diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index 44364b5831d..98ea6805043 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -57,7 +57,6 @@ #include "llpreviewtexture.h" #include "llscrollcontainer.h" #include "llselectmgr.h" -#include "llsidetray.h" #include "llstatusbar.h" #include "lltooldraganddrop.h" #include "lltrans.h" diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index 3ac0d6616b3..f90236f6f28 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -41,7 +41,6 @@ #include "llpanelwearing.h" #include "llsaveoutfitcombobtn.h" #include "llsidepanelappearance.h" -#include "llsidetray.h" #include "llviewerfoldertype.h" static const std::string OUTFITS_TAB_NAME = "outfitslist_tab"; diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index 86e481d9538..80c431f4812 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -57,7 +57,6 @@ #include "llinventoryobserver.h" #include "llnetmap.h" #include "llpanelpeoplemenus.h" -#include "llsidetray.h" #include "llsidetraypanelcontainer.h" #include "llrecentpeople.h" #include "llviewercontrol.h" // for gSavedSettings @@ -1452,7 +1451,7 @@ bool LLPanelPeople::notifyChildren(const LLSD& info) container->onOpen(LLSD().with(LLSideTrayPanelContainer::PARAM_SUB_PANEL_NAME, getName())); } else - LLSideTray::getInstance()->collapseSideBar(); + LLFloaterReg::hideFloaterInstance("people"); return true; // this notification is only supposed to be handled by task panels } diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index 0129ac753ab..7f8f9b29afc 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -65,7 +65,6 @@ #include "llpanelplaceprofile.h" #include "llpanelteleporthistory.h" #include "llremoteparcelrequest.h" -#include "llsidetray.h" #include "llteleporthistorystorage.h" #include "lltoggleablemenu.h" #include "llviewerinventory.h" diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index 52dd70f0056..79171dbcb92 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -31,7 +31,6 @@ #include "llfloaterworldmap.h" #include "llpanelteleporthistory.h" -#include "llsidetray.h" #include "llworldmap.h" #include "llteleporthistorystorage.h" #include "lltextutil.h" diff --git a/indra/newview/llpaneltopinfobar.cpp b/indra/newview/llpaneltopinfobar.cpp index b6e32dba78e..5ed23d2f425 100644 --- a/indra/newview/llpaneltopinfobar.cpp +++ b/indra/newview/llpaneltopinfobar.cpp @@ -36,7 +36,6 @@ #include "lllocationinputctrl.h" #include "llnotificationsutil.h" #include "llparcel.h" -#include "llsidetray.h" #include "llslurl.h" #include "llstatusbar.h" #include "lltrans.h" diff --git a/indra/newview/llpaneltopinfobar.h b/indra/newview/llpaneltopinfobar.h index 583e91d15e0..e934b522bed 100644 --- a/indra/newview/llpaneltopinfobar.h +++ b/indra/newview/llpaneltopinfobar.h @@ -148,7 +148,7 @@ class LLPanelTopInfoBar : public LLPanel, public LLSingleton<LLPanelTopInfoBar>, void setParcelInfoText(const std::string& new_text); /** - * Implementation of LLDestroyClass<LLSideTray> + * Implementation of LLDestroyClass<T> */ static void destroyClass() { diff --git a/indra/newview/llpanelwearing.cpp b/indra/newview/llpanelwearing.cpp index 87e9bb7b288..e2801c09bde 100644 --- a/indra/newview/llpanelwearing.cpp +++ b/indra/newview/llpanelwearing.cpp @@ -36,7 +36,6 @@ #include "llinventorymodel.h" #include "llinventoryobserver.h" #include "llmenubutton.h" -#include "llsidetray.h" #include "llviewermenu.h" #include "llwearableitemslist.h" #include "llsdserialize.h" diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index e3bc67a4147..a3b0574bca3 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -41,7 +41,6 @@ #include "llsyswellwindow.h" #include "llimfloater.h" #include "llscriptfloater.h" -#include "llsidetray.h" #include <algorithm> @@ -83,25 +82,8 @@ bool LLScreenChannelBase::isHovering() return mHoveredToast->isHovered(); } -void LLScreenChannelBase::resetPositionAndSize() -{ - LLRect rc = gViewerWindow->getWorldViewRectScaled(); - updatePositionAndSize(rc, rc); -} - void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) { - /* - take sidetray into account - screenchannel should not overlap sidetray - */ - S32 world_rect_padding = 0; - if (gSavedSettings.getBOOL("SidebarCameraMovement") == FALSE - && LLSideTray::instanceCreated ()) - { - world_rect_padding += LLSideTray::getInstance()->getVisibleWidth(); - } - - S32 top_delta = old_world_rect.mTop - new_world_rect.mTop; LLRect this_rect = getRect(); @@ -111,10 +93,10 @@ void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect ne case CA_LEFT : break; case CA_CENTRE : - this_rect.setCenterAndSize( (new_world_rect.getWidth() - world_rect_padding) / 2, new_world_rect.getHeight() / 2, this_rect.getWidth(), this_rect.getHeight()); + this_rect.setCenterAndSize( (new_world_rect.getWidth()) / 2, new_world_rect.getHeight() / 2, this_rect.getWidth(), this_rect.getHeight()); break; case CA_RIGHT : - this_rect.setLeftTopAndSize(new_world_rect.mRight - world_rect_padding - this_rect.getWidth(), + this_rect.setLeftTopAndSize(new_world_rect.mRight - this_rect.getWidth(), this_rect.mTop, this_rect.getWidth(), this_rect.getHeight()); @@ -126,12 +108,6 @@ void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect ne void LLScreenChannelBase::init(S32 channel_left, S32 channel_right) { - if(LLSideTray::instanceCreated()) - { - LLSideTray* side_bar = LLSideTray::getInstance(); - side_bar->setVisibleWidthChangeCallback(boost::bind(&LLScreenChannelBase::resetPositionAndSize, this)); - } - // top and bottom set by updateBottom() setRect(LLRect(channel_left, 0, channel_right, 0)); updateBottom(); @@ -203,17 +179,6 @@ std::list<LLToast*> LLScreenChannel::findToasts(const Matcher& matcher) //-------------------------------------------------------------------------- void LLScreenChannel::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) { - /* - take sidetray into account - screenchannel should not overlap sidetray - */ - S32 world_rect_padding = 0; - if (gSavedSettings.getBOOL("SidebarCameraMovement") == FALSE - && LLSideTray::instanceCreated ()) - { - world_rect_padding += LLSideTray::getInstance()->getVisibleWidth(); - } - - LLRect this_rect = getRect(); switch(mChannelAlignment) @@ -226,7 +191,7 @@ void LLScreenChannel::updatePositionAndSize(LLRect old_world_rect, LLRect new_wo return; case CA_RIGHT : this_rect.mTop = (S32) (new_world_rect.getHeight() * getHeightRatio()); - this_rect.setLeftTopAndSize(new_world_rect.mRight - world_rect_padding - this_rect.getWidth(), + this_rect.setLeftTopAndSize(new_world_rect.mRight - this_rect.getWidth(), this_rect.mTop, this_rect.getWidth(), this_rect.getHeight()); diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h index d207d139819..8f11c82673b 100644 --- a/indra/newview/llscreenchannel.h +++ b/indra/newview/llscreenchannel.h @@ -59,7 +59,6 @@ class LLScreenChannelBase : public LLUICtrl // Channel's outfit-functions // update channel's size and position in the World View virtual void updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect); - void resetPositionAndSize(); // initialization of channel's shape and position virtual void init(S32 channel_left, S32 channel_right); diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index a356013830d..853656905c9 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -42,7 +42,6 @@ #include "lloutfitobserver.h" #include "llpaneleditwearable.h" #include "llpaneloutfitsinventory.h" -#include "llsidetray.h" #include "lltextbox.h" #include "lluictrlfactory.h" #include "llviewercontrol.h" @@ -164,7 +163,6 @@ void LLSidepanelAppearance::onOpen(const LLSD& key) else { // Switch to the requested panel. - // *TODO: replace this crap with LLSideTrayPanelContainer std::string type = key["type"].asString(); if (type == "my_outfits") { diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp index 0226896f547..f9dc70ccc04 100644 --- a/indra/newview/llsidepanelinventory.cpp +++ b/indra/newview/llsidepanelinventory.cpp @@ -282,19 +282,20 @@ BOOL LLSidepanelInventory::postBuild() enableOutbox(gSavedSettings.getBOOL("InventoryDisplayOutbox")); // Trigger callback for after login so we can setup to track inbox and outbox changes after initial inventory load - LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLSidepanelInventory::handleLoginComplete, this)); + LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLSidepanelInventory::updateInboxOutbox, this)); } gSavedSettings.getControl("InventoryDisplayInbox")->getCommitSignal()->connect(boost::bind(&handleInventoryDisplayInboxChanged)); gSavedSettings.getControl("InventoryDisplayOutbox")->getCommitSignal()->connect(boost::bind(&handleInventoryDisplayOutboxChanged)); + updateInboxOutbox(); // Update the verbs buttons state. updateVerbs(); return TRUE; } -void LLSidepanelInventory::handleLoginComplete() +void LLSidepanelInventory::updateInboxOutbox() { // // Track inbox and outbox folder changes diff --git a/indra/newview/llsidepanelinventory.h b/indra/newview/llsidepanelinventory.h index b7d11f7f9b9..4e34926a4b2 100644 --- a/indra/newview/llsidepanelinventory.h +++ b/indra/newview/llsidepanelinventory.h @@ -47,7 +47,7 @@ class LLSidepanelInventory : public LLPanel virtual ~LLSidepanelInventory(); private: - void handleLoginComplete(); + void updateInboxOutbox(); public: void observeInboxOutboxCreation(); diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp deleted file mode 100644 index 55d6378ad8e..00000000000 --- a/indra/newview/llsidetray.cpp +++ /dev/null @@ -1,1489 +0,0 @@ -/** - * @file llsidetray.cpp - * @brief SideBar implementation - * - * $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 "lltextbox.h" - -#include "llagentcamera.h" -#include "llappviewer.h" -#include "llbadge.h" -#include "llbottomtray.h" -#include "llfloaterreg.h" -#include "llfirstuse.h" -#include "llhints.h" -#include "llsidetray.h" -#include "llviewerwindow.h" -#include "llaccordionctrl.h" -#include "llfocusmgr.h" -#include "llrootview.h" -#include "llnavigationbar.h" -#include "llpanelmarketplaceinbox.h" - -#include "llaccordionctrltab.h" - -#include "llfloater.h" //for gFloaterView -#include "lliconctrl.h"//for OpenClose tab icon -#include "llsidetraypanelcontainer.h" -#include "llscreenchannel.h" -#include "llchannelmanager.h" -#include "llwindow.h"//for SetCursor -#include "lltransientfloatermgr.h" - -#include "llsidepanelappearance.h" - -#include "llsidetraylistener.h" - -//#include "llscrollcontainer.h" - -using namespace std; -using namespace LLNotificationsUI; - -class LLSideTrayButton; - -static LLRootViewRegistry::Register<LLSideTray> t1("side_tray"); -static LLDefaultChildRegistry::Register<LLSideTrayTab> t2("sidetray_tab"); - -static const S32 BOTTOM_BAR_PAD = 5; - -static const std::string COLLAPSED_NAME = "<<"; -static const std::string EXPANDED_NAME = ">>"; - -static const std::string TAB_PANEL_CAPTION_NAME = "sidetray_tab_panel"; -static const std::string TAB_PANEL_CAPTION_TITLE_BOX = "sidetray_tab_title"; - -LLSideTray* LLSideTray::sInstance = 0; - -static LLSideTrayListener sSideTrayListener(LLSideTray::getInstance); - -// static -LLSideTray* LLSideTray::getInstance() -{ - if (!sInstance) - { - sInstance = LLUICtrlFactory::createFromFile<LLSideTray>("panel_side_tray.xml",NULL, LLRootView::child_registry_t::instance()); - sInstance->setXMLFilename("panel_side_tray.xml"); - } - - return sInstance; -} - -// static -bool LLSideTray::instanceCreated () -{ - return sInstance!=0; -} - -////////////////////////////////////////////////////////////////////////////// -// LLSideTrayTab -// Represents a single tab in the side tray, only used by LLSideTray -////////////////////////////////////////////////////////////////////////////// - -class LLSideTrayTab: public LLPanel -{ - LOG_CLASS(LLSideTrayTab); - friend class LLUICtrlFactory; - friend class LLSideTray; -public: - - struct Params - : public LLInitParam::Block<Params, LLPanel::Params> - { - // image name - Optional<std::string> image; - Optional<std::string> image_selected; - Optional<std::string> tab_title; - Optional<std::string> description; - Optional<LLBadge::Params> badge; - - Params() - : image("image"), - image_selected("image_selected"), - tab_title("tab_title","no title"), - description("description","no description"), - badge("badge") - {}; - }; -protected: - LLSideTrayTab(const Params& params); - - void dock(LLFloater* floater_tab); - void undock(LLFloater* floater_tab); - - LLSideTray* getSideTray(); - -public: - virtual ~LLSideTrayTab(); - - /*virtual*/ BOOL postBuild (); - /*virtual*/ bool addChild (LLView* view, S32 tab_group); - - - void reshape (S32 width, S32 height, BOOL called_from_parent = TRUE); - - static LLSideTrayTab* createInstance (); - - const std::string& getDescription () const { return mDescription;} - - void onOpen (const LLSD& key); - - void toggleTabDocked(bool toggle_floater = true); - void setDocked(bool dock); - bool isDocked() const; - - BOOL handleScrollWheel(S32 x, S32 y, S32 clicks); - - LLPanel* getPanel(); - - LLButton* createButton(bool allowTearOff, LLUICtrl::commit_callback_t callback); - -private: - std::string mTabTitle; - std::string mImage; - std::string mImageSelected; - std::string mDescription; - - LLView* mMainPanel; - - bool mHasBadge; - LLBadge::Params mBadgeParams; - LLSideTrayButton* mSideTrayButton; -}; - -////////////////////////////////////////////////////////////////////////////// -// LLSideTrayButton -// Side Tray tab button with "tear off" handling. -////////////////////////////////////////////////////////////////////////////// - -class LLSideTrayButton : public LLButton -{ -public: - /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask) - { - // Route future Mouse messages here preemptively. (Release on mouse up.) - // No handler needed for focus lost since this class has no state that depends on it. - gFocusMgr.setMouseCapture(this); - - localPointToScreen(x, y, &mDragLastScreenX, &mDragLastScreenY); - - // Note: don't pass on to children - return TRUE; - } - - /*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask) - { - // We only handle the click if the click both started and ended within us - if( !hasMouseCapture() ) return FALSE; - - S32 screen_x; - S32 screen_y; - localPointToScreen(x, y, &screen_x, &screen_y); - - S32 delta_x = screen_x - mDragLastScreenX; - S32 delta_y = screen_y - mDragLastScreenY; - - LLSideTray* side_tray = LLSideTray::getInstance(); - - // Check if the tab we are dragging is docked. - if (!side_tray->isTabAttached(mTabName)) return FALSE; - - // Same value is hardcoded in LLDragHandle::handleHover(). - const S32 undock_threshold = 12; - - // Detach a tab if it has been pulled further than undock_threshold. - if (delta_x <= -undock_threshold || delta_x >= undock_threshold || - delta_y <= -undock_threshold || delta_y >= undock_threshold) - { - LLSideTrayTab* tab = side_tray->getTab(mTabName); - if (!tab) return FALSE; - - tab->setDocked(false); - - LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab->getName()); - if (!floater_tab) return FALSE; - - LLRect original_rect = floater_tab->getRect(); - S32 header_snap_y = floater_tab->getHeaderHeight() / 2; - S32 snap_x = screen_x - original_rect.mLeft - original_rect.getWidth() / 2; - S32 snap_y = screen_y - original_rect.mTop + header_snap_y; - - // Move the floater to appear "under" the mouse pointer. - floater_tab->setRect(original_rect.translate(snap_x, snap_y)); - - // Snap the mouse pointer to the center of the floater header - // and call 'mouse down' event handler to begin dragging. - floater_tab->handleMouseDown(original_rect.getWidth() / 2, - original_rect.getHeight() - header_snap_y, - mask); - - return TRUE; - } - - return FALSE; - } - - void setBadgeDriver(LLSideTrayTabBadgeDriver* driver) - { - mBadgeDriver = driver; - } - - void setVisible(BOOL visible) - { - setBadgeVisibility(visible); - - LLButton::setVisible(visible); - } - -protected: - LLSideTrayButton(const LLButton::Params& p) - : LLButton(p) - , mDragLastScreenX(0) - , mDragLastScreenY(0) - , mBadgeDriver(NULL) - { - // Find out the tab name to use in handleHover(). - size_t pos = getName().find("_button"); - llassert(pos != std::string::npos); - mTabName = getName().substr(0, pos); - } - - friend class LLUICtrlFactory; - - void draw() - { - if (mBadgeDriver) - { - setBadgeLabel(mBadgeDriver->getBadgeString()); - } - - LLButton::draw(); - } - -private: - S32 mDragLastScreenX; - S32 mDragLastScreenY; - - std::string mTabName; - LLSideTrayTabBadgeDriver* mBadgeDriver; -}; - - -//////////////////////////////////////////////////// -// LLSideTrayTab implementation -//////////////////////////////////////////////////// - -LLSideTrayTab::LLSideTrayTab(const Params& p) -: LLPanel(), - mTabTitle(p.tab_title), - mImage(p.image), - mImageSelected(p.image_selected), - mDescription(p.description), - mMainPanel(NULL), - mBadgeParams(p.badge), - mSideTrayButton(NULL) -{ - mHasBadge = p.badge.isProvided(); -} - -LLSideTrayTab::~LLSideTrayTab() -{ -} - -bool LLSideTrayTab::addChild(LLView* view, S32 tab_group) -{ - if(mMainPanel == 0 && TAB_PANEL_CAPTION_NAME != view->getName())//skip our caption panel - mMainPanel = view; - return LLPanel::addChild(view,tab_group); - //return res; -} - -//virtual -BOOL LLSideTrayTab::postBuild() -{ - LLPanel* title_panel = LLUICtrlFactory::getInstance()->createFromFile<LLPanel>("panel_side_tray_tab_caption.xml",this, child_registry_t::instance()); - string name = title_panel->getName(); - LLPanel::addChild(title_panel); - - title_panel->getChild<LLTextBox>(TAB_PANEL_CAPTION_TITLE_BOX)->setValue(mTabTitle); - - getChild<LLButton>("undock")->setCommitCallback(boost::bind(&LLSideTrayTab::setDocked, this, false)); - getChild<LLButton>("dock")->setCommitCallback(boost::bind(&LLSideTrayTab::setDocked, this, true)); - - return LLPanel::postBuild(); -} - -static const S32 splitter_margin = 1; - -void LLSideTrayTab::reshape (S32 width, S32 height, BOOL called_from_parent ) -{ - LLPanel::reshape(width, height, called_from_parent); - LLView* title_panel = findChildView(TAB_PANEL_CAPTION_NAME, true); - if (!title_panel) - { - // not fully constructed yet - return; - } - - S32 title_height = title_panel->getRect().getHeight(); - title_panel->setOrigin( 0, height - title_height ); - title_panel->reshape(width,title_height); - - LLRect sRect; - sRect.setLeftTopAndSize( splitter_margin, height - title_height - splitter_margin, - width - 2*splitter_margin, height - title_height - 2*splitter_margin); - mMainPanel->setShape(sRect); -} - -void LLSideTrayTab::onOpen (const LLSD& key) -{ - LLPanel *panel = getPanel(); - if(panel) - panel->onOpen(key); -} - -// Attempts to get the existing side tray instance. -// Needed to avoid recursive calls of LLSideTray::getInstance(). -LLSideTray* LLSideTrayTab::getSideTray() -{ - // First, check if the side tray is our parent (i.e. we're attached). - LLSideTray* side_tray = dynamic_cast<LLSideTray*>(getParent()); - if (!side_tray) - { - // Detached? Ok, check if the instance exists at all/ - if (LLSideTray::instanceCreated()) - { - side_tray = LLSideTray::getInstance(); - } - else - { - llerrs << "No safe way to get the side tray instance" << llendl; - } - } - - return side_tray; -} - -void LLSideTrayTab::toggleTabDocked(bool toggle_floater /* = true */) -{ - // *FIX: Calling this method twice per frame would crash the viewer. - - std::string tab_name = getName(); - - LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab_name); - if (!floater_tab) return; - - bool docking = !isDocked(); - - if (mSideTrayButton) - { - mSideTrayButton->setVisible(docking); - } - - // Hide the "Tear Off" button when a tab gets undocked - // and show "Dock" button instead. - getChild<LLButton>("undock")->setVisible(docking); - getChild<LLButton>("dock")->setVisible(!docking); - - if (docking) - { - dock(floater_tab); - } - else - { - undock(floater_tab); - } - - // Open/close the floater *after* we reparent the tab panel, - // so that it doesn't receive redundant visibility change notifications. - if (toggle_floater) - { - LLFloaterReg::toggleInstance("side_bar_tab", tab_name); - } -} - -// Same as toggleTabDocked() apart from making sure that we do exactly what we want. -void LLSideTrayTab::setDocked(bool dock) -{ - if (isDocked() == dock) - { - llwarns << "Tab " << getName() << " is already " << (dock ? "docked" : "undocked") << llendl; - return; - } - - toggleTabDocked(); -} - -bool LLSideTrayTab::isDocked() const -{ - return dynamic_cast<LLSideTray*>(getParent()) != NULL; -} - -BOOL LLSideTrayTab::handleScrollWheel(S32 x, S32 y, S32 clicks) -{ - // Let children handle the event - LLUICtrl::handleScrollWheel(x, y, clicks); - - // and then eat it to prevent in-world scrolling (STORM-351). - return TRUE; -} - -void LLSideTrayTab::dock(LLFloater* floater_tab) -{ - LLSideTray* side_tray = getSideTray(); - if (!side_tray) return; - - // Before docking the tab, reset its (and its children's) transparency to default (STORM-688). - floater_tab->updateTransparency(TT_DEFAULT); - - if (!side_tray->addTab(this)) - { - llwarns << "Failed to add tab " << getName() << " to side tray" << llendl; - return; - } - - setRect(side_tray->getLocalRect()); - reshape(getRect().getWidth(), getRect().getHeight()); - - // Select the re-docked tab. - side_tray->selectTabByName(getName()); - - if (side_tray->getCollapsed()) - { - side_tray->expandSideBar(false); - } -} - -static void on_minimize(LLSidepanelAppearance* panel, LLSD minimized) -{ - if (!panel) return; - bool visible = !minimized.asBoolean(); - LLSD visibility; - visibility["visible"] = visible; - // Do not reset accordion state on minimize (STORM-375) - visibility["reset_accordion"] = false; - panel->updateToVisibility(visibility); -} - -void LLSideTrayTab::undock(LLFloater* floater_tab) -{ - LLSideTray* side_tray = getSideTray(); - if (!side_tray) return; - - // Remember whether the tab have been active before detaching - // because removeTab() will change active tab. - bool was_active = side_tray->getActiveTab() == this; - - // Remove the tab from Side Tray's tabs list. - // We have to do it despite removing the tab from Side Tray's child view tree - // by addChild(). Otherwise the tab could be accessed by the pointer in LLSideTray::mTabs. - if (!side_tray->removeTab(this)) - { - llwarns << "Failed to remove tab " << getName() << " from side tray" << llendl; - return; - } - - // If we're undocking while side tray is collapsed we need to explicitly show the panel. - if (!getVisible()) - { - setVisible(true); - } - - floater_tab->addChild(this); - floater_tab->setTitle(mTabTitle); - floater_tab->setName(getName()); - - // Resize handles get obscured by added panel so move them to front. - floater_tab->moveResizeHandlesToFront(); - - // Reshape the floater if needed. - LLRect floater_rect; - if (floater_tab->hasSavedRect()) - { - // We've got saved rect for the floater, hence no need to reshape it. - floater_rect = floater_tab->getLocalRect(); - } - else - { - // Detaching for the first time. Reshape the floater. - floater_rect = side_tray->getLocalRect(); - - // Reduce detached floater height by small BOTTOM_BAR_PAD not to make it flush with the bottom bar. - floater_rect.mBottom += LLBottomTray::getInstance()->getRect().getHeight() + BOTTOM_BAR_PAD; - floater_rect.makeValid(); - floater_tab->reshape(floater_rect.getWidth(), floater_rect.getHeight()); - } - - // Reshape the panel. - { - LLRect panel_rect = floater_tab->getLocalRect(); - panel_rect.mTop -= floater_tab->getHeaderHeight(); - panel_rect.makeValid(); - setRect(panel_rect); - reshape(panel_rect.getWidth(), panel_rect.getHeight()); - } - - // Set FOLLOWS_ALL flag for the tab to follow floater dimensions upon resizing. - setFollowsAll(); - - // Camera view may need to be changed for appearance panel(STORM-301) on minimize of floater, - // so setting callback here. - if (getName() == "sidebar_appearance") - { - LLSidepanelAppearance* panel_appearance = dynamic_cast<LLSidepanelAppearance*>(getPanel()); - if(panel_appearance) - { - floater_tab->setMinimizeCallback(boost::bind(&on_minimize, panel_appearance, _2)); - } - } - - if (!side_tray->getCollapsed()) - { - side_tray->collapseSideBar(); - } - - if (!was_active) - { - // When a tab other then current active tab is detached from Side Tray - // onOpen() should be called as tab visibility is changed. - onOpen(LLSD()); - } -} - -LLPanel* LLSideTrayTab::getPanel() -{ - LLPanel* panel = dynamic_cast<LLPanel*>(mMainPanel); - return panel; -} - -LLSideTrayTab* LLSideTrayTab::createInstance () -{ - LLSideTrayTab::Params tab_params; - tab_params.tab_title("openclose"); - - LLSideTrayTab* tab = LLUICtrlFactory::create<LLSideTrayTab>(tab_params); - return tab; -} - -// Now that we know the definition of LLSideTrayTab, we can implement -// tab_cast. -template <> -LLPanel* tab_cast<LLPanel*>(LLSideTrayTab* tab) { return tab; } - -////////////////////////////////////////////////////////////////////////////// -// LLSideTray -////////////////////////////////////////////////////////////////////////////// - -LLSideTray::Params::Params() -: collapsed("collapsed",false), - tab_btn_image_normal("tab_btn_image",LLUI::getUIImage("taskpanel/TaskPanel_Tab_Off.png")), - tab_btn_image_selected("tab_btn_image_selected",LLUI::getUIImage("taskpanel/TaskPanel_Tab_Selected.png")), - default_button_width("tab_btn_width",32), - default_button_height("tab_btn_height",32), - default_button_margin("tab_btn_margin",0) -{} - -//virtual -LLSideTray::LLSideTray(const Params& params) - : LLPanel(params) - ,mActiveTab(0) - ,mCollapsed(false) - ,mCollapseButton(0) -{ - mCollapsed=params.collapsed; - - LLUICtrl::CommitCallbackRegistry::Registrar& commit = LLUICtrl::CommitCallbackRegistry::currentRegistrar(); - - // register handler function to process data from the xml. - // panel_name should be specified via "parameter" attribute. - commit.add("SideTray.ShowPanel", boost::bind(&LLSideTray::showPanel, this, _2, LLUUID::null)); - commit.add("SideTray.Toggle", boost::bind(&LLSideTray::onToggleCollapse, this)); - commit.add("SideTray.Collapse", boost::bind(&LLSideTray::collapseSideBar, this)); - LLTransientFloaterMgr::getInstance()->addControlView(this); - LLView* side_bar_tabs = gViewerWindow->getRootView()->getChildView("side_bar_tabs"); - if (side_bar_tabs != NULL) - { - LLTransientFloaterMgr::getInstance()->addControlView(side_bar_tabs); - } - - LLPanel::Params p; - p.name = "buttons_panel"; - p.mouse_opaque = false; - mButtonsPanel = LLUICtrlFactory::create<LLPanel>(p); -} - - -BOOL LLSideTray::postBuild() -{ - createButtons(); - - arrange(); - selectTabByName("sidebar_home"); - - if(mCollapsed) - collapseSideBar(); - - setMouseOpaque(false); - - LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLSideTray::handleLoginComplete, this)); - - // Remember original tabs order, so that we can restore it if user detaches and then re-attaches a tab. - for (child_vector_const_iter_t it = mTabs.begin(); it != mTabs.end(); ++it) - { - std::string tab_name = (*it)->getName(); - mOriginalTabOrder.push_back(tab_name); - } - - //EXT-8045 - //connect all already created channels to reflect sidetray collapse/expand - std::vector<LLChannelManager::ChannelElem>& channels = LLChannelManager::getInstance()->getChannelList(); - for(std::vector<LLChannelManager::ChannelElem>::iterator it = channels.begin();it!=channels.end();++it) - { - if ((*it).channel) - { - setVisibleWidthChangeCallback(boost::bind(&LLScreenChannelBase::resetPositionAndSize, (*it).channel)); - } - } - - return true; -} - -void LLSideTray::setTabButtonBadgeDriver(std::string tabName, LLSideTrayTabBadgeDriver* driver) -{ - mTabButtonBadgeDrivers[tabName] = driver; -} - -void LLSideTray::handleLoginComplete() -{ - //reset tab to "home" tab if it was changesd during login process - selectTabByName("sidebar_home"); - - for (badge_map_t::iterator it = mTabButtonBadgeDrivers.begin(); it != mTabButtonBadgeDrivers.end(); ++it) - { - LLButton* button = mTabButtons[it->first]; - LLSideTrayButton* side_button = dynamic_cast<LLSideTrayButton*>(button); - - if (side_button) - { - side_button->setBadgeDriver(it->second); - } - else - { - llwarns << "Unable to find button " << it->first << " to set the badge driver. " << llendl; - } - } - - detachTabs(); -} - -LLSideTrayTab* LLSideTray::getTab(const std::string& name) -{ - return findChild<LLSideTrayTab>(name,false); -} - -bool LLSideTray::isTabAttached(const std::string& name) -{ - LLSideTrayTab* tab = getTab(name); - llassert(tab); - if (!tab) return false; - - return std::find(mTabs.begin(), mTabs.end(), tab) != mTabs.end(); -} - -bool LLSideTray::hasTabs() -{ - // The open/close tab doesn't count. - return mTabs.size() > 1; -} - -void LLSideTray::toggleTabButton(LLSideTrayTab* tab) -{ - if(tab == NULL) - return; - std::string name = tab->getName(); - std::map<std::string,LLButton*>::iterator it = mTabButtons.find(name); - if(it != mTabButtons.end()) - { - LLButton* btn = it->second; - bool new_state = !btn->getToggleState(); - btn->setToggleState(new_state); - // Only highlight the tab if side tray is expanded (STORM-157). - btn->setImageOverlay( new_state && !getCollapsed() ? tab->mImageSelected : tab->mImage ); - } -} - -LLPanel* LLSideTray::openChildPanel(LLSideTrayTab* tab, const std::string& panel_name, const LLSD& params) -{ - LLView* view = tab->findChildView(panel_name, true); - if (!view) return NULL; - - std::string tab_name = tab->getName(); - - bool tab_attached = isTabAttached(tab_name); - - if (tab_attached && LLUI::sSettingGroups["config"]->getBOOL("OpenSidePanelsInFloaters")) - { - tab->setDocked(false); - tab_attached = false; - } - - // Select tab and expand Side Tray only when a tab is attached. - if (tab_attached) - { - selectTabByName(tab_name); - if (mCollapsed) - expandSideBar(); - } - else - { - LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab_name); - if (!floater_tab) return NULL; - - floater_tab->openFloater(tab_name); - } - - LLSideTrayPanelContainer* container = dynamic_cast<LLSideTrayPanelContainer*>(view->getParent()); - if (container) - { - LLSD new_params = params; - new_params[LLSideTrayPanelContainer::PARAM_SUB_PANEL_NAME] = panel_name; - container->onOpen(new_params); - - return container->getCurrentPanel(); - } - - LLPanel* panel = dynamic_cast<LLPanel*>(view); - if (panel) - { - panel->onOpen(params); - } - - return panel; -} - -bool LLSideTray::selectTabByIndex(size_t index) -{ - if(index>=mTabs.size()) - return false; - - LLSideTrayTab* sidebar_tab = mTabs[index]; - return selectTabByName(sidebar_tab->getName()); -} - -bool LLSideTray::selectTabByName(const std::string& name, bool keep_prev_visible) -{ - LLSideTrayTab* tab_to_keep_visible = NULL; - LLSideTrayTab* new_tab = getTab(name); - if (!new_tab) return false; - - // Bail out if already selected. - if (new_tab == mActiveTab) - return false; - - //deselect old tab - if (mActiveTab) - { - // Keep previously active tab visible if requested. - if (keep_prev_visible) tab_to_keep_visible = mActiveTab; - toggleTabButton(mActiveTab); - } - - //select new tab - mActiveTab = new_tab; - - if (mActiveTab) - { - toggleTabButton(mActiveTab); - LLSD key;//empty - mActiveTab->onOpen(key); - } - - //arrange(); - - //hide all tabs - show active tab - child_vector_const_iter_t child_it; - for ( child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - LLSideTrayTab* sidebar_tab = *child_it; - - bool vis = sidebar_tab == mActiveTab; - - // Force keeping the tab visible if requested. - vis |= sidebar_tab == tab_to_keep_visible; - - // When the last tab gets detached, for a short moment the "Toggle Sidebar" pseudo-tab - // is shown. So, to avoid the flicker we make sure it never gets visible. - vis &= (*child_it)->getName() != "sidebar_openclose"; - - sidebar_tab->setVisible(vis); - } - return true; -} - -bool LLSideTray::addChild(LLView* view, S32 tab_group) -{ - LLSideTrayTab* tab_panel = dynamic_cast<LLSideTrayTab*>(view); - - if (tab_panel) - { - mTabs.push_back(tab_panel); - } - - return LLUICtrl::addChild(view, tab_group); -} - -bool LLSideTray::removeTab(LLSideTrayTab* tab) -{ - if (!tab) return false; - std::string tab_name = tab->getName(); - - // Look up the tab in the list of known tabs. - child_vector_iter_t tab_it = std::find(mTabs.begin(), mTabs.end(), tab); - if (tab_it == mTabs.end()) - { - llwarns << "Cannot find tab named " << tab_name << llendl; - return false; - } - - // Find the button corresponding to the tab. - button_map_t::iterator btn_it = mTabButtons.find(tab_name); - if (btn_it == mTabButtons.end()) - { - llwarns << "Cannot find button for tab named " << tab_name << llendl; - return false; - } - LLButton* btn = btn_it->second; - - // Deselect the tab. - if (mActiveTab == tab) - { - // Select the next tab (or first one, if we're removing the last tab), - // skipping the fake open/close tab (STORM-155). - child_vector_iter_t next_tab_it = tab_it; - do - { - next_tab_it = (next_tab_it < (mTabs.end() - 1)) ? next_tab_it + 1 : mTabs.begin(); - } - while ((*next_tab_it)->getName() == "sidebar_openclose"); - - selectTabByName((*next_tab_it)->getName(), true); // Don't hide the tab being removed. - } - - // Remove the tab. - removeChild(tab); - mTabs.erase(tab_it); - - // Add the tab to detached tabs list. - mDetachedTabs.push_back(tab); - - // Remove the button from the buttons panel so that it isn't drawn anymore. - mButtonsPanel->removeChild(btn); - - // Re-arrange remaining tabs. - arrange(); - - return true; -} - -bool LLSideTray::addTab(LLSideTrayTab* tab) -{ - if (tab == NULL) return false; - - std::string tab_name = tab->getName(); - - // Make sure the tab isn't already in the list. - if (std::find(mTabs.begin(), mTabs.end(), tab) != mTabs.end()) - { - llwarns << "Attempt to re-add existing tab " << tab_name << llendl; - return false; - } - - // Look up the corresponding button. - button_map_t::const_iterator btn_it = mTabButtons.find(tab_name); - if (btn_it == mTabButtons.end()) - { - llwarns << "Tab " << tab_name << " has no associated button" << llendl; - return false; - } - LLButton* btn = btn_it->second; - - // Insert the tab at its original position. - LLUICtrl::addChild(tab); - { - tab_order_vector_const_iter_t new_tab_orig_pos = - std::find(mOriginalTabOrder.begin(), mOriginalTabOrder.end(), tab_name); - llassert(new_tab_orig_pos != mOriginalTabOrder.end()); - child_vector_iter_t insert_pos = mTabs.end(); - - for (child_vector_iter_t tab_it = mTabs.begin(); tab_it != mTabs.end(); ++tab_it) - { - tab_order_vector_const_iter_t cur_tab_orig_pos = - std::find(mOriginalTabOrder.begin(), mOriginalTabOrder.end(), (*tab_it)->getName()); - llassert(cur_tab_orig_pos != mOriginalTabOrder.end()); - - if (new_tab_orig_pos < cur_tab_orig_pos) - { - insert_pos = tab_it; - break; - } - } - - mTabs.insert(insert_pos, tab); - } - - // Add the button to the buttons panel so that it's drawn again. - mButtonsPanel->addChildInBack(btn); - - // Arrange tabs after inserting a new one. - arrange(); - - // Remove the tab from the list of detached tabs. - child_vector_iter_t tab_it = std::find(mDetachedTabs.begin(), mDetachedTabs.end(), tab); - if (tab_it != mDetachedTabs.end()) - { - mDetachedTabs.erase(tab_it); - } - - return true; -} - -LLButton* LLSideTrayTab::createButton(bool allowTearOff, LLUICtrl::commit_callback_t callback) -{ - static LLSideTray::Params sidetray_params(LLUICtrlFactory::getDefaultParams<LLSideTray>()); - - LLRect rect; - rect.setOriginAndSize(0, 0, sidetray_params.default_button_width, sidetray_params.default_button_height); - - LLButton::Params bparams; - - // Append "_button" to the side tray tab name - std::string button_name = getName() + "_button"; - bparams.name(button_name); - bparams.follows.flags (FOLLOWS_LEFT | FOLLOWS_TOP); - bparams.rect (rect); - bparams.tab_stop(false); - bparams.image_unselected(sidetray_params.tab_btn_image_normal); - bparams.image_selected(sidetray_params.tab_btn_image_selected); - bparams.image_disabled(sidetray_params.tab_btn_image_normal); - bparams.image_disabled_selected(sidetray_params.tab_btn_image_selected); - - if (mHasBadge) - { - bparams.badge = mBadgeParams; - } - - LLButton* button; - if (allowTearOff) - { - mSideTrayButton = LLUICtrlFactory::create<LLSideTrayButton>(bparams); - - button = mSideTrayButton; - } - else - { - // "Open/Close" button shouldn't allow "tear off" - // hence it is created as LLButton instance. - button = LLUICtrlFactory::create<LLButton>(bparams); - } - - button->setClickedCallback(callback); - - button->setToolTip(mTabTitle); - - if(mImage.length()) - { - button->setImageOverlay(mImage); - } - - return button; -} - -void LLSideTray::createButtons() -{ - //create buttons for tabs - child_vector_const_iter_t child_it = mTabs.begin(); - for ( ; child_it != mTabs.end(); ++child_it) - { - LLSideTrayTab* sidebar_tab = *child_it; - - std::string name = sidebar_tab->getName(); - - // The "OpenClose" button will open/close the whole panel - if (name == "sidebar_openclose") - { - mCollapseButton = sidebar_tab->createButton(false, boost::bind(&LLSideTray::onToggleCollapse, this)); - - mButtonsPanel->addChildInBack(mCollapseButton); - - LLHints::registerHintTarget("side_panel_btn", mCollapseButton->getHandle()); - } - else - { - LLButton* button = sidebar_tab->createButton(true, boost::bind(&LLSideTray::onTabButtonClick, this, name)); - - mButtonsPanel->addChildInBack(button); - - mTabButtons[name] = button; - } - } - - LLHints::registerHintTarget("inventory_btn", mTabButtons["sidebar_inventory"]->getHandle()); -} - -void LLSideTray::processTriState () -{ - if(mCollapsed) - expandSideBar(); - else - { -#if 0 // *TODO: EXT-2092 - - // Tell the active task panel to switch to its default view - // or collapse side tray if already on the default view. - LLSD info; - info["task-panel-action"] = "handle-tri-state"; - mActiveTab->notifyChildren(info); -#else - collapseSideBar(); -#endif - } -} - -void LLSideTray::onTabButtonClick(string name) -{ - LLSideTrayTab* tab = getTab(name); - if (!tab) return; - - if(tab == mActiveTab) - { - processTriState (); - return; - } - selectTabByName (name); - if(mCollapsed) - expandSideBar(); -} - -void LLSideTray::onToggleCollapse() -{ - LLFirstUse::notUsingSidePanel(false); - if(mCollapsed) - { - expandSideBar(); - //selectTabByName("sidebar_openclose"); - } - else - collapseSideBar(); -} - - -void LLSideTray::reflectCollapseChange() -{ - updateSidetrayVisibility(); - - setFocus(!mCollapsed); - - gFloaterView->refresh(); -} - -void LLSideTray::arrange() -{ - static LLSideTray::Params sidetray_params(LLUICtrlFactory::getDefaultParams<LLSideTray>()); - - updateSidetrayVisibility(); - - LLRect ctrl_rect; - ctrl_rect.setLeftTopAndSize(0, - mButtonsPanel->getRect().getHeight() - sidetray_params.default_button_width, - sidetray_params.default_button_width, - sidetray_params.default_button_height); - - mCollapseButton->setRect(ctrl_rect); - - //arrange tab buttons - //arrange tab buttons - child_vector_const_iter_t child_it; - int offset = (sidetray_params.default_button_height+sidetray_params.default_button_margin)*2; - for ( child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - LLSideTrayTab* sidebar_tab = *child_it; - - ctrl_rect.setLeftTopAndSize(0, - mButtonsPanel->getRect().getHeight()-offset, - sidetray_params.default_button_width, - sidetray_params.default_button_height); - - if(mTabButtons.find(sidebar_tab->getName()) == mTabButtons.end()) - continue; - - LLButton* btn = mTabButtons[sidebar_tab->getName()]; - - btn->setRect(ctrl_rect); - offset+=sidetray_params.default_button_height; - offset+=sidetray_params.default_button_margin; - - btn->setVisible(ctrl_rect.mBottom > 0); - } - - //arrange tabs - for ( child_vector_t::iterator child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - LLSideTrayTab* sidebar_tab = *child_it; - sidebar_tab->setShape(getLocalRect()); - } - - // The tab buttons should be shown only if there is at least one non-detached tab. - // Also hide them in mouse-look mode. - mButtonsPanel->setVisible(hasTabs() && !gAgentCamera.cameraMouselook()); -} - -// Detach those tabs that were detached when the viewer exited last time. -void LLSideTray::detachTabs() -{ - // copy mTabs because LLSideTray::toggleTabDocked() modifies it. - child_vector_t tabs = mTabs; - - for (child_vector_const_iter_t it = tabs.begin(); it != tabs.end(); ++it) - { - LLSideTrayTab* tab = *it; - - std::string floater_ctrl_name = LLFloater::getControlName("side_bar_tab", LLSD(tab->getName())); - std::string vis_ctrl_name = LLFloaterReg::getVisibilityControlName(floater_ctrl_name); - if (!LLFloater::getControlGroup()->controlExists(vis_ctrl_name)) continue; - - bool is_visible = LLFloater::getControlGroup()->getBOOL(vis_ctrl_name); - if (!is_visible) continue; - - llassert(isTabAttached(tab->getName())); - tab->setDocked(false); - } -} - -void LLSideTray::collapseSideBar() -{ - mCollapsed = true; - // Reset all overlay images, because there is no "selected" tab when the - // whole side tray is hidden. - child_vector_const_iter_t it = mTabs.begin(); - for ( ; it != mTabs.end(); ++it ) - { - LLSideTrayTab* tab = *it; - std::string name = tab->getName(); - std::map<std::string,LLButton*>::const_iterator btn_it = - mTabButtons.find(name); - if (btn_it != mTabButtons.end()) - { - LLButton* btn = btn_it->second; - btn->setImageOverlay( tab->mImage ); - } - } - - // OpenClose tab doesn't put its button in mTabButtons - LLSideTrayTab* openclose_tab = getTab("sidebar_openclose"); - if (openclose_tab) - { - mCollapseButton->setImageOverlay( openclose_tab->mImage ); - } - //mActiveTab->setVisible(FALSE); - reflectCollapseChange(); - setFocus( FALSE ); -} - -void LLSideTray::expandSideBar(bool open_active) -{ - mCollapsed = false; - LLSideTrayTab* openclose_tab = getTab("sidebar_openclose"); - if (openclose_tab) - { - mCollapseButton->setImageOverlay( openclose_tab->mImageSelected ); - } - - if (open_active) - { - mActiveTab->onOpen(LLSD()); - } - - reflectCollapseChange(); - - - std::string name = mActiveTab->getName(); - std::map<std::string,LLButton*>::const_iterator btn_it = - mTabButtons.find(name); - if (btn_it != mTabButtons.end()) - { - LLButton* btn = btn_it->second; - btn->setImageOverlay( mActiveTab->mImageSelected ); - } -} - -void LLSideTray::highlightFocused() -{ - /* uncomment in case something change - if(!mActiveTab) - return; - BOOL dependent_has_focus = gFocusMgr.childHasKeyboardFocus(this); - setBackgroundOpaque( dependent_has_focus ); - mActiveTab->setBackgroundOpaque( dependent_has_focus ); - */ -} - -//virtual -BOOL LLSideTray::handleMouseDown (S32 x, S32 y, MASK mask) -{ - BOOL ret = LLPanel::handleMouseDown(x,y,mask); - if(ret) - setFocus(true); - return ret; -} - -void LLSideTray::reshape(S32 width, S32 height, BOOL called_from_parent) -{ - LLPanel::reshape(width, height, called_from_parent); - if(!mActiveTab) - return; - - arrange(); -} - -// This is just LLView::findChildView specialized to restrict the search to LLPanels. -// Optimization for EXT-4068 to avoid searching down to the individual item level -// when inventories are large. -LLPanel *findChildPanel(LLPanel *panel, const std::string& name, bool recurse) -{ - for (LLView::child_list_const_iter_t child_it = panel->beginChild(); - child_it != panel->endChild(); ++child_it) - { - LLPanel *child_panel = dynamic_cast<LLPanel*>(*child_it); - if (!child_panel) - continue; - if (child_panel->getName() == name) - return child_panel; - } - if (recurse) - { - for (LLView::child_list_const_iter_t child_it = panel->beginChild(); - child_it != panel->endChild(); ++child_it) - { - LLPanel *child_panel = dynamic_cast<LLPanel*>(*child_it); - if (!child_panel) - continue; - LLPanel *found_panel = findChildPanel(child_panel,name,recurse); - if (found_panel) - { - return found_panel; - } - } - } - return NULL; -} - -/** - * Activate tab with "panel_name" panel - * if no such tab - return false, otherwise true. - * TODO* In some cases a pointer to a panel of - * a specific class may be needed so this method - * would need to use templates. - */ -LLPanel* LLSideTray::showPanel (const std::string& panel_name, const LLSD& params) -{ - LLPanel* new_panel = NULL; - - // Look up the tab in the list of detached tabs. - child_vector_const_iter_t child_it; - for ( child_it = mDetachedTabs.begin(); child_it != mDetachedTabs.end(); ++child_it) - { - new_panel = openChildPanel(*child_it, panel_name, params); - if (new_panel) break; - } - - // Look up the tab in the list of attached tabs. - for ( child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - new_panel = openChildPanel(*child_it, panel_name, params); - if (new_panel) break; - } - - return new_panel; -} - -bool LLSideTray::hidePanel(const std::string& panel_name) -{ - bool panelHidden = false; - - LLPanel* panelp = getPanel(panel_name); - - if (panelp) - { - LLView* parentp = panelp->getParent(); - - // Collapse the side bar if the panel or the panel's parent is an attached tab - if (isTabAttached(panel_name) || (parentp && isTabAttached(parentp->getName()))) - { - collapseSideBar(); - panelHidden = true; - } - else - { - panelHidden = LLFloaterReg::hideInstance("side_bar_tab", panel_name); - - if (!panelHidden) - { - // Look up the panel in the list of detached tabs. - for (child_vector_const_iter_t child_it = mDetachedTabs.begin(); child_it != mDetachedTabs.end(); ++child_it) - { - LLPanel *detached_panel = dynamic_cast<LLPanel*>(*child_it); - - if (detached_panel) - { - // Hide this detached panel if it is a parent of our panel - if (findChildPanel(detached_panel, panel_name, true) != NULL) - { - panelHidden = LLFloaterReg::hideInstance("side_bar_tab", detached_panel->getName()); - break; - } - } - } - } - } - } - - return panelHidden; -} - -void LLSideTray::togglePanel(LLPanel* &sub_panel, const std::string& panel_name, const LLSD& params) -{ - if(!sub_panel) - return; - - // If a panel is visible and attached to Side Tray (has LLSideTray among its ancestors) - // it should be toggled off by collapsing Side Tray. - if (sub_panel->isInVisibleChain() && sub_panel->hasAncestor(this)) - { - LLSideTray::getInstance()->collapseSideBar(); - } - else - { - LLSideTray::getInstance()->showPanel(panel_name, params); - } -} - -LLPanel* LLSideTray::getPanel(const std::string& panel_name) -{ - // Look up the panel in the list of detached tabs. - for ( child_vector_const_iter_t child_it = mDetachedTabs.begin(); child_it != mDetachedTabs.end(); ++child_it) - { - LLPanel *panel = findChildPanel(*child_it,panel_name,true); - if(panel) - { - return panel; - } - } - - // Look up the panel in the list of attached tabs. - for ( child_vector_const_iter_t child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) - { - LLPanel *panel = findChildPanel(*child_it,panel_name,true); - if(panel) - { - return panel; - } - } - return NULL; -} - -LLPanel* LLSideTray::getActivePanel() -{ - if (mActiveTab && !mCollapsed) - { - return mActiveTab->getPanel(); - } - return NULL; -} - -bool LLSideTray::isPanelActive(const std::string& panel_name) -{ - LLPanel *panel = getActivePanel(); - if (!panel) return false; - return (panel->getName() == panel_name); -} - -void LLSideTray::setTabDocked(const std::string& tab_name, bool dock, bool toggle_floater /* = true*/) -{ - // Lookup tab by name. - LLSideTrayTab* tab = getTab(tab_name); - if (!tab) - { // not a docked tab, look through detached tabs - for(child_vector_iter_t tab_it = mDetachedTabs.begin(), tab_end_it = mDetachedTabs.end(); - tab_it != tab_end_it; - ++tab_it) - { - if ((*tab_it)->getName() == tab_name) - { - tab = *tab_it; - break; - } - } - - } - - llassert(tab != NULL); - - // Toggle its dock state. - if (tab && tab->isDocked() != dock) - { - tab->toggleTabDocked(toggle_floater); - } -} - - -void LLSideTray::updateSidetrayVisibility() -{ - // set visibility of parent container based on collapsed state - LLView* parent = getParent(); - if (parent) - { - bool old_visibility = parent->getVisible(); - bool new_visibility = !mCollapsed && !gAgentCamera.cameraMouselook(); - - if (old_visibility != new_visibility) - { - parent->setVisible(new_visibility); - - // Signal change of visible width. - //llinfos << "Visible: " << new_visibility << llendl; - mVisibleWidthChangeSignal(this, new_visibility); - } - } -} - -S32 LLSideTray::getVisibleWidth() -{ - return (isInVisibleChain() && !mCollapsed) ? getRect().getWidth() : 0; -} - -void LLSideTray::setVisibleWidthChangeCallback(const commit_signal_t::slot_type& cb) -{ - mVisibleWidthChangeSignal.connect(cb); -} diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h deleted file mode 100644 index 17158329dcf..00000000000 --- a/indra/newview/llsidetray.h +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @file LLSideTray.h - * @brief SideBar header file - * - * $LicenseInfo:firstyear=2004&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_LLSIDETRAY_H_ -#define LL_LLSIDETRAY_H_ - -#include "llpanel.h" -#include "string" - -class LLAccordionCtrl; -class LLSideTrayTab; - -// Define an interface for side tab button badge values -class LLSideTrayTabBadgeDriver -{ -public: - virtual std::string getBadgeString() const = 0; -}; - -// Deal with LLSideTrayTab being opaque. Generic do-nothing cast... -template <class T> -T tab_cast(LLSideTrayTab* tab) { return tab; } -// specialized for implementation in presence of LLSideTrayTab definition -template <> -LLPanel* tab_cast<LLPanel*>(LLSideTrayTab* tab); - -// added inheritance from LLDestroyClass<LLSideTray> to enable Side Tray perform necessary actions -// while disconnecting viewer in LLAppViewer::disconnectViewer(). -// LLDestroyClassList::instance().fireCallbacks() calls destroyClass method. See EXT-245. -class LLSideTray : public LLPanel, private LLDestroyClass<LLSideTray> -{ - friend class LLUICtrlFactory; - friend class LLDestroyClass<LLSideTray>; - friend class LLSideTrayTab; - friend class LLSideTrayButton; -public: - - LOG_CLASS(LLSideTray); - - struct Params - : public LLInitParam::Block<Params, LLPanel::Params> - { - // initial state - Optional<bool> collapsed; - Optional<LLUIImage*> tab_btn_image_normal, - tab_btn_image_selected; - - Optional<S32> default_button_width, - default_button_height, - default_button_margin; - - Params(); - }; - - static LLSideTray* getInstance (); - static bool instanceCreated (); -protected: - LLSideTray(const Params& params); - typedef std::vector<LLSideTrayTab*> child_vector_t; - typedef child_vector_t::iterator child_vector_iter_t; - typedef child_vector_t::const_iterator child_vector_const_iter_t; - typedef child_vector_t::reverse_iterator child_vector_reverse_iter_t; - typedef child_vector_t::const_reverse_iterator child_vector_const_reverse_iter_t; - typedef std::vector<std::string> tab_order_vector_t; - typedef tab_order_vector_t::const_iterator tab_order_vector_const_iter_t; - -public: - - // interface functions - - /** - * Select tab with specific name and set it active - * - * @param name Tab to switch to. - * @param keep_prev_visible Whether to keep the previously selected tab visible. - */ - bool selectTabByName (const std::string& name, bool keep_prev_visible = false); - - /** - * Select tab with specific index and set it active - */ - bool selectTabByIndex(size_t index); - - /** - * Activate tab with "panel_name" panel - * if no such tab - return NULL, otherwise a pointer to the panel - * Pass params as array, or they may be overwritten(example - params["name"]="nearby") - */ - LLPanel* showPanel (const std::string& panel_name, const LLSD& params = LLSD()); - - bool hidePanel (const std::string& panel_name); - - /** - * Toggling Side Tray tab which contains "sub_panel" child of "panel_name" panel. - * If "sub_panel" is not visible Side Tray is opened to display it, - * otherwise Side Tray is collapsed. - * params are passed to "panel_name" panel onOpen(). - */ - void togglePanel (LLPanel* &sub_panel, const std::string& panel_name, const LLSD& params = LLSD()); - - /* - * get the panel (don't show it or do anything else with it) - */ - LLPanel* getPanel (const std::string& panel_name); - LLPanel* getActivePanel (); - bool isPanelActive (const std::string& panel_name); - - void setTabDocked(const std::string& tab_name, bool dock, bool toggle_floater = true); - - /* - * get the panel of given type T (don't show it or do anything else with it) - */ - template <typename T> - T* getPanel(const std::string& panel_name) - { - T* panel = dynamic_cast<T*>(getPanel(panel_name)); - if (!panel) - { - llwarns << "Child named \"" << panel_name << "\" of type " << typeid(T*).name() << " not found" << llendl; - return NULL; - } - return panel; - } - - /* - * collapse SideBar, hiding visible tab and moving tab buttons - * to the right corner of the screen - */ - void collapseSideBar (); - - /* - * expand SideBar - * - * @param open_active Whether to call onOpen() for the active tab. - */ - void expandSideBar(bool open_active = true); - - - /** - *hightlight if focused. manly copypaste from highlightFocusedFloater - */ - void highlightFocused(); - - void setVisible(BOOL visible) - { - if (getParent()) getParent()->setVisible(visible); - } - - LLPanel* getButtonsPanel() { return mButtonsPanel; } - - bool getCollapsed() { return mCollapsed; } - - void setTabButtonBadgeDriver(std::string tabName, LLSideTrayTabBadgeDriver* driver); - -public: - virtual ~LLSideTray(){}; - - virtual BOOL postBuild(); - - BOOL handleMouseDown (S32 x, S32 y, MASK mask); - - void reshape (S32 width, S32 height, BOOL called_from_parent = TRUE); - - - /** - * @return side tray width if it's visible and expanded, 0 otherwise. - * - * Not that width of the tab buttons is not included. - * - * @see setVisibleWidthChangeCallback() - */ - S32 getVisibleWidth(); - - void setVisibleWidthChangeCallback(const commit_signal_t::slot_type& cb); - - void updateSidetrayVisibility(); - - void handleLoginComplete(); - - bool isTabAttached (const std::string& name); - -protected: - bool addChild (LLView* view, S32 tab_group); - bool removeTab (LLSideTrayTab* tab); // Used to detach tabs temporarily - bool addTab (LLSideTrayTab* tab); // Used to re-attach tabs - bool hasTabs (); - - const LLSideTrayTab* getActiveTab() const { return mActiveTab; } - LLSideTrayTab* getTab(const std::string& name); - - void createButtons (); - - void arrange (); - void detachTabs (); - void reflectCollapseChange(); - void processTriState (); - - void toggleTabButton (LLSideTrayTab* tab); - - LLPanel* openChildPanel (LLSideTrayTab* tab, const std::string& panel_name, const LLSD& params); - - void onTabButtonClick(std::string name); - void onToggleCollapse(); - -private: - // Implementation of LLDestroyClass<LLSideTray> - static void destroyClass() - { - // Disable SideTray to avoid crashes. EXT-245 - if (LLSideTray::instanceCreated()) - LLSideTray::getInstance()->setEnabled(FALSE); - } - -private: - // Since we provide no public way to query mTabs and mDetachedTabs, give - // LLSideTrayListener friend access. - friend class LLSideTrayListener; - LLPanel* mButtonsPanel; - typedef std::map<std::string,LLButton*> button_map_t; - button_map_t mTabButtons; - typedef std::map<std::string,LLSideTrayTabBadgeDriver*> badge_map_t; - badge_map_t mTabButtonBadgeDrivers; - child_vector_t mTabs; - child_vector_t mDetachedTabs; - tab_order_vector_t mOriginalTabOrder; - LLSideTrayTab* mActiveTab; - - commit_signal_t mVisibleWidthChangeSignal; - - LLButton* mCollapseButton; - bool mCollapsed; - - static LLSideTray* sInstance; -}; - -#endif - diff --git a/indra/newview/llsidetraylistener.cpp b/indra/newview/llsidetraylistener.cpp deleted file mode 100644 index cd6fa28948f..00000000000 --- a/indra/newview/llsidetraylistener.cpp +++ /dev/null @@ -1,179 +0,0 @@ -/** - * @file llsidetraylistener.cpp - * @author Nat Goodspeed - * @date 2011-02-15 - * @brief Implementation for llsidetraylistener. - * - * $LicenseInfo:firstyear=2011&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, 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$ - */ - -// Precompiled header -#include "llviewerprecompiledheaders.h" -// associated header -#include "llsidetraylistener.h" -// STL headers -// std headers -// external library headers -// other Linden headers -#include "llsidetray.h" -#include "llsdutil.h" - -LLSideTrayListener::LLSideTrayListener(const Getter& getter): - LLEventAPI("LLSideTray", - "Operations on side tray (e.g. query state, query tabs)"), - mGetter(getter) -{ - add("getCollapsed", "Send on [\"reply\"] an [\"open\"] Boolean", - &LLSideTrayListener::getCollapsed, LLSDMap("reply", LLSD())); - add("getTabs", - "Send on [\"reply\"] a map of tab names and info about them", - &LLSideTrayListener::getTabs, LLSDMap("reply", LLSD())); - add("getPanels", - "Send on [\"reply\"] data about panels available with SideTray.ShowPanel", - &LLSideTrayListener::getPanels, LLSDMap("reply", LLSD())); -} - -void LLSideTrayListener::getCollapsed(const LLSD& event) const -{ - sendReply(LLSDMap("open", ! mGetter()->getCollapsed()), event); -} - -void LLSideTrayListener::getTabs(const LLSD& event) const -{ - LLSD reply; - - LLSideTray* tray = mGetter(); - LLSD::Integer ord(0); - for (LLSideTray::child_list_const_iter_t chi(tray->beginChild()), chend(tray->endChild()); - chi != chend; ++chi, ++ord) - { - LLView* child = *chi; - // How much info is important? Toss in as much as seems reasonable for - // each tab. But to me, at least for the moment, the most important - // item is the tab name. - LLSD info; - // I like the idea of returning a map keyed by tab name. But as - // compared to an array of maps, that loses sequence information. - // Address that by indicating the original order in each map entry. - info["ord"] = ord; - info["visible"] = bool(child->getVisible()); - info["enabled"] = bool(child->getEnabled()); - info["available"] = child->isAvailable(); - reply[child->getName()] = info; - } - - sendReply(reply, event); -} - -static LLSD getTabInfo(LLPanel* tab) -{ - LLSD panels; - for (LLPanel::tree_iterator_t ti(tab->beginTreeDFS()), tend(tab->endTreeDFS()); - ti != tend; ++ti) - { - // *ti is actually an LLView*, which had better not be NULL - LLView* view(*ti); - if (! view) - { - LL_ERRS("LLSideTrayListener") << "LLSideTrayTab '" << tab->getName() - << "' has a NULL child LLView*" << LL_ENDL; - } - - // The logic we use to decide what "panel" names to return is heavily - // based on LLSideTray::showPanel(): the function that actually - // implements the "SideTray.ShowPanel" operation. showPanel(), in - // turn, depends on LLSideTray::openChildPanel(): when - // openChildPanel() returns non-NULL, showPanel() stops searching - // attached and detached LLSideTrayTab tabs. - - // For each LLSideTrayTab, openChildPanel() first calls - // findChildView(panel_name, true). In other words, panel_name need - // not be a direct LLSideTrayTab child, it's sought recursively. - // That's why we use (begin|end)TreeDFS() in this loop. - - // But this tree_iterator_t loop will actually traverse every widget - // in every panel. Returning all those names will not help our caller: - // passing most such names to openChildPanel() would not do what we - // want. Even though the code suggests that passing ANY valid - // side-panel widget name to openChildPanel() will open the tab - // containing that widget, results could get confusing since followup - // (onOpen()) logic wouldn't be invoked, and showPanel() wouldn't stop - // searching because openChildPanel() would return NULL. - - // We must filter these LLView items, using logic that (sigh!) mirrors - // openChildPanel()'s own. - - // openChildPanel() returns a non-NULL LLPanel* when either: - // - the LLView is a direct child of an LLSideTrayPanelContainer - // - the LLView is itself an LLPanel. - // But as LLSideTrayPanelContainer can directly contain LLView items - // that are NOT themselves LLPanels (e.g. "sidebar_me" contains an - // LLButton called "Jump Right Arrow"), we'd better focus only on - // LLSideTrayPanelContainer children that are themselves LLPanel - // items. Which means that the second test completely subsumes the - // first. - LLPanel* panel(dynamic_cast<LLPanel*>(view)); - if (panel) - { - // Maybe it's overkill to construct an LLSD::Map for each panel, but - // the possibility remains that we might want to deliver more info - // about each panel than just its name. - panels.append(LLSDMap("name", panel->getName())); - } - } - - return LLSDMap("panels", panels); -} - -void LLSideTrayListener::getPanels(const LLSD& event) const -{ - LLSD reply; - - LLSideTray* tray = mGetter(); - // Iterate through the attached tabs. - LLSD::Integer ord(0); - for (LLSideTray::child_vector_t::const_iterator - ati(tray->mTabs.begin()), atend(tray->mTabs.end()); - ati != atend; ++ati) - { - // We don't have access to LLSideTrayTab: the class definition is - // hidden in llsidetray.cpp. But as LLSideTrayTab isa LLPanel, use the - // LLPanel API. Unfortunately, without the LLSideTrayTab definition, - // the compiler doesn't even know this LLSideTrayTab* is an LLPanel*. - // Persuade it. - LLPanel* tab(tab_cast<LLPanel*>(*ati)); - reply[tab->getName()] = getTabInfo(tab).with("attached", true).with("ord", ord); - } - - // Now iterate over the detached tabs. These can also be opened via - // SideTray.ShowPanel. - ord = 0; - for (LLSideTray::child_vector_t::const_iterator - dti(tray->mDetachedTabs.begin()), dtend(tray->mDetachedTabs.end()); - dti != dtend; ++dti) - { - LLPanel* tab(tab_cast<LLPanel*>(*dti)); - reply[tab->getName()] = getTabInfo(tab).with("attached", false).with("ord", ord); - } - - sendReply(reply, event); -} diff --git a/indra/newview/llsidetraylistener.h b/indra/newview/llsidetraylistener.h deleted file mode 100644 index 51e2137762d..00000000000 --- a/indra/newview/llsidetraylistener.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - * @file llsidetraylistener.h - * @author Nat Goodspeed - * @date 2011-02-15 - * @brief - * - * $LicenseInfo:firstyear=2011&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2011, 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$ - */ - -#if ! defined(LL_LLSIDETRAYLISTENER_H) -#define LL_LLSIDETRAYLISTENER_H - -#include "lleventapi.h" -#include <boost/function.hpp> - -class LLSideTray; -class LLSD; - -class LLSideTrayListener: public LLEventAPI -{ - typedef boost::function<LLSideTray*()> Getter; - -public: - LLSideTrayListener(const Getter& getter); - -private: - void getCollapsed(const LLSD& event) const; - void getTabs(const LLSD& event) const; - void getPanels(const LLSD& event) const; - - Getter mGetter; -}; - -#endif /* ! defined(LL_LLSIDETRAYLISTENER_H) */ diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 749acea6c10..4511a4806ae 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -131,7 +131,6 @@ #include "llsecondlifeurls.h" #include "llselectmgr.h" #include "llsky.h" -#include "llsidetray.h" #include "llstatview.h" #include "llstatusbar.h" // sendMoneyBalanceRequest(), owns L$ balance #include "llsurface.h" diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp index 477718d118b..f6d7ceeec36 100644 --- a/indra/newview/llurldispatcher.cpp +++ b/indra/newview/llurldispatcher.cpp @@ -36,7 +36,6 @@ #include "llfloaterworldmap.h" #include "llpanellogin.h" #include "llregionhandle.h" -#include "llsidetray.h" #include "llslurl.h" #include "llstartup.h" // gStartupState #include "llweb.h" diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 0b3b8e23a51..174a4d6409a 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -95,7 +95,6 @@ #include "llfloatersellland.h" #include "llfloatersettingsdebug.h" #include "llfloatersidepanelcontainer.h" -#include "llfloatersidetraytab.h" #include "llfloatersnapshot.h" #include "llfloatersounddevices.h" #include "llfloatertelehub.h" @@ -276,7 +275,6 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("script_limits", "floater_script_limits.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterScriptLimits>); LLFloaterReg::add("sell_land", "floater_sell_land.xml", &LLFloaterSellLand::buildFloater); LLFloaterReg::add("settings_debug", "floater_settings_debug.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSettingsDebug>); - LLFloaterReg::add("side_bar_tab", "floater_side_bar_tab.xml", &LLFloaterReg::build<LLFloaterSideTrayTab>); LLFloaterReg::add("sound_devices", "floater_sound_devices.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSoundDevices>); LLFloaterReg::add("stats", "floater_stats.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloater>); LLFloaterReg::add("start_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterRunQueue>); diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index 50fb5a00e42..f8ef81b9f4a 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -45,7 +45,6 @@ #include "llinventorymodel.h" #include "llinventorymodelbackgroundfetch.h" #include "llgesturemgr.h" -#include "llsidetray.h" #include "llinventorybridge.h" #include "llinventorypanel.h" diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 5e781e0e4ca..fbfde711a94 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -83,7 +83,6 @@ #include "llrootview.h" #include "llsceneview.h" #include "llselectmgr.h" -#include "llsidetray.h" #include "llstatusbar.h" #include "lltextureview.h" #include "lltoolcomp.h" @@ -3348,15 +3347,6 @@ bool enable_sitdown_self() return isAgentAvatarValid() && !gAgentAvatarp->isSitting() && !gAgent.getFlying(); } -// Used from the login screen to aid in UI work on side tray -void handle_show_side_tray() -{ - LLSideTray* side_tray = LLSideTray::getInstance(); - LLView* root = gViewerWindow->getRootView(); - // automatically removes and re-adds if there already - root->addChild(side_tray); -} - // Toggle one of "People" panel tabs in side tray. class LLTogglePanelPeopleTab : public view_listener_t { @@ -3367,21 +3357,11 @@ class LLTogglePanelPeopleTab : public view_listener_t LLSD param; param["people_panel_tab_name"] = panel_name; - static LLPanel* friends_panel = NULL; - static LLPanel* groups_panel = NULL; - static LLPanel* nearby_panel = NULL; - - if (panel_name == "friends_panel") - { - return togglePeoplePanel(friends_panel, panel_name, param); - } - else if (panel_name == "groups_panel") - { - return togglePeoplePanel(groups_panel, panel_name, param); - } - else if (panel_name == "nearby_panel") + if ( panel_name == "friends_panel" + || panel_name == "groups_panel" + || panel_name == "nearby_panel") { - return togglePeoplePanel(nearby_panel, panel_name, param); + return togglePeoplePanel(panel_name, param); } else { @@ -3389,16 +3369,20 @@ class LLTogglePanelPeopleTab : public view_listener_t } } - static bool togglePeoplePanel(LLPanel* &panel, const std::string& panel_name, const LLSD& param) + static bool togglePeoplePanel(const std::string& panel_name, const LLSD& param) { + LLPanel *panel = LLFloaterSidePanelContainer::getPanel("people", panel_name); if(!panel) + return false; + + if (panel->isInVisibleChain()) { - panel = LLSideTray::getInstance()->getPanel(panel_name); - if(!panel) - return false; + LLFloaterReg::hideInstance("people"); + } + else + { + LLFloaterSidePanelContainer::showPanel("people", "panel_people", param) ; } - - LLSideTray::getInstance()->togglePanel(panel, "panel_people", param); return true; } @@ -8067,7 +8051,6 @@ void initialize_menus() view_listener_t::addMenu(new LLAdvancedCheckDebugKeys(), "Advanced.CheckDebugKeys"); view_listener_t::addMenu(new LLAdvancedToggleDebugWindowProc(), "Advanced.ToggleDebugWindowProc"); view_listener_t::addMenu(new LLAdvancedCheckDebugWindowProc(), "Advanced.CheckDebugWindowProc"); - commit.add("Advanced.ShowSideTray", boost::bind(&handle_show_side_tray)); // Advanced > XUI commit.add("Advanced.ReloadColorSettings", boost::bind(&LLUIColorTable::loadFromSettings, LLUIColorTable::getInstance())); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 5665a68addf..1c07d36e7ec 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -74,7 +74,6 @@ #include "llrecentpeople.h" #include "llscriptfloater.h" #include "llselectmgr.h" -#include "llsidetray.h" #include "llstartup.h" #include "llsky.h" #include "llslurl.h" @@ -6800,7 +6799,7 @@ void process_covenant_reply(LLMessageSystem* msg, void**) LLPanelLandCovenant::updateEstateOwnerName(owner_name); LLFloaterBuyLand::updateEstateOwnerName(owner_name); - LLPanelPlaceProfile* panel = LLSideTray::getInstance()->getPanel<LLPanelPlaceProfile>("panel_place_profile"); + LLPanelPlaceProfile* panel = LLFloaterSidePanelContainer::getPanel<LLPanelPlaceProfile>("places", "panel_place_profile"); if (panel) { panel->updateEstateName(estate_name); @@ -6934,7 +6933,7 @@ void onCovenantLoadComplete(LLVFS *vfs, LLPanelLandCovenant::updateCovenantText(covenant_text); LLFloaterBuyLand::updateCovenantText(covenant_text, asset_uuid); - LLPanelPlaceProfile* panel = LLSideTray::getInstance()->getPanel<LLPanelPlaceProfile>("panel_place_profile"); + LLPanelPlaceProfile* panel = LLFloaterSidePanelContainer::getPanel<LLPanelPlaceProfile>("places", "panel_place_profile"); if (panel) { panel->updateCovenantText(covenant_text); diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp index b308e952adf..0a9fae68a65 100644 --- a/indra/newview/llviewertexteditor.cpp +++ b/indra/newview/llviewertexteditor.cpp @@ -51,7 +51,6 @@ #include "llpreviewtexture.h" #include "llscrollbar.h" #include "llscrollcontainer.h" -#include "llsidetray.h" #include "lltooldraganddrop.h" #include "lltooltip.h" #include "lltrans.h" diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 6c9ee17a767..149f9893d77 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -133,7 +133,6 @@ #include "llpreviewtexture.h" #include "llprogressview.h" #include "llresmgr.h" -#include "llsidetray.h" #include "llselectmgr.h" #include "llrootview.h" #include "llrendersphere.h" @@ -1773,7 +1772,6 @@ void LLViewerWindow::initBase() // placeholder widget that controls where "world" is rendered mWorldViewPlaceholder = main_view->getChildView("world_view_rect")->getHandle(); - mNonSideTrayView = main_view->getChildView("non_side_tray_view")->getHandle(); mFloaterViewHolder = main_view->getChildView("floater_view_holder")->getHandle(); mPopupView = main_view->getChild<LLPopupView>("popup_holder"); mHintHolder = main_view->getChild<LLView>("hint_holder")->getHandle(); @@ -1934,22 +1932,6 @@ void LLViewerWindow::initWorldUI() panel_ssf_container->addChild(panel_stand_stop_flying); panel_ssf_container->setVisible(TRUE); - // put sidetray in container - LLPanel* side_tray_container = getRootView()->getChild<LLPanel>("side_tray_container"); - LLSideTray* sidetrayp = LLSideTray::getInstance(); - sidetrayp->setShape(side_tray_container->getLocalRect()); - // don't follow right edge to avoid spurious resizes, since we are using a fixed width layout - sidetrayp->setFollows(FOLLOWS_LEFT|FOLLOWS_TOP|FOLLOWS_BOTTOM); - side_tray_container->addChild(sidetrayp); - side_tray_container->setVisible(FALSE); - - // put sidetray buttons in their own panel - LLPanel* buttons_panel = sidetrayp->getButtonsPanel(); - LLPanel* buttons_panel_container = getRootView()->getChild<LLPanel>("side_bar_tabs"); - buttons_panel->setShape(buttons_panel_container->getLocalRect()); - buttons_panel->setFollowsAll(); - buttons_panel_container->addChild(buttons_panel); - // Load and make the toolbars visible // Note: we need to load the toolbars only *after* the user is logged in and IW if (gToolBarView) @@ -3310,9 +3292,6 @@ void LLViewerWindow::updateKeyboardFocus() // make sure floater visible order is in sync with tab order gFloaterView->syncFloaterTabOrder(); } - - if(LLSideTray::instanceCreated())//just getInstance will create sidetray. we don't want this - LLSideTray::getInstance()->highlightFocused(); } static LLFastTimer::DeclareTimer FTM_UPDATE_WORLD_VIEW("Update World View"); @@ -3336,12 +3315,6 @@ void LLViewerWindow::updateWorldViewRect(bool use_full_window) new_world_rect.mTop = llround((F32)new_world_rect.mTop * mDisplayScale.mV[VY]); } - if (gSavedSettings.getBOOL("SidebarCameraMovement") == FALSE) - { - // use right edge of window, ignoring sidebar - new_world_rect.mRight = mWindowRectRaw.mRight; - } - if (mWorldViewRectRaw != new_world_rect) { mWorldViewRectRaw = new_world_rect; diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 47e0fdeab19..872eb127539 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -282,7 +282,6 @@ class LLViewerWindow : public LLWindowCallbacks void updateKeyboardFocus(); void updateWorldViewRect(bool use_full_window=false); - LLView* getNonSideTrayView() { return mNonSideTrayView.get(); } LLView* getFloaterViewHolder() { return mFloaterViewHolder.get(); } LLView* getToolBarHolder() { return mToolBarHolder.get(); } LLView* getHintHolder() { return mHintHolder.get(); } @@ -445,7 +444,6 @@ class LLViewerWindow : public LLWindowCallbacks std::string mInitAlert; // Window / GL initialization requires an alert LLHandle<LLView> mWorldViewPlaceholder; // widget that spans the portion of screen dedicated to rendering the 3d world - LLHandle<LLView> mNonSideTrayView; // parent of world view + bottom bar, etc...everything but the side tray LLHandle<LLView> mFloaterViewHolder; // container for floater_view LLHandle<LLView> mToolBarHolder; // container for toolbars LLHandle<LLView> mHintHolder; // container for hints diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp index 276e8f462d4..d8aa0b7d5c6 100644 --- a/indra/newview/llwearable.cpp +++ b/indra/newview/llwearable.cpp @@ -37,7 +37,6 @@ #include "llinventorymodel.h" #include "llinventoryobserver.h" #include "llsidepanelappearance.h" -#include "llsidetray.h" #include "lltexlayer.h" #include "lltexglobalcolor.h" #include "lltrans.h" diff --git a/indra/newview/llworldview.cpp b/indra/newview/llworldview.cpp deleted file mode 100644 index f5dc2a5290d..00000000000 --- a/indra/newview/llworldview.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file llworldview.cpp - * @brief LLWorldView class implementation - * - * $LicenseInfo:firstyear=2001&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 "llworldview.h" - -#include "llviewercontrol.h" -#include "llsidetray.h" -///////////////////////////////////////////////////// -// LLFloaterView - -static LLDefaultChildRegistry::Register<LLWorldView> r("world_view"); - -LLWorldView::LLWorldView(const Params& p) -: LLUICtrl (p) -{ - gSavedSettings.getControl("SidebarCameraMovement")->getSignal()->connect(boost::bind(&LLWorldView::toggleSidebarCameraMovement, this, _2)); -} - -void LLWorldView::reshape(S32 width, S32 height, BOOL called_from_parent) -{ - //if (FALSE == gSavedSettings.getBOOL("SidebarCameraMovement") ) - //{ - // LLView* main_view = LLUI::getRootView()->findChild<LLView>("main_view"); - // if(main_view) - // { - // width = main_view->getRect().getWidth(); - // } - //} - - LLUICtrl::reshape(width, height, called_from_parent); -} -void LLWorldView::toggleSidebarCameraMovement(const LLSD::Boolean& new_visibility) -{ - reshape(getParent()->getRect().getWidth(),getRect().getHeight()); -} - diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 6ece01b2bac..d8f593715f2 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -90,14 +90,6 @@ top="0" visible="false" width="1024"/> - <panel follows="right|top|bottom" - height="500" - mouse_opaque="false" - name="side_bar_tabs" - right="500" - tab_stop="false" - top="0" - width="32"/> <panel bottom="500" follows="left|right|bottom" height="25" @@ -116,17 +108,6 @@ visible="false"/> </layout_stack> </layout_panel> - <!-- side tray --> - <layout_panel auto_resize="false" - follows="top|bottom" - height="500" - min_width="333" - mouse_opaque="false" - tab_stop="false" - name="side_tray_container" - user_resize="false" - visible="false" - width="333"/> </layout_stack> <panel top="0" follows="all" diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index bb58dd500f0..80e310a8735 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -93,14 +93,6 @@ parameter="ui_preview" /> </menu_item_call> <menu_item_separator /> - <!-- Broken - <menu_item_call - label="Show Side Tray" - name="Show Side Tray"> - <menu_item_call.on_click - function="Advanced.ShowSideTray" /> - </menu_item_call> - --> <menu create_jump_keys="true" label="UI Tests" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_move.xml b/indra/newview/skins/default/xui/en/panel_preferences_move.xml index 1a8aae7f911..c131649fc8e 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_move.xml @@ -86,16 +86,6 @@ name="appearance_camera_movement" tool_tip="Use automatic camera positioning while in edit mode" width="242" /> - <check_box - control_name="SidebarCameraMovement" - follows="left|top" - height="16" - initial_value="true" - label="Sidebar" - layout="topleft" - name="appearance_sidebar_positioning" - tool_tip="Use automatic camera positioning for sidebar" - width="242" /> <icon follows="left|top" height="18" -- GitLab From 896ea6f81eaf409aae22158816226f09a459ca34 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 29 Sep 2011 14:42:30 -0700 Subject: [PATCH 072/213] EXP-1278 FIX -- Implement 3-way toolbar button functionality Toolbar buttons now affect their floaters as indicated in the FUI_Button_states wiki page -- https://wiki.lindenlab.com/wiki/FUI_Button_states --- indra/llui/llfloaterreg.cpp | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index bc740dde171..8a0513f2465 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -455,12 +455,42 @@ void LLFloaterReg::toggleFloaterInstance(const LLSD& sdname) //static void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) { - // Do some extra logic here for 3-state toolbar floater toggling madness :) - + // + // Floaters controlled by the toolbar behave a bit differently from others. + // Namely they have 3-4 states as defined in the design wiki page here: + // https://wiki.lindenlab.com/wiki/FUI_Button_states + // + // The basic idea is this: + // * If the target floater is minimized, this button press will un-minimize it. + // * Else if the target floater is closed open it. + // * Else if the target floater does not have focus, give it focus. + // * Also, if it is not on top, bring it forward when focus is given. + // * Else the target floater is open, close it. + // + + // First parse the parameter LLSD key; std::string name = sdname.asString(); parse_name_key(name, key); - toggleInstance(name, key); + + LLFloater* instance = findInstance(name, key); + + if (LLFloater::isMinimized(instance)) + { + instance->setMinimized(FALSE); + } + else if (!LLFloater::isShown(instance)) + { + showInstance(name, key, TRUE); + } + else if (!instance->hasFocus()) + { + instance->setFocus(TRUE); + } + else + { + instance->closeFloater(); + } } //static -- GitLab From b07e7c7198fbc78ca852b3ba48d516ec2901da21 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Thu, 29 Sep 2011 15:01:15 -0700 Subject: [PATCH 073/213] EXP-1211, EXP-1257 : Save and load the button type along with the toolbars, add a force default load option, enforce consistency between menus and toolbars --- indra/llui/lltoolbar.cpp | 27 ++++++++--- indra/llui/lltoolbar.h | 8 +++- indra/llui/lltoolbarview.cpp | 45 +++++++++++++++++-- indra/llui/lltoolbarview.h | 6 ++- indra/newview/app_settings/toolbars.xml | 6 ++- .../skins/default/xui/en/menu_toolbars.xml | 6 +-- 6 files changed, 79 insertions(+), 19 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 45567d58599..75c7d91f8a7 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -213,6 +213,14 @@ bool LLToolBar::addCommand(const LLCommandId& commandId) return add_command; } +void LLToolBar::clearCommandsList() +{ + // Clears the commands list + mButtonCommands.clear(); + // This will clear the buttons + createButtons(); +} + bool LLToolBar::hasCommand(const LLCommandId& commandId) const { bool has_command = false; @@ -278,7 +286,7 @@ BOOL LLToolBar::isSettingChecked(const LLSD& userdata) const std::string setting_name = userdata.asString(); - if (setting_name == "icons_and_labels") + if (setting_name == "icons_with_text") { retval = (mButtonType == BTNTYPE_ICONS_WITH_TEXT); } @@ -296,18 +304,23 @@ void LLToolBar::onSettingEnable(const LLSD& userdata) const std::string setting_name = userdata.asString(); - const ButtonType current_button_type = mButtonType; - - if (setting_name == "icons_and_labels") + if (setting_name == "icons_with_text") { - mButtonType = BTNTYPE_ICONS_WITH_TEXT; + setButtonType(BTNTYPE_ICONS_WITH_TEXT); } else if (setting_name == "icons_only") { - mButtonType = BTNTYPE_ICONS_ONLY; + setButtonType(BTNTYPE_ICONS_ONLY); } +} - if(current_button_type != mButtonType) +void LLToolBar::setButtonType(LLToolBarEnums::ButtonType button_type) +{ + bool regenerate_buttons = (mButtonType != button_type); + + mButtonType = button_type; + + if (regenerate_buttons) { createButtons(); } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 8e484c7e13b..03b1756988d 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -123,7 +123,6 @@ class LLToolBar bool addCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); - command_id_list_t& getCommandsList() { return mButtonCommands; } protected: friend class LLUICtrlFactory; @@ -132,6 +131,13 @@ class LLToolBar void initFromParams(const Params&); +public: + // Methods used in loading and saving toolbar settings + void setButtonType(LLToolBarEnums::ButtonType button_type); + LLToolBarEnums::ButtonType getButtonType() { return mButtonType; } + command_id_list_t& getCommandsList() { return mButtonCommands; } + void clearCommandsList(); + private: void createContextMenu(); void updateLayoutAsNeeded(); diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index f60598edcb1..1c6cf3230b1 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -41,7 +41,8 @@ LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); LLToolBarView::Toolbar::Toolbar() -: commands("command") +: button_display_mode("button_display_mode"), + commands("command") {} LLToolBarView::ToolbarSet::ToolbarSet() @@ -112,13 +113,17 @@ bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar) return true; } -bool LLToolBarView::loadToolbars() +bool LLToolBarView::loadToolbars(bool force_default) { LLToolBarView::ToolbarSet toolbar_set; - // Load the default toolbars.xml file + // Load the toolbars.xml file std::string toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "toolbars.xml"); - if (!gDirUtilp->fileExists(toolbar_file)) + if (force_default) + { + toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); + } + else if (!gDirUtilp->fileExists(toolbar_file)) { llwarns << "User toolbars def not found -> use default" << llendl; toolbar_file = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "toolbars.xml"); @@ -145,9 +150,28 @@ bool LLToolBarView::loadToolbars() return false; } + // Clear the toolbars now before adding the loaded commands and settings + if (mToolbarLeft) + { + mToolbarLeft->clearCommandsList(); + } + if (mToolbarRight) + { + mToolbarRight->clearCommandsList(); + } + if (mToolbarBottom) + { + mToolbarBottom->clearCommandsList(); + } + // Add commands to each toolbar if (toolbar_set.left_toolbar.isProvided() && mToolbarLeft) { + if (toolbar_set.left_toolbar.button_display_mode.isProvided()) + { + U32 button_type = toolbar_set.left_toolbar.button_display_mode; + mToolbarLeft->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) { addCommand(LLCommandId(command),mToolbarLeft); @@ -155,6 +179,11 @@ bool LLToolBarView::loadToolbars() } if (toolbar_set.right_toolbar.isProvided() && mToolbarRight) { + if (toolbar_set.right_toolbar.button_display_mode.isProvided()) + { + U32 button_type = toolbar_set.right_toolbar.button_display_mode; + mToolbarRight->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) { addCommand(LLCommandId(command),mToolbarRight); @@ -162,6 +191,11 @@ bool LLToolBarView::loadToolbars() } if (toolbar_set.bottom_toolbar.isProvided() && mToolbarBottom) { + if (toolbar_set.bottom_toolbar.button_display_mode.isProvided()) + { + U32 button_type = toolbar_set.bottom_toolbar.button_display_mode; + mToolbarBottom->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) { addCommand(LLCommandId(command),mToolbarBottom); @@ -176,14 +210,17 @@ void LLToolBarView::saveToolbars() const LLToolBarView::ToolbarSet toolbar_set; if (mToolbarLeft) { + toolbar_set.left_toolbar.button_display_mode = (int)(mToolbarLeft->getButtonType()); addToToolset(mToolbarLeft->getCommandsList(),toolbar_set.left_toolbar); } if (mToolbarRight) { + toolbar_set.right_toolbar.button_display_mode = (int)(mToolbarRight->getButtonType()); addToToolset(mToolbarRight->getCommandsList(),toolbar_set.right_toolbar); } if (mToolbarBottom) { + toolbar_set.bottom_toolbar.button_display_mode = (int)(mToolbarBottom->getButtonType()); addToToolset(mToolbarBottom->getCommandsList(),toolbar_set.bottom_toolbar); } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index b19841997b4..efe6920db8a 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -50,7 +50,8 @@ class LLToolBarView : public LLUICtrl // the user folder for the user specific (saved) settings struct Toolbar : public LLInitParam::Block<Toolbar> { - Multiple<LLCommandId::Params> commands; + Mandatory<U32> button_display_mode; + Multiple<LLCommandId::Params> commands; Toolbar(); }; struct ToolbarSet : public LLInitParam::Block<ToolbarSet> @@ -70,7 +71,8 @@ class LLToolBarView : public LLUICtrl // Checks if the commandId is being used somewhere in one of the toolbars bool hasCommand(const LLCommandId& commandId) const; // Loads the toolbars from the existing user or default settings - bool loadToolbars(); // return false if load fails + bool loadToolbars(bool force_default = false); // return false if load fails + bool loadDefaultToolbars() { return loadToolbars(true); } protected: friend class LLUICtrlFactory; diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml index 55327ea919a..19dec78c639 100644 --- a/indra/newview/app_settings/toolbars.xml +++ b/indra/newview/app_settings/toolbars.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <toolbars> - <bottom_toolbar> + <bottom_toolbar + button_display_mode="0"> <command name="chat"/> <command name="speak"/> <command name="places"/> @@ -10,7 +11,8 @@ <command name="move"/> <command name="howto"/> </bottom_toolbar> - <left_toolbar> + <left_toolbar + button_display_mode="1"> <command name="avatar"/> <command name="inventory"/> <command name="snapshot"/> diff --git a/indra/newview/skins/default/xui/en/menu_toolbars.xml b/indra/newview/skins/default/xui/en/menu_toolbars.xml index de13fec6701..59912b55036 100644 --- a/indra/newview/skins/default/xui/en/menu_toolbars.xml +++ b/indra/newview/skins/default/xui/en/menu_toolbars.xml @@ -12,11 +12,11 @@ <menu_item_separator layout="topleft" /> <menu_item_check label="Icons and labels" layout="topleft" - name="icons_and_labels"> + name="icons_with_text"> <on_click function="Toolbars.EnableSetting" - parameter="icons_and_labels" /> + parameter="icons_with_text" /> <on_check function="Toolbars.CheckSetting" - parameter="icons_and_labels" /> + parameter="icons_with_text" /> </menu_item_check> <menu_item_check label="Icons only" layout="topleft" -- GitLab From cf4f436e5bda78096c945b1de0e0f6c923a9152d Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 29 Sep 2011 15:25:24 -0700 Subject: [PATCH 074/213] * Updated toybox so it will always display buttons in alphabetical order based on the localized button labels. --- indra/newview/llfloatertoybox.cpp | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index c3fa322f854..d7f114043d1 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -33,6 +33,7 @@ #include "llpanel.h" #include "lltoolbar.h" #include "lltoolbarview.h" +#include "lltrans.h" LLFloaterToybox::LLFloaterToybox(const LLSD& key) @@ -47,6 +48,14 @@ LLFloaterToybox::~LLFloaterToybox() { } +bool compare_localized_command_labels(LLCommand * cmd1, LLCommand * cmd2) +{ + std::string lab1 = LLTrans::getString(cmd1->labelRef()); + std::string lab2 = LLTrans::getString(cmd2->labelRef()); + + return (lab1 < lab2); +} + BOOL LLFloaterToybox::postBuild() { center(); @@ -54,11 +63,13 @@ BOOL LLFloaterToybox::postBuild() mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); mToolBar = getChild<LLToolBar>("toybox_toolbar"); + LLCommandManager& cmdMgr = LLCommandManager::instance(); + // - // Create Buttons + // Sort commands by localized labels so they will appear alphabetized in all languages // - LLCommandManager& cmdMgr = LLCommandManager::instance(); + std::list<LLCommand *> alphabetized_commands; for (U32 i = 0; i < cmdMgr.commandCount(); i++) { @@ -66,10 +77,21 @@ BOOL LLFloaterToybox::postBuild() if (command->availableInToybox()) { - mToolBar->addCommand(command->id()); + alphabetized_commands.push_back(command); } } + alphabetized_commands.sort(compare_localized_command_labels); + + // + // Create Buttons + // + + for (std::list<LLCommand *>::iterator it = alphabetized_commands.begin(); it != alphabetized_commands.end(); ++it) + { + mToolBar->addCommand((*it)->id()); + } + return TRUE; } -- GitLab From 66e21e0330b2f66b986a1ed76873af9752dcf2e1 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 29 Sep 2011 17:03:36 -0700 Subject: [PATCH 075/213] * Added latest set of FUI buttons and labels according to the wiki * Hooked up commands to their respective floaters --- indra/newview/app_settings/commands.xml | 118 ++++++++++-------- .../skins/default/textures/textures.xml | 44 +++---- .../newview/skins/default/xui/en/strings.xml | 78 ++++++------ 3 files changed, 132 insertions(+), 108 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 5fbd9248c13..224c1b4b482 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -1,12 +1,28 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <commands> + <command name="aboutland" + available_in_toybox="true" + icon="Command_AboutLand_Icon" + label_ref="Command_AboutLand_Label" + tooltip_ref="Command_AboutLand_Tooltip" + function="Floater.ToolbarToggle" + parameter="about_land" + /> + <command name="appearance" + available_in_toybox="true" + icon="Command_Appearance_Icon" + label_ref="Command_Appearance_Label" + tooltip_ref="Command_Appearance_Tooltip" + function="Floater.ToolbarToggle" + parameter="appearance" + /> <command name="avatar" available_in_toybox="true" icon="Command_Avatar_Icon" label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" function="Floater.ToolbarToggle" - parameter="avatar" + parameter="avatar_picker" /> <command name="build" available_in_toybox="true" @@ -22,7 +38,7 @@ label_ref="Command_Chat_Label" tooltip_ref="Command_Chat_Tooltip" function="Floater.ToolbarToggle" - parameter="chat" + parameter="chat_bar" /> <command name="compass" available_in_toybox="false" @@ -32,6 +48,14 @@ function="Floater.ToolbarToggle" parameter="compass" /> + <command name="destinations" + available_in_toybox="true" + icon="Command_Destinations_Icon" + label_ref="Command_Destinations_Label" + tooltip_ref="Command_Destinations_Tooltip" + function="Floater.ToolbarToggle" + parameter="destinations" + /> <command name="gestures" available_in_toybox="true" icon="Command_Gestures_Icon" @@ -46,15 +70,15 @@ label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" function="Floater.ToolbarToggle" - parameter="howto" + parameter="floater_help_browser" /> - <command name="landmarks" + <command name="inventory" available_in_toybox="true" - icon="Command_Landmarks_Icon" - label_ref="Command_Landmarks_Label" - tooltip_ref="Command_Landmarks_Tooltip" + icon="Command_Inventory_Icon" + label_ref="Command_Inventory_Label" + tooltip_ref="Command_Inventory_Tooltip" function="Floater.ToolbarToggle" - parameter="landmarks" + parameter="inventory" /> <command name="map" available_in_toybox="true" @@ -62,7 +86,15 @@ label_ref="Command_Map_Label" tooltip_ref="Command_Map_Tooltip" function="Floater.ToolbarToggle" - parameter="map" + parameter="world_map" + /> + <command name="marketplace" + available_in_toybox="true" + icon="Command_Marketplace_Icon" + label_ref="Command_Marketplace_Label" + tooltip_ref="Command_Marketplace_Tooltip" + function="Floater.ToolbarToggle" + parameter="marketplace" /> <command name="minimap" available_in_toybox="true" @@ -70,7 +102,7 @@ label_ref="Command_MiniMap_Label" tooltip_ref="Command_MiniMap_Tooltip" function="Floater.ToolbarToggle" - parameter="minimap" + parameter="mini_map" /> <command name="move" available_in_toybox="true" @@ -78,23 +110,7 @@ label_ref="Command_Move_Label" tooltip_ref="Command_Move_Tooltip" function="Floater.ToolbarToggle" - parameter="move" - /> - <command name="myland" - available_in_toybox="true" - icon="Command_MyLand_Icon" - label_ref="Command_MyLand_Label" - tooltip_ref="Command_MyLand_Tooltip" - function="Floater.ToolbarToggle" - parameter="myland" - /> - <command name="mystuff" - available_in_toybox="true" - icon="Command_MyStuff_Icon" - label_ref="Command_MyStuff_Label" - tooltip_ref="Command_MyStuff_Tooltip" - function="Floater.ToolbarToggle" - parameter="mystuff" + parameter="moveview" /> <command name="people" available_in_toybox="true" @@ -112,29 +128,29 @@ function="Floater.ToolbarToggle" parameter="places" /> - <command name="search" + <command name="preferences" available_in_toybox="true" - icon="Command_Search_Icon" - label_ref="Command_Search_Label" - tooltip_ref="Command_Search_Tooltip" + icon="Command_Preferences_Icon" + label_ref="Command_Preferences_Label" + tooltip_ref="Command_Preferences_Tooltip" function="Floater.ToolbarToggle" - parameter="search" + parameter="preferences" /> - <command name="settings" + <command name="profile" available_in_toybox="true" - icon="Command_Settings_Icon" - label_ref="Command_Settings_Label" - tooltip_ref="Command_Settings_Tooltip" + icon="Command_Profile_Icon" + label_ref="Command_Profile_Label" + tooltip_ref="Command_Profile_Tooltip" function="Floater.ToolbarToggle" - parameter="settings" + parameter="profile" /> - <command name="shop" + <command name="search" available_in_toybox="true" - icon="Command_Shop_Icon" - label_ref="Command_Shop_Label" - tooltip_ref="Command_Shop_Tooltip" + icon="Command_Search_Icon" + label_ref="Command_Search_Label" + tooltip_ref="Command_Search_Tooltip" function="Floater.ToolbarToggle" - parameter="shop" + parameter="search" /> <command name="snapshot" available_in_toybox="true" @@ -152,20 +168,20 @@ function="Floater.ToolbarToggle" parameter="speak" /> - <command name="upload" - available_in_toybox="true" - icon="Command_Upload_Icon" - label_ref="Command_Upload_Label" - tooltip_ref="Command_Upload_Tooltip" - function="Floater.ToolbarToggle" - parameter="upload" - /> <command name="view" available_in_toybox="true" icon="Command_View_Icon" label_ref="Command_View_Label" tooltip_ref="Command_View_Tooltip" function="Floater.ToolbarToggle" - parameter="view" + parameter="camera" + /> + <command name="voice" + available_in_toybox="true" + icon="Command_Voice_Icon" + label_ref="Command_Voice_Label" + tooltip_ref="Command_Voice_Tooltip" + function="Floater.ToolbarToggle" + parameter="voice_controls" /> </commands> diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index be68c2873e0..57ce7fe57a7 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,27 +125,29 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> - <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Build_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Chat_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Compass_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Gestures_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_HowTo_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Landmarks_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Map_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_MiniMap_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Move_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_MyLand_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_MyStuff_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_People_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Search_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Settings_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Shop_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Snapshot_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Speak_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Upload_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_View_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_AboutLand_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Appearance_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Build_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Chat_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Compass_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Destinations_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Gestures_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_HowTo_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Inventory_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Map_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Marketplace_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_MiniMap_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Move_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_People_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Preferences_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Profile_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Search_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Snapshot_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Speak_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_View_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_Voice_Icon" file_name="icons/SL_Logo.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index feea555fdcf..158e1c711d2 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -16,16 +16,16 @@ <string name="StartupDetectingHardware">Detecting hardware...</string> <string name="StartupLoading">Loading [APP_NAME]...</string> <string name="StartupClearingCache">Clearing cache...</string> - <string name="StartupInitializingTextureCache">Initializing Texture Cache...</string> + <string name="StartupInitializingTextureCache">Initializing texture cache...</string> <string name="StartupInitializingVFS">Initializing VFS...</string> - <string name="StartupRequireDriverUpdate">Graphics Initialization Failed. Please Update Your Graphics Driver!</string> + <string name="StartupRequireDriverUpdate">Graphics initialization failed. Please update your graphics driver!</string> <!-- progress --> <string name="ProgressRestoring">Restoring...</string> - <string name="ProgressChangingResolution">Changing Resolution...</string> + <string name="ProgressChangingResolution">Changing resolution...</string> <!-- Legacy strings, almost never used --> - <string name="Fullbright">Fullbright (Legacy)</string> <!-- used in the Build > materials dropdown--> + <string name="Fullbright">Fullbright (legacy)</string> <!-- used in the Build > materials dropdown--> <!-- Login --> <string name="LoginInProgress">Logging in. [APP_NAME] may appear frozen. Please wait.</string> @@ -38,8 +38,8 @@ <string name="LoginInitializingMultimedia">Initializing multimedia...</string> <string name="LoginInitializingFonts">Loading fonts...</string> <string name="LoginVerifyingCache">Verifying cache files (can take 60-90 seconds)...</string> - <string name="LoginProcessingResponse">Processing Response...</string> - <string name="LoginInitializingWorld">Initializing World...</string> + <string name="LoginProcessingResponse">Processing response...</string> + <string name="LoginInitializingWorld">Initializing world...</string> <string name="LoginDecodingImages">Decoding images...</string> <string name="LoginInitializingQuicktime">Initializing QuickTime...</string> <string name="LoginQuicktimeNotFound">QuickTime not found - unable to initialize.</string> @@ -56,7 +56,7 @@ <string name="CertBasicConstraints">Too many certificates were in the servers Certificate chain. Please contact your Grid administrator.</string> <string name="CertInvalidSignature">The certificate signature returned by the Grid server could not be verified. Please contact your Grid administrator.</string> - <string name="LoginFailedNoNetwork">Network Error: Could not establish connection, please check your network connection.</string> + <string name="LoginFailedNoNetwork">Network error: Could not establish connection, please check your network connection.</string> <string name="LoginFailed">Login failed.</string> <string name="Quit">Quit</string> <string name="create_account_url">http://join.secondlife.com/</string> @@ -3652,47 +3652,53 @@ Try enclosing path to the editor with double quotes. <string name="ParticleHiding">Hiding Particles</string> <!-- commands --> + + <string name="Command_AboutLand_Label">About land</string> + <string name="Command_Appearance_Label">Appearance</string> <string name="Command_Avatar_Label">Avatar</string> - <string name="Command_Avatar_Tooltip">Change the appearance of your avatar</string> <string name="Command_Build_Label">Build</string> - <string name="Command_Build_Tooltip">Building, reshaping terrain</string> <string name="Command_Chat_Label">Chat</string> - <string name="Command_Chat_Tooltip">Chat with people nearby</string> <string name="Command_Compass_Label">Compass</string> - <string name="Command_Compass_Tooltip"></string> + <string name="Command_Destinations_Label">Destinations</string> <string name="Command_Gestures_Label">Gestures</string> - <string name="Command_Gestures_Tooltip"></string> - <string name="Command_HowTo_Label">How To</string> - <string name="Command_HowTo_Tooltip"></string> - <string name="Command_Landmarks_Label">Landmarks</string> - <string name="Command_Landmarks_Tooltip"></string> + <string name="Command_HowTo_Label">How to</string> + <string name="Command_Inventory_Label">Inventory</string> <string name="Command_Map_Label">Map</string> - <string name="Command_Map_Tooltip"></string> - <string name="Command_MiniMap_Label">Mini Map</string> - <string name="Command_MiniMap_Tooltip"></string> + <string name="Command_Marketplace_Label">Marketplace</string> + <string name="Command_MiniMap_Label">Mini-map</string> <string name="Command_Move_Label">Move</string> - <string name="Command_Move_Tooltip"></string> - <string name="Command_MyLand_Label">My Land</string> - <string name="Command_MyLand_Tooltip">Information about the land you're visiting</string> - <string name="Command_MyStuff_Label">My Stuff</string> - <string name="Command_MyStuff_Tooltip">View and use your belongings</string> <string name="Command_People_Label">People</string> - <string name="Command_People_Tooltip"></string> <string name="Command_Places_Label">Places</string> - <string name="Command_Places_Tooltip">Destination guide</string> + <string name="Command_Preferences_Label">Preferences</string> + <string name="Command_Profile_Label">Profile</string> <string name="Command_Search_Label">Search</string> - <string name="Command_Search_Tooltip">Find...</string> - <string name="Command_Settings_Label">Settings</string> - <string name="Command_Settings_Tooltip">Preferences</string> - <string name="Command_Shop_Label">Shop</string> - <string name="Command_Shop_Tooltip"></string> <string name="Command_Snapshot_Label">Snapshot</string> - <string name="Command_Snapshot_Tooltip">Take a picture</string> <string name="Command_Speak_Label">Speak</string> - <string name="Command_Speak_Tooltip">Speak with people nearby using your microphone</string> - <string name="Command_Upload_Label">Upload</string> - <string name="Command_Upload_Tooltip"></string> <string name="Command_View_Label">View</string> - <string name="Command_View_Tooltip">Changing your view of the world</string> + <string name="Command_Voice_Label">Nearby voice</string> + + <string name="Command_AboutLand_Tooltip">Information about the land you're visiting</string> + <string name="Command_Appearance_Tooltip">Change your avatar</string> + <string name="Command_Avatar_Tooltip">Choose a complete avatar</string> + <string name="Command_Build_Tooltip">Building objects and reshaping them</string> + <string name="Command_Chat_Tooltip">Chat with people nearby using text</string> + <string name="Command_Compass_Tooltip">Compass</string> + <string name="Command_Destinations_Tooltip">Destinations of interest</string> + <string name="Command_Gestures_Tooltip">Gestures for your avatar</string> + <string name="Command_HowTo_Tooltip">How to do common tasks</string> + <string name="Command_Inventory_Tooltip">View and use your belongings</string> + <string name="Command_Map_Tooltip">Map of the world</string> + <string name="Command_Marketplace_Tooltip">Go shopping</string> + <string name="Command_MiniMap_Tooltip">Show nearby people</string> + <string name="Command_Move_Tooltip">Moving your avatar</string> + <string name="Command_People_Tooltip">Friends, groups, and nearby people</string> + <string name="Command_Places_Tooltip">Places you've saved</string> + <string name="Command_Preferences_Tooltip">Preferences</string> + <string name="Command_Profile_Tooltip">Edit or view your profile</string> + <string name="Command_Search_Tooltip">Find places, events, people</string> + <string name="Command_Snapshot_Tooltip">Take a picture</string> + <string name="Command_Speak_Tooltip">Speak with people nearby using your microphone</string> + <string name="Command_View_Tooltip">Changing camera angle</string> + <string name="Command_Voice_Tooltip">People nearby with voice capability</string> </strings> -- GitLab From 8fa45941b6ce99c462f19628a17d4db2396286b9 Mon Sep 17 00:00:00 2001 From: leyla_linden <none@none> Date: Fri, 30 Sep 2011 10:00:49 -0700 Subject: [PATCH 076/213] EXP-1264 Chat log shows as blank if closing viewer with chat log open and then opening chat floater on next login EXP-1271 Remove UI hints --- indra/llui/llfloater.h | 2 +- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llnearbychatbar.cpp | 17 ++++++++++++++--- indra/newview/llnearbychatbar.h | 4 ++++ 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 58c2d342530..fba59e82e1e 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -293,7 +293,7 @@ friend class LLMultiFloater; protected: virtual void applySavedVariables(); - void applyRectControl(); + virtual void applyRectControl(); void applyDockState(); void storeRectControl(); void storeVisibilityControl(); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 148b80e817c..1abea6c8839 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -3190,7 +3190,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>1</integer> + <integer>0</integer> </map> <key>EnableVoiceChat</key> <map> diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 258aa9a8bf6..dbe30e18472 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -451,6 +451,16 @@ BOOL LLNearbyChatBar::postBuild() return TRUE; } +void LLNearbyChatBar::applyRectControl() +{ + LLFloater::applyRectControl(); + if (getRect().getHeight() > getMinHeight()) + { + getChildView("nearby_chat")->setVisible(true); + mExpandedHeight = getRect().getHeight(); + } +} + void LLNearbyChatBar::onChatFontChange(LLFontGL* fontp) { // Update things with the new font whohoo @@ -690,14 +700,15 @@ void LLNearbyChatBar::onToggleNearbyChatPanel() if (nearby_chat->getVisible()) { + mExpandedHeight = getRect().getHeight(); nearby_chat->setVisible(FALSE); - reshape(getRect().getWidth(), 60); - mResizeHandle[0]->setMaxHeight(60); + reshape(getRect().getWidth(), getMinHeight()); + mResizeHandle[0]->setMaxHeight(getMinHeight()); } else { nearby_chat->setVisible(TRUE); - reshape(getRect().getWidth(), 360); + reshape(getRect().getWidth(), mExpandedHeight); mResizeHandle[0]->setMaxHeight(S32_MAX); } } diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index 1d28a21ef3c..0415f12a0d0 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -127,6 +127,8 @@ class LLNearbyChatBar void onChatBoxCommit(); void onChatFontChange(LLFontGL* fontp); + /* virtual */ void applyRectControl(); + void onToggleNearbyChatPanel(); static LLWString stripChannelNumber(const LLWString &mesg, S32* channel); @@ -140,6 +142,8 @@ class LLNearbyChatBar LLLineEditor* mChatBox; LLOutputMonitorCtrl* mOutputMonitor; LLLocalSpeakerMgr* mSpeakerMgr; + + S32 mExpandedHeight; }; #endif -- GitLab From ccd619013d851b5a63976205ea06002e92d7f468 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 30 Sep 2011 13:37:03 -0700 Subject: [PATCH 077/213] Found and removed duplicate command icon definitions. --- .../skins/default/textures/textures.xml | 68 +++++++------------ 1 file changed, 23 insertions(+), 45 deletions(-) diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 57ce7fe57a7..4462fb792f5 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,29 +125,29 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> - <texture name="Command_AboutLand_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Appearance_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Avatar_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Build_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Chat_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Compass_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Destinations_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Gestures_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_HowTo_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Inventory_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Map_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Marketplace_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_MiniMap_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Move_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_People_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Places_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Preferences_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Profile_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Search_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Snapshot_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Speak_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_View_Icon" file_name="icons/SL_Logo.png" preload="true" /> - <texture name="Command_Voice_Icon" file_name="icons/SL_Logo.png" preload="true" /> + <texture name="Command_AboutLand_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Appearance_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Build_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Chat_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Compass_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Destinations_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Gestures_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_HowTo_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Inventory_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Map_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Marketplace_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_MiniMap_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Move_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_People_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Preferences_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Profile_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Search_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Snapshot_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Speak_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_View_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_Voice_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> @@ -762,26 +762,4 @@ with the same filename but different name <texture name="Popup_Caution" file_name="icons/pop_up_caution.png"/> <texture name="Camera_Drag_Dot" file_name="world/CameraDragDot.png"/> - <texture name="Command_Avatar_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Build_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Chat_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Compass_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Gestures_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_HowTo_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Landmarks_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Map_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_MiniMap_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Move_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_MyLand_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_MyStuff_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_People_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Places_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Search_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Settings_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Shop_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Snapshot_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Speak_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_Upload_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - <texture name="Command_View_Icon" file_name="taskpanel/TabIcon_Home_Off.png"/> - </textures> -- GitLab From cdc80b1dd34ef533d7500bf1ab89abf3c5d81bb3 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 30 Sep 2011 15:25:02 -0700 Subject: [PATCH 078/213] EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all buttons that I can d&d into the toolbars EXP-1268 FIX -- The "Restore Defaults" button should reset the left/right/bottom toolbars to their default states * LLToolBarView::loadDefaultToolbars now a static function * Toybox button callback hooked up to properly restore defaults Reviewed by Merov --- indra/llui/lltoolbarview.cpp | 15 ++++++++++++++- indra/llui/lltoolbarview.h | 3 ++- indra/newview/llfloatertoybox.cpp | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 1c6cf3230b1..12247519ad7 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -114,7 +114,7 @@ bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar) } bool LLToolBarView::loadToolbars(bool force_default) -{ +{ LLToolBarView::ToolbarSet toolbar_set; // Load the toolbars.xml file @@ -204,6 +204,19 @@ bool LLToolBarView::loadToolbars(bool force_default) return true; } +//static +bool LLToolBarView::loadDefaultToolbars() +{ + bool retval = false; + + if (gToolBarView) + { + retval = gToolBarView->loadToolbars(true); + } + + return retval; +} + void LLToolBarView::saveToolbars() const { // Build the parameter tree from the toolbar data diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index efe6920db8a..95c09ece735 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -72,7 +72,8 @@ class LLToolBarView : public LLUICtrl bool hasCommand(const LLCommandId& commandId) const; // Loads the toolbars from the existing user or default settings bool loadToolbars(bool force_default = false); // return false if load fails - bool loadDefaultToolbars() { return loadToolbars(true); } + + static bool loadDefaultToolbars(); protected: friend class LLUICtrlFactory; diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index d7f114043d1..7a6afb4e33a 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -61,6 +61,8 @@ BOOL LLFloaterToybox::postBuild() center(); mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); + mBtnRestoreDefaults->setCommitCallback(boost::bind(&LLToolBarView::loadDefaultToolbars)); + mToolBar = getChild<LLToolBar>("toybox_toolbar"); LLCommandManager& cmdMgr = LLCommandManager::instance(); -- GitLab From 462f6a00285a92701ecba7cf69d5236f337e0781 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 30 Sep 2011 15:25:41 -0700 Subject: [PATCH 079/213] * Updated howto and profile windows to point to different buttons. Web content is still problematic for FUI floaters. --- indra/newview/app_settings/commands.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 224c1b4b482..77bf7cace3e 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -70,7 +70,7 @@ label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" function="Floater.ToolbarToggle" - parameter="floater_help_browser" + parameter="help_browser" /> <command name="inventory" available_in_toybox="true" @@ -142,7 +142,7 @@ label_ref="Command_Profile_Label" tooltip_ref="Command_Profile_Tooltip" function="Floater.ToolbarToggle" - parameter="profile" + parameter="my_profile" /> <command name="search" available_in_toybox="true" -- GitLab From 6fe4815217a11a36aa2e2b1d8b040eff007bb631 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 30 Sep 2011 15:26:48 -0700 Subject: [PATCH 080/213] Updated FUI floater toggle function to handle closing windows that are initialized with chrome. --- indra/llui/llfloaterreg.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index 8a0513f2465..27e96856b3e 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -483,7 +483,7 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) { showInstance(name, key, TRUE); } - else if (!instance->hasFocus()) + else if (!instance->hasFocus() && !instance->getIsChrome()) { instance->setFocus(TRUE); } -- GitLab From 09e179b2381a4db03309839babae664feb9b0886 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 30 Sep 2011 16:57:08 -0700 Subject: [PATCH 081/213] param block cleanup added Flag as value type moved Batch to BatchBlock renamed Choice to ChoiceBlock made merging of parameters for ValueParams consistent (fillFrom and overwriteFrom are inverses of each other now) made iteration over Multiple<T> type params easier initial schema param blocks --- indra/llui/lllineeditor.h | 2 +- indra/llui/llloadingindicator.cpp | 7 +- indra/llui/llloadingindicator.h | 4 +- indra/llui/llnotifications.h | 4 +- indra/llui/llnotificationtemplate.h | 4 +- indra/llui/llnotificationvisibilityrule.h | 2 +- indra/llui/llscrolllistcolumn.h | 4 +- indra/llui/llsdparam.cpp | 6 +- indra/llui/llsdparam.h | 4 +- indra/llui/lltextbase.h | 2 +- indra/llui/lltoolbar.cpp | 6 +- indra/llui/lltoolbarview.h | 4 - indra/llui/llui.cpp | 4 +- indra/llui/llui.h | 2 +- indra/llui/lluicolortable.h | 2 +- indra/llui/lluictrl.h | 4 +- indra/llui/lluictrlfactory.h | 6 +- indra/llui/llview.h | 2 +- indra/llxuixml/llinitparam.cpp | 2 +- indra/llxuixml/llinitparam.h | 452 ++++++++---------- indra/llxuixml/llxuiparser.cpp | 140 +++++- indra/llxuixml/llxuiparser.h | 6 +- indra/newview/llnamelistctrl.h | 2 +- .../default/xui/en/panel_toolbar_view.xml | 3 - .../skins/default/xui/en/widgets/toolbar.xml | 1 + 25 files changed, 377 insertions(+), 298 deletions(-) diff --git a/indra/llui/lllineeditor.h b/indra/llui/lllineeditor.h index 583bde360a3..2518dbe3c73 100644 --- a/indra/llui/lllineeditor.h +++ b/indra/llui/lllineeditor.h @@ -60,7 +60,7 @@ class LLLineEditor typedef boost::function<void (LLLineEditor* caller)> keystroke_callback_t; - struct MaxLength : public LLInitParam::Choice<MaxLength> + struct MaxLength : public LLInitParam::ChoiceBlock<MaxLength> { Alternative<S32> bytes, chars; diff --git a/indra/llui/llloadingindicator.cpp b/indra/llui/llloadingindicator.cpp index c4eec1835cd..6ac38f5ad40 100644 --- a/indra/llui/llloadingindicator.cpp +++ b/indra/llui/llloadingindicator.cpp @@ -34,6 +34,7 @@ // Project includes #include "lluictrlfactory.h" #include "lluiimage.h" +#include "boost/foreach.hpp" // registered in llui.cpp to avoid being left out by MS linker //static LLDefaultChildRegistry::Register<LLLoadingIndicator> r("loading_indicator"); @@ -51,11 +52,9 @@ LLLoadingIndicator::LLLoadingIndicator(const Params& p) void LLLoadingIndicator::initFromParams(const Params& p) { - for (LLInitParam::ParamIterator<LLUIImage*>::const_iterator it = p.images().image.begin(), end_it = p.images().image.end(); - it != end_it; - ++it) + BOOST_FOREACH(LLUIImage* image, p.images.image) { - mImages.push_back(it->getValue()); + mImages.push_back(image); } // Start timer for switching images. diff --git a/indra/llui/llloadingindicator.h b/indra/llui/llloadingindicator.h index 7c444788483..c1f979c1113 100644 --- a/indra/llui/llloadingindicator.h +++ b/indra/llui/llloadingindicator.h @@ -51,7 +51,7 @@ class LLLoadingIndicator LOG_CLASS(LLLoadingIndicator); public: - struct Images : public LLInitParam::Block<Images> + struct Images : public LLInitParam::BatchBlock<Images> { Multiple<LLUIImage*> image; @@ -63,7 +63,7 @@ class LLLoadingIndicator struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { Optional<F32> images_per_sec; - Batch<Images> images; + Optional<Images> images; Params() : images_per_sec("images_per_sec", 1.0f), diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h index 0c4d4fc897a..462d69be2e1 100644 --- a/indra/llui/llnotifications.h +++ b/indra/llui/llnotifications.h @@ -201,7 +201,7 @@ class LLNotificationForm FormInput(); }; - struct FormElement : public LLInitParam::Choice<FormElement> + struct FormElement : public LLInitParam::ChoiceBlock<FormElement> { Alternative<FormButton> button; Alternative<FormInput> input; @@ -312,7 +312,7 @@ friend class LLNotifications; Optional<LLNotificationContext*> context; Optional<void*> responder; - struct Functor : public LLInitParam::Choice<Functor> + struct Functor : public LLInitParam::ChoiceBlock<Functor> { Alternative<std::string> name; Alternative<LLNotificationFunctorRegistry::ResponseFunctor> function; diff --git a/indra/llui/llnotificationtemplate.h b/indra/llui/llnotificationtemplate.h index ab777d37a5f..fb50c9c1233 100644 --- a/indra/llui/llnotificationtemplate.h +++ b/indra/llui/llnotificationtemplate.h @@ -91,7 +91,7 @@ struct LLNotificationTemplate // <notification> <unique/> </notification> // as well as // <notification> <unique> <context></context> </unique>... - Flag dummy_val; + Optional<LLInitParam::Flag> dummy_val; public: Multiple<UniquenessContext> contexts; @@ -147,7 +147,7 @@ struct LLNotificationTemplate {} }; - struct FormRef : public LLInitParam::Choice<FormRef> + struct FormRef : public LLInitParam::ChoiceBlock<FormRef> { Alternative<LLNotificationForm::Params> form; Alternative<TemplateRef> form_template; diff --git a/indra/llui/llnotificationvisibilityrule.h b/indra/llui/llnotificationvisibilityrule.h index 78bdec2a8f3..78788a275c7 100644 --- a/indra/llui/llnotificationvisibilityrule.h +++ b/indra/llui/llnotificationvisibilityrule.h @@ -59,7 +59,7 @@ struct LLNotificationVisibilityRule {} }; - struct Rule : public LLInitParam::Choice<Rule> + struct Rule : public LLInitParam::ChoiceBlock<Rule> { Alternative<Filter> show; Alternative<Filter> hide; diff --git a/indra/llui/llscrolllistcolumn.h b/indra/llui/llscrolllistcolumn.h index 12baea8e0c4..b4d4a6d05e7 100644 --- a/indra/llui/llscrolllistcolumn.h +++ b/indra/llui/llscrolllistcolumn.h @@ -95,7 +95,7 @@ class LLScrollListColumn Optional<ESortDirection, SortNames> sort_direction; Optional<bool> sort_ascending; - struct Width : public LLInitParam::Choice<Width> + struct Width : public LLInitParam::ChoiceBlock<Width> { Alternative<bool> dynamic_width; Alternative<S32> pixel_width; @@ -112,7 +112,7 @@ class LLScrollListColumn Optional<Width> width; // either an image or label is used in column header - struct Header : public LLInitParam::Choice<Header> + struct Header : public LLInitParam::ChoiceBlock<Header> { Alternative<std::string> label; Alternative<LLUIImage*> image; diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index 04919e69916..4b69360e330 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -45,7 +45,7 @@ LLParamSDParser::LLParamSDParser() if (sReadFuncs.empty()) { - registerParserFuncs<LLInitParam::NoParamValue>(readNoValue, &LLParamSDParser::writeNoValue); + registerParserFuncs<LLInitParam::Flag>(readFlag, &LLParamSDParser::writeFlag); registerParserFuncs<S32>(readS32, &LLParamSDParser::writeTypedValue<S32>); registerParserFuncs<U32>(readU32, &LLParamSDParser::writeU32Param); registerParserFuncs<F32>(readF32, &LLParamSDParser::writeTypedValue<F32>); @@ -72,7 +72,7 @@ bool LLParamSDParser::writeU32Param(LLParamSDParser::parser_t& parser, const voi return true; } -bool LLParamSDParser::writeNoValue(LLParamSDParser::parser_t& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) +bool LLParamSDParser::writeFlag(LLParamSDParser::parser_t& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) { LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; @@ -226,7 +226,7 @@ LLSD* LLParamSDParser::getSDWriteNode(const parser_t::name_stack_t& name_stack) return sd_to_write; } -bool LLParamSDParser::readNoValue(Parser& parser, void* val_ptr) +bool LLParamSDParser::readFlag(Parser& parser, void* val_ptr) { LLParamSDParser& self = static_cast<LLParamSDParser&>(parser); return self.mCurReadSD == &NO_VALUE_MARKER; diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h index f776c781b33..a371c28f68e 100644 --- a/indra/llui/llsdparam.h +++ b/indra/llui/llsdparam.h @@ -63,9 +63,9 @@ typedef LLInitParam::Parser parser_t; LLSD* getSDWriteNode(const parser_t::name_stack_t& name_stack); static bool writeU32Param(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); - static bool writeNoValue(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); + static bool writeFlag(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); - static bool readNoValue(Parser& parser, void* val_ptr); + static bool readFlag(Parser& parser, void* val_ptr); static bool readS32(Parser& parser, void* val_ptr); static bool readU32(Parser& parser, void* val_ptr); static bool readF32(Parser& parser, void* val_ptr); diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h index 7d545a1ba61..384d9116fc0 100644 --- a/indra/llui/lltextbase.h +++ b/indra/llui/lltextbase.h @@ -237,7 +237,7 @@ class LLTextBase friend class LLNormalTextSegment; friend class LLUICtrlFactory; - struct LineSpacingParams : public LLInitParam::Choice<LineSpacingParams> + struct LineSpacingParams : public LLInitParam::ChoiceBlock<LineSpacingParams> { Alternative<F32> multiple; Alternative<S32> pixels; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index caad896a069..d940bed9056 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -185,7 +185,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) LLPanel::Params button_panel_p(p.button_panel); button_panel_p.rect = center_panel->getLocalRect(); - button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; + button_panel_p.follows.flags = FOLLOWS_BOTTOM|FOLLOWS_LEFT; mButtonPanel = LLUICtrlFactory::create<LLPanel>(button_panel_p); center_panel->addChild(mButtonPanel); @@ -558,8 +558,8 @@ BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) LLToolBar* bar = getParentByType<LLToolBar>(); if (view) { - view->startDrag(bar->createButton(mId)); - setVisible(FALSE); + //view->startDrag(bar->createButton(mId)); + //setVisible(FALSE); } } } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index ea3422f04e2..dd2bbf0e498 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -65,10 +65,6 @@ class LLToolBarView : public LLUICtrl virtual ~LLToolBarView(); virtual BOOL postBuild(); virtual void draw(); - virtual BOOL handleHover(S32 x, S32 y, MASK mask); - virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); - virtual void onMouseCaptureLost(); - void startDrag(LLToolBarButton*); // Toolbar view interface with the rest of the world // Checks if the commandId is being used somewhere in one of the toolbars bool hasCommand(const LLCommandId& commandId) const; diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 4f129ccfba1..76a12e649b4 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -2107,7 +2107,7 @@ namespace LLInitParam void ParamValue<LLUIColor, TypeValues<LLUIColor> >::updateValueFromBlock() { - if (control.isProvided()) + if (control.isProvided() && !control().empty()) { updateValue(LLUIColorTable::instance().getColor(control)); } @@ -2264,9 +2264,11 @@ namespace LLInitParam // in this case, that is left+width and bottom+height LLRect& value = getValue(); + right.set(value.mRight, false); left.set(value.mLeft, make_block_authoritative); width.set(value.getWidth(), make_block_authoritative); + top.set(value.mTop, false); bottom.set(value.mBottom, make_block_authoritative); height.set(value.getHeight(), make_block_authoritative); } diff --git a/indra/llui/llui.h b/indra/llui/llui.h index 7801a01aceb..3afb7c65a90 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -365,7 +365,7 @@ template <typename T> LLRegisterWith<LLInitClassList> LLInitClass<T>::sRegister( template <typename T> LLRegisterWith<LLDestroyClassList> LLDestroyClass<T>::sRegister(&T::destroyClass); // useful parameter blocks -struct TimeIntervalParam : public LLInitParam::Choice<TimeIntervalParam> +struct TimeIntervalParam : public LLInitParam::ChoiceBlock<TimeIntervalParam> { Alternative<F32> seconds; Alternative<S32> frames; diff --git a/indra/llui/lluicolortable.h b/indra/llui/lluicolortable.h index 76518789ec0..6a7a681d57a 100644 --- a/indra/llui/lluicolortable.h +++ b/indra/llui/lluicolortable.h @@ -44,7 +44,7 @@ LOG_CLASS(LLUIColorTable); typedef std::map<std::string, LLUIColor> string_color_map_t; public: - struct ColorParams : LLInitParam::Choice<ColorParams> + struct ColorParams : LLInitParam::ChoiceBlock<ColorParams> { Alternative<LLColor4> value; Alternative<std::string> reference; diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index fc56e5fc35f..a8a4e3191d0 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -76,14 +76,14 @@ class LLUICtrl Optional<enable_callback_t> function; }; - struct EnableControls : public LLInitParam::Choice<EnableControls> + struct EnableControls : public LLInitParam::ChoiceBlock<EnableControls> { Alternative<std::string> enabled; Alternative<std::string> disabled; EnableControls(); }; - struct ControlVisibility : public LLInitParam::Choice<ControlVisibility> + struct ControlVisibility : public LLInitParam::ChoiceBlock<ControlVisibility> { Alternative<std::string> visible; Alternative<std::string> invisible; diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h index 71c38237c19..d612ad5005d 100644 --- a/indra/llui/lluictrlfactory.h +++ b/indra/llui/lluictrlfactory.h @@ -125,12 +125,12 @@ class LLUICtrlFactory : public LLSingleton<LLUICtrlFactory> // base case for recursion, there are NO base classes of LLInitParam::BaseBlock template<int DUMMY> - class ParamDefaults<LLInitParam::BaseBlockWithFlags, DUMMY> : public LLSingleton<ParamDefaults<LLInitParam::BaseBlockWithFlags, DUMMY> > + class ParamDefaults<LLInitParam::BaseBlock, DUMMY> : public LLSingleton<ParamDefaults<LLInitParam::BaseBlock, DUMMY> > { public: - const LLInitParam::BaseBlockWithFlags& get() { return mBaseBlock; } + const LLInitParam::BaseBlock& get() { return mBaseBlock; } private: - LLInitParam::BaseBlockWithFlags mBaseBlock; + LLInitParam::BaseBlock mBaseBlock; }; public: diff --git a/indra/llui/llview.h b/indra/llui/llview.h index f4e31b109a3..a1c46f3bf3a 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -98,7 +98,7 @@ class LLViewDrawContext class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElement { public: - struct Follows : public LLInitParam::Choice<Follows> + struct Follows : public LLInitParam::ChoiceBlock<Follows> { Alternative<std::string> string; Alternative<U32> flags; diff --git a/indra/llxuixml/llinitparam.cpp b/indra/llxuixml/llinitparam.cpp index c024fd405e7..99016205c85 100644 --- a/indra/llxuixml/llinitparam.cpp +++ b/indra/llxuixml/llinitparam.cpp @@ -365,7 +365,7 @@ namespace LLInitParam // verify by calling readValue with NoParamValue type, an inherently unparseable type if (!names_left) { - NoParamValue no_value; + Flag no_value; return p.readValue(no_value); } diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 69dcd474f7d..9a6ded47ffe 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -38,6 +38,9 @@ namespace LLInitParam { + // used to indicate no matching value to a given name when parsing + struct Flag{}; + template<typename T> const T& defaultValue() { static T value; return value; } template <typename T, bool IS_BOOST_FUNCTION = boost::is_convertible<T, boost::function_base>::value > @@ -65,6 +68,12 @@ namespace LLInitParam static bool equals(const LLSD &a, const LLSD &b) { return false; } }; + template<> + struct ParamCompare<Flag, false> + { + static bool equals(const Flag& a, const Flag& b) { return false; } + }; + // helper functions and classes typedef ptrdiff_t param_handle_t; @@ -275,9 +284,6 @@ namespace LLInitParam static S32 sNextParseGeneration; }; - // used to indicate no matching value to a given name when parsing - struct NoParamValue{}; - class BaseBlock; class Param @@ -385,36 +391,36 @@ namespace LLInitParam // "Multiple" constraint types, put here in root class to avoid ambiguity during use struct AnyAmount { - static U32 minCount() { return 0; } - static U32 maxCount() { return U32_MAX; } + enum { minCount = 0 }; + enum { maxCount = U32_MAX }; }; template<U32 MIN_AMOUNT> struct AtLeast { - static U32 minCount() { return MIN_AMOUNT; } - static U32 maxCount() { return U32_MAX; } + enum { minCount = MIN_AMOUNT }; + enum { maxCount = U32_MAX }; }; template<U32 MAX_AMOUNT> struct AtMost { - static U32 minCount() { return 0; } - static U32 maxCount() { return MAX_AMOUNT; } + enum { minCount = 0 }; + enum { maxCount = MAX_AMOUNT }; }; template<U32 MIN_AMOUNT, U32 MAX_AMOUNT> struct Between { - static U32 minCount() { return MIN_AMOUNT; } - static U32 maxCount() { return MAX_AMOUNT; } + enum { minCount = MIN_AMOUNT }; + enum { maxCount = MAX_AMOUNT }; }; template<U32 EXACT_COUNT> struct Exactly { - static U32 minCount() { return EXACT_COUNT; } - static U32 maxCount() { return EXACT_COUNT; } + enum { minCount = EXACT_COUNT }; + enum { maxCount = EXACT_COUNT }; }; // this typedef identifies derived classes as being blocks @@ -477,9 +483,9 @@ namespace LLInitParam void init(BlockDescriptor& descriptor, BlockDescriptor& base_descriptor, size_t block_size); - bool mergeBlockParam(bool param_provided, BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) + bool mergeBlockParam(bool source_provided, bool dst_provided, BlockDescriptor& block_data, const BaseBlock& source, bool overwrite) { - return mergeBlock(block_data, other, overwrite); + return mergeBlock(block_data, source, overwrite); } // take all provided params from other and apply to self bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite); @@ -497,92 +503,6 @@ namespace LLInitParam const std::string& getParamName(const BlockDescriptor& block_data, const Param* paramp) const; }; - class BaseBlockWithFlags : public BaseBlock - { - public: - class FlagBase : public Param - { - public: - typedef FlagBase self_t; - - FlagBase(const char* name, BaseBlock* enclosing_block) : Param(enclosing_block) - { - if (LL_UNLIKELY(enclosing_block->mostDerivedBlockDescriptor().mInitializationState == BlockDescriptor::INITIALIZING)) - { - ParamDescriptorPtr param_descriptor = ParamDescriptorPtr(new ParamDescriptor( - enclosing_block->getHandleFromParam(this), - &mergeWith, - &deserializeParam, - &serializeParam, - NULL, - &inspectParam, - 0, 1)); - BaseBlock::addParam(enclosing_block->mostDerivedBlockDescriptor(), param_descriptor, name); - } - } - - bool isProvided() const { return anyProvided(); } - - private: - static bool mergeWith(Param& dst, const Param& src, bool overwrite) - { - const self_t& src_typed_param = static_cast<const self_t&>(src); - self_t& dst_typed_param = static_cast<self_t&>(dst); - - if (src_typed_param.isProvided() - && (overwrite || !dst_typed_param.isProvided())) - { - dst.setProvided(true); - return true; - } - return false; - } - - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) - { - self_t& typed_param = static_cast<self_t&>(param); - - // no further names in stack, parse value now - if (name_stack.first == name_stack.second) - { - typed_param.setProvided(true); - typed_param.enclosingBlock().paramChanged(param, true); - return true; - } - - return false; - } - - static void serializeParam(const Param& param, Parser& parser, Parser::name_stack_t& name_stack, const Param* diff_param) - { - const self_t& typed_param = static_cast<const self_t&>(param); - const self_t* typed_diff_param = static_cast<const self_t*>(diff_param); - - if (!typed_param.isProvided()) return; - - if (!name_stack.empty()) - { - name_stack.back().second = parser.newParseGeneration(); - } - - // then try to serialize value directly - if (!typed_diff_param || !typed_diff_param->isProvided()) - { - if (!parser.writeValue(NoParamValue(), name_stack)) - { - return; - } - } - } - - static void inspectParam(const Param& param, Parser& parser, Parser::name_stack_t& name_stack, S32 min_count, S32 max_count) - { - // tell parser about our actual type - parser.inspectValue<NoParamValue>(name_stack, min_count, max_count, NULL); - } - }; - }; - // these templates allow us to distinguish between template parameters // that derive from BaseBlock and those that don't template<typename T, typename Void = void> @@ -604,7 +524,7 @@ namespace LLInitParam typedef const T& value_assignment_t; ParamValue(): mValue() {} - ParamValue(const T& other) : mValue(other) {} + ParamValue(value_assignment_t other) : mValue(other) {} void setValue(value_assignment_t val) { @@ -621,6 +541,17 @@ namespace LLInitParam return mValue; } + operator value_assignment_t() const + { + return mValue; + } + + value_assignment_t operator()() const + { + return mValue; + } + + private: T mValue; }; @@ -644,7 +575,7 @@ namespace LLInitParam mValidated(false) {} - ParamValue(const T& other) + ParamValue(value_assignment_t other) : T(other), mKeyVersion(0), mValidatedVersion(-1), @@ -666,6 +597,16 @@ namespace LLInitParam { return *this; } + + operator value_assignment_t() const + { + return *this; + } + + value_assignment_t operator()() const + { + return *this; + } }; template<typename T, typename NAME_VALUE_LOOKUP = TypeValues<T> > @@ -801,11 +742,6 @@ namespace LLInitParam Param::enclosingBlock().paramChanged(*this, flag_as_provided); } - // implicit conversion - operator value_assignment_t() const { return param_value_t::getValue(); } - // explicit conversion - value_assignment_t operator()() const { return param_value_t::getValue(); } - protected: static bool mergeWith(Param& dst, const Param& src, bool overwrite) @@ -958,11 +894,6 @@ namespace LLInitParam } } - // implicit conversion - operator value_assignment_t() const { return param_value_t::getValue(); } - // explicit conversion - value_assignment_t operator()() const { return param_value_t::getValue(); } - protected: static bool mergeWith(Param& dst, const Param& src, bool overwrite) @@ -972,8 +903,7 @@ namespace LLInitParam if (src_typed_param.anyProvided()) { - bool param_provided = src_typed_param.isProvided() && (overwrite || !dst_typed_param.isProvided()); - if (dst_typed_param.mergeBlockParam(param_provided, param_value_t::selfBlockDescriptor(), src_typed_param, overwrite)) + if (dst_typed_param.mergeBlockParam(src_typed_param.isProvided(), dst_typed_param.isProvided(), param_value_t::selfBlockDescriptor(), src_typed_param, overwrite)) { dst_typed_param.clearValueName(); dst_typed_param.setProvided(true); @@ -992,8 +922,8 @@ namespace LLInitParam { public: typedef TypedParam<VALUE_TYPE, NAME_VALUE_LOOKUP, true, false> self_t; - typedef ParamValue<VALUE_TYPE, NAME_VALUE_LOOKUP> param_value_t; - typedef typename std::vector<param_value_t> container_t; + typedef ParamValue<VALUE_TYPE, NAME_VALUE_LOOKUP> param_value_t; + typedef typename std::vector<param_value_t> container_t; typedef const container_t& value_assignment_t; typedef VALUE_TYPE value_t; @@ -1118,6 +1048,8 @@ namespace LLInitParam // implicit conversion operator value_assignment_t() const { return mValues; } + // explicit conversion + value_assignment_t operator()() const { return mValues; } typedef typename container_t::iterator iterator; typedef typename container_t::const_iterator const_iterator; @@ -1169,7 +1101,7 @@ namespace LLInitParam public: typedef TypedParam<VALUE_TYPE, NAME_VALUE_LOOKUP, true, true> self_t; typedef ParamValue<VALUE_TYPE, NAME_VALUE_LOOKUP> param_value_t; - typedef typename std::vector<param_value_t> container_t; + typedef typename std::vector<param_value_t> container_t; typedef const container_t& value_assignment_t; typedef VALUE_TYPE value_t; typedef NAME_VALUE_LOOKUP name_value_lookup_t; @@ -1308,6 +1240,8 @@ namespace LLInitParam // implicit conversion operator value_assignment_t() const { return mValues; } + // explicit conversion + value_assignment_t operator()() const { return mValues; } typedef typename container_t::iterator iterator; typedef typename container_t::const_iterator const_iterator; @@ -1363,10 +1297,10 @@ namespace LLInitParam }; template <typename DERIVED_BLOCK> - class Choice : public BaseBlock + class ChoiceBlock : public BaseBlock { - typedef Choice<DERIVED_BLOCK> self_t; - typedef Choice<DERIVED_BLOCK> enclosing_block_t; + typedef ChoiceBlock<DERIVED_BLOCK> self_t; + typedef ChoiceBlock<DERIVED_BLOCK> enclosing_block_t; LOG_CLASS(self_t); public: @@ -1382,11 +1316,13 @@ namespace LLInitParam return mergeBlock(selfBlockDescriptor(), other, false); } - bool mergeBlockParam(bool param_provided, BlockDescriptor& block_data, const self_t& other, bool overwrite) + bool mergeBlockParam(bool source_provided, bool dest_provided, BlockDescriptor& block_data, const self_t& source, bool overwrite) { - if (param_provided) + bool source_override = source_provided && (overwrite || !dest_provided); + + if (source_override || source.mCurChoice == mCurChoice) { - return mergeBlock(block_data, other, overwrite); + return mergeBlock(block_data, source, overwrite); } return false; } @@ -1420,7 +1356,7 @@ namespace LLInitParam virtual BlockDescriptor& mostDerivedBlockDescriptor() { return selfBlockDescriptor(); } protected: - Choice() + ChoiceBlock() : mCurChoice(0) { BaseBlock::init(selfBlockDescriptor(), BaseBlock::selfBlockDescriptor(), sizeof(DERIVED_BLOCK)); @@ -1433,13 +1369,13 @@ namespace LLInitParam class Alternative : public TypedParam<T, NAME_VALUE_LOOKUP, false> { public: - friend class Choice<DERIVED_BLOCK>; + friend class ChoiceBlock<DERIVED_BLOCK>; typedef Alternative<T, NAME_VALUE_LOOKUP> self_t; typedef TypedParam<T, NAME_VALUE_LOOKUP, false, IsBlock<ParamValue<T, NAME_VALUE_LOOKUP> >::value> super_t; typedef typename super_t::value_assignment_t value_assignment_t; - explicit Alternative(const char* name, value_assignment_t val = defaultValue<T>()) + explicit Alternative(const char* name = "", value_assignment_t val = defaultValue<T>()) : super_t(DERIVED_BLOCK::selfBlockDescriptor(), name, val, NULL, 0, 1), mOriginalValue(val) { @@ -1454,10 +1390,19 @@ namespace LLInitParam } } - Alternative& operator=(value_assignment_t val) + void choose() + { + static_cast<enclosing_block_t&>(Param::enclosingBlock()).paramChanged(*this, true); + } + + void chooseAs(value_assignment_t val) + { + super_t::set(val); + } + + void operator=(value_assignment_t val) { super_t::set(val); - return *this; } void operator()(typename super_t::value_assignment_t val) @@ -1466,12 +1411,8 @@ namespace LLInitParam } operator value_assignment_t() const - { - if (static_cast<enclosing_block_t&>(Param::enclosingBlock()).getCurrentChoice() == this) - { - return super_t::getValue(); - } - return mOriginalValue; + { + return (*this)(); } value_assignment_t operator()() const @@ -1508,7 +1449,7 @@ namespace LLInitParam } }; - template <typename DERIVED_BLOCK, typename BASE_BLOCK = BaseBlockWithFlags> + template <typename DERIVED_BLOCK, typename BASE_BLOCK = BaseBlock> class Block : public BASE_BLOCK { @@ -1604,13 +1545,6 @@ namespace LLInitParam }; - class Flag : public BaseBlockWithFlags::FlagBase - { - public: - Flag(const char* name) : FlagBase(name, DERIVED_BLOCK::selfBlockDescriptor().mCurrentBlockPtr) - {} - }; - template <typename T, typename RANGE = BaseBlock::AnyAmount, typename NAME_VALUE_LOOKUP = TypeValues<T> > class Multiple : public TypedParam<T, NAME_VALUE_LOOKUP, true> { @@ -1623,7 +1557,7 @@ namespace LLInitParam typedef typename super_t::const_iterator const_iterator; explicit Multiple(const char* name = "") - : super_t(DERIVED_BLOCK::selfBlockDescriptor(), name, container_t(), &validate, RANGE::minCount(), RANGE::maxCount()) + : super_t(DERIVED_BLOCK::selfBlockDescriptor(), name, container_t(), &validate, RANGE::minCount, RANGE::maxCount) {} Multiple& operator=(value_assignment_t val) @@ -1641,100 +1575,10 @@ namespace LLInitParam static bool validate(const Param* paramp) { U32 num_valid = ((super_t*)paramp)->numValidElements(); - return RANGE::minCount() <= num_valid && num_valid <= RANGE::maxCount(); + return RANGE::minCount <= num_valid && num_valid <= RANGE::maxCount; } }; - template <typename T, typename RANGE = BaseBlock::AnyAmount, typename NAME_VALUE_LOOKUP = TypeValues<T> > - class Batch : private TypedParam<T, NAME_VALUE_LOOKUP, false> - { - public: - typedef ParamValue<T, NAME_VALUE_LOOKUP> param_value_t; - typedef TypedParam<T, NAME_VALUE_LOOKUP, false, IsBlock<param_value_t>::value> super_t; - typedef Batch<T, RANGE, NAME_VALUE_LOOKUP> self_t; - typedef typename super_t::value_assignment_t value_assignment_t; - typedef typename super_t::value_t value_t; - - struct BatchDefaultValue : public ParamDescriptor::UserData - { - BatchDefaultValue(const T& value) - : mValue(value) - {} - - T mValue; - }; - - explicit Batch(const char* name, value_assignment_t val) - : super_t(DERIVED_BLOCK::selfBlockDescriptor(), name, val, NULL, 0, 1), - mLastParseGeneration(-1) - { - BlockDescriptor& block_descriptor = DERIVED_BLOCK::selfBlockDescriptor(); - if (LL_UNLIKELY(block_descriptor.mInitializationState == BlockDescriptor::INITIALIZING)) - { - ParamDescriptorPtr param_descriptorp = block_descriptor.mCurrentBlockPtr->findParamDescriptor(*this); - - if (param_descriptorp) - { - param_descriptorp->mDeserializeFunc = &deserializeParam; - param_descriptorp->mUserData = new BatchDefaultValue(new param_value_t(val)); - } - } - } - - explicit Batch(const char* name = "") - : super_t(DERIVED_BLOCK::selfBlockDescriptor(), name, defaultValue<T>(), NULL, 0, 1), - mLastParseGeneration(-1) - { - BlockDescriptor& block_descriptor = DERIVED_BLOCK::selfBlockDescriptor(); - if (LL_UNLIKELY(block_descriptor.mInitializationState == BlockDescriptor::INITIALIZING)) - { - ParamDescriptorPtr param_descriptorp = block_descriptor.mCurrentBlockPtr->findParamDescriptor(*this); - - if (param_descriptorp) - { - param_descriptorp->mDeserializeFunc = &deserializeParam; - } - } - } - - Batch& operator=(value_assignment_t val) - { - set(val); - return *this; - } - - DERIVED_BLOCK& operator()(value_assignment_t val) - { - super_t::set(val); - return static_cast<DERIVED_BLOCK&>(Param::enclosingBlock()); - } - - using super_t::operator(); - - private: - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) - { - self_t& typed_param = static_cast<self_t&>(param); - - if (generation != typed_param.mLastParseGeneration) - { - ParamDescriptorPtr descriptor = typed_param.enclosingBlock().findParamDescriptor(param); - if (descriptor && static_cast<BatchDefaultValue*>(descriptor->mUserData)) - { - static_cast<param_value_t&>(typed_param) = (static_cast<BatchDefaultValue*>(descriptor->mUserData))->mValue; - } - else - { - static_cast<param_value_t&>(typed_param) = param_value_t(value_t()); - } - typed_param.mLastParseGeneration = generation; - } - return super_t::deserializeParam(param, parser, name_stack, generation); - } - - S32 mLastParseGeneration; - }; - class Deprecated : public Param { public: @@ -1769,6 +1613,7 @@ namespace LLInitParam } }; + // different semantics for documentation purposes, but functionally identical typedef Deprecated Ignored; protected: @@ -1790,6 +1635,106 @@ namespace LLInitParam }; + template <typename DERIVED_BLOCK, typename BASE_BLOCK = BaseBlock> + class BatchBlock + : public Block<DERIVED_BLOCK, BASE_BLOCK> + { + public: + typedef BatchBlock<DERIVED_BLOCK, BASE_BLOCK> self_t; + typedef Block<DERIVED_BLOCK, BASE_BLOCK> super_t; + + BatchBlock() + : mLastParseGeneration(-1) + {} + + bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation) + { + if (generation != mLastParseGeneration) + { + // reset block + *static_cast<DERIVED_BLOCK*>(this) = defaultBatchValue(); + mLastParseGeneration = generation; + } + return super_t::deserializeBlock(p, name_stack, generation); + } + + bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) + { + if (overwrite) + { + *static_cast<DERIVED_BLOCK*>(this) = defaultBatchValue(); + mLastParseGeneration = -1; + // merge individual parameters into destination + return super_t::mergeBlock(super_t::selfBlockDescriptor(), src_typed_param, overwrite); + } + return false; + } + protected: + static const DERIVED_BLOCK& defaultBatchValue() + { + static DERIVED_BLOCK default_value; + return default_value; + } + + S32 mLastParseGeneration; + }; + + + + template<typename DERIVED_BLOCK, + typename BASE_BLOCK, + typename NAME_VALUE_LOOKUP> + class ParamValue <BatchBlock<DERIVED_BLOCK, BASE_BLOCK>, + NAME_VALUE_LOOKUP, + true> + : public Param, + protected BatchBlock<DERIVED_BLOCK, BASE_BLOCK> + { + typedef const BatchBlock<DERIVED_BLOCK, BASE_BLOCK>& value_assignment_t; + + ParamValue() + : T(), + mKeyVersion(0), + mValidatedVersion(-1), + mValidated(false) + {} + + ParamValue(value_assignment_t other) + : T(other), + mKeyVersion(0), + mValidatedVersion(-1), + mValidated(false) + { + } + + void setValue(value_assignment_t val) + { + *this = val; + mLastParseGeneration = -1; + } + + value_assignment_t getValue() const + { + return *this; + } + + BatchBlock<DERIVED_BLOCK, BASE_BLOCK>& getValue() + { + return *this; + } + + operator value_assignment_t() const + { + return *this; + } + + value_assignment_t operator()() const + { + return *this; + } + + }; + template<typename T> class CustomParamValue : public Block<ParamValue<T, TypeValues<T> > >, @@ -1955,6 +1900,16 @@ namespace LLInitParam return mValue; } + operator value_assignment_t() const + { + return getValue(); + } + + value_assignment_t operator()() const + { + return getValue(); + } + S32 mKeyVersion; protected: @@ -1965,30 +1920,29 @@ namespace LLInitParam mValue = value; } - bool mergeBlockParam(bool param_provided, BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) + bool mergeBlockParam(bool source_provided, bool dst_provided, BlockDescriptor& block_data, const BaseBlock& source, bool overwrite) { - if (param_provided) - { - return mergeBlock(block_data, other, overwrite); - } - return false; - } + bool source_override = source_provided && (overwrite || !dst_provided); - bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) - { - const derived_t& src_typed_param = static_cast<const derived_t&>(other); + const derived_t& src_typed_param = static_cast<const derived_t&>(source); - if (src_typed_param.mValueAge == VALUE_AUTHORITATIVE) + if (source_override && src_typed_param.mValueAge == VALUE_AUTHORITATIVE) { // copy value over setValue(src_typed_param.getValue()); return true; } - else + // merge individual parameters into destination + if (mValueAge == VALUE_AUTHORITATIVE) { - // merge individual parameters into destination - return block_t::mergeBlock(block_t::selfBlockDescriptor(), src_typed_param, overwrite); + static_cast<derived_t*>(this)->updateBlockFromValue(dst_provided); } + return mergeBlock(block_data, source, overwrite); + } + + bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& source, bool overwrite) + { + return block_t::mergeBlock(block_data, source, overwrite); } mutable S32 mValidatedVersion; diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index 4af077b22c0..c60f656c2ca 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -51,6 +51,136 @@ static LLInitParam::Parser::parser_read_func_map_t sXSDReadFuncs; static LLInitParam::Parser::parser_write_func_map_t sXSDWriteFuncs; static LLInitParam::Parser::parser_inspect_func_map_t sXSDInspectFuncs; +struct MaxOccur : public LLInitParam::ChoiceBlock<MaxOccur> +{ + Alternative<int> count; + Alternative<std::string> unbounded; + + MaxOccur() + : unbounded("", "unbounded") + {} +}; + +struct Occurs : public LLInitParam::Block<Occurs> +{ + Optional<S32> minOccurs; + Optional<MaxOccur> maxOccurs; + + Occurs() + : minOccurs("minOccurs"), + maxOccurs("maxOccurs") + { + minOccurs = 0; + maxOccurs.unbounded.choose(); + } +}; + + +typedef enum +{ + USE_REQUIRED, + USE_OPTIONAL +} EUse; + +namespace LLInitParam +{ + template<> + struct TypeValues<EUse> : public TypeValuesHelper<EUse> + { + static void declareValues() + { + declare("required", USE_REQUIRED); + declare("optional", USE_OPTIONAL); + } + }; +} + +struct Name : public LLInitParam::Block<Name> +{ + Mandatory<std::string> name; + + Name() + : name("name") + {} +}; + +struct Attribute : public LLInitParam::Block<Attribute> +{ + Mandatory<Name> name; + Mandatory<std::string> type; + Mandatory<EUse> use; + + Attribute() + : name("name"), + type("type"), + use("use") + { + } +}; + +struct ComplexType : public LLInitParam::Block<ComplexType> +{ + Multiple<Attribute> attribute; + //Multiple<struct Element> elements; + Optional<bool> mixed; + + ComplexType() + : attribute("xs:attribute"), + //elements("xs:element"), + mixed("mixed") + { + mixed = true; + } +}; + +struct Element : public LLInitParam::Block<Element, Occurs> +{ + Mandatory<ComplexType> complexType; + Mandatory<Name> name; + + Element() + : complexType("xs:complexType") + {} +}; + +struct Elements : public LLInitParam::Block<Elements, Occurs> +{ + Multiple<Element> elements; + + Elements() + : elements("xs:element") + {} +}; + +struct Schema : public LLInitParam::Block<Schema> +{ +private: + Mandatory<std::string> targetNamespace, + xmlns; + +public: + Optional<std::string> attributeFormDefault, + elementFormDefault, + xs; + + Optional<Elements> elements; + + void setNameSpace(const std::string& ns) {targetNamespace = ns; xmlns = ns;} + + Schema() + : attributeFormDefault("attributeFormDefault"), + elementFormDefault("elementFormDefault"), + xs("xmlns:xs"), + targetNamespace("targetNamespace"), + xmlns("xmlns"), + elements("xs:choice") + { + attributeFormDefault = "unqualified"; + elementFormDefault = "qualified"; + xs = "http://www.w3.org/2001/XMLSchema"; + } + +}; // // LLXSDWriter @@ -388,7 +518,7 @@ LLXUIParser::LLXUIParser() { if (sXUIReadFuncs.empty()) { - registerParserFuncs<LLInitParam::NoParamValue>(readNoValue, writeNoValue); + registerParserFuncs<LLInitParam::Flag>(readFlag, writeFlag); registerParserFuncs<bool>(readBoolValue, writeBoolValue); registerParserFuncs<std::string>(readStringValue, writeStringValue); registerParserFuncs<U8>(readU8Value, writeU8Value); @@ -645,13 +775,13 @@ LLXMLNodePtr LLXUIParser::getNode(const name_stack_t& stack) return (out_node == mWriteRootNode ? LLXMLNodePtr(NULL) : out_node); } -bool LLXUIParser::readNoValue(Parser& parser, void* val_ptr) +bool LLXUIParser::readFlag(Parser& parser, void* val_ptr) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); return self.mCurReadNode == DUMMY_NODE; } -bool LLXUIParser::writeNoValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeFlag(Parser& parser, const void* val_ptr, const name_stack_t& stack) { // just create node LLXUIParser& self = static_cast<LLXUIParser&>(parser); @@ -1083,7 +1213,7 @@ LLSimpleXUIParser::LLSimpleXUIParser(LLSimpleXUIParser::element_start_callback_t { if (sSimpleXUIReadFuncs.empty()) { - registerParserFuncs<LLInitParam::NoParamValue>(readNoValue); + registerParserFuncs<LLInitParam::Flag>(readFlag); registerParserFuncs<bool>(readBoolValue); registerParserFuncs<std::string>(readStringValue); registerParserFuncs<U8>(readU8Value); @@ -1376,7 +1506,7 @@ void LLSimpleXUIParser::parserError(const std::string& message) #endif } -bool LLSimpleXUIParser::readNoValue(Parser& parser, void* val_ptr) +bool LLSimpleXUIParser::readFlag(Parser& parser, void* val_ptr) { LLSimpleXUIParser& self = static_cast<LLSimpleXUIParser&>(parser); return self.mCurAttributeValueBegin == NO_VALUE_MARKER; diff --git a/indra/llxuixml/llxuiparser.h b/indra/llxuixml/llxuiparser.h index 0c38c4da936..42a79b4100b 100644 --- a/indra/llxuixml/llxuiparser.h +++ b/indra/llxuixml/llxuiparser.h @@ -116,7 +116,7 @@ LOG_CLASS(LLXUIParser); bool readAttributes(LLXMLNodePtr nodep, LLInitParam::BaseBlock& block); //reader helper functions - static bool readNoValue(Parser& parser, void* val_ptr); + static bool readFlag(Parser& parser, void* val_ptr); static bool readBoolValue(Parser& parser, void* val_ptr); static bool readStringValue(Parser& parser, void* val_ptr); static bool readU8Value(Parser& parser, void* val_ptr); @@ -133,7 +133,7 @@ LOG_CLASS(LLXUIParser); static bool readSDValue(Parser& parser, void* val_ptr); //writer helper functions - static bool writeNoValue(Parser& parser, const void* val_ptr, const name_stack_t&); + static bool writeFlag(Parser& parser, const void* val_ptr, const name_stack_t&); static bool writeBoolValue(Parser& parser, const void* val_ptr, const name_stack_t&); static bool writeStringValue(Parser& parser, const void* val_ptr, const name_stack_t&); static bool writeU8Value(Parser& parser, const void* val_ptr, const name_stack_t&); @@ -197,7 +197,7 @@ LOG_CLASS(LLSimpleXUIParser); private: //reader helper functions - static bool readNoValue(Parser&, void* val_ptr); + static bool readFlag(Parser&, void* val_ptr); static bool readBoolValue(Parser&, void* val_ptr); static bool readStringValue(Parser&, void* val_ptr); static bool readU8Value(Parser&, void* val_ptr); diff --git a/indra/newview/llnamelistctrl.h b/indra/newview/llnamelistctrl.h index d64fdbe6a5a..ca9956dc538 100644 --- a/indra/newview/llnamelistctrl.h +++ b/indra/newview/llnamelistctrl.h @@ -61,7 +61,7 @@ class LLNameListCtrl {} }; - struct NameColumn : public LLInitParam::Choice<NameColumn> + struct NameColumn : public LLInitParam::ChoiceBlock<NameColumn> { Alternative<S32> column_index; Alternative<std::string> column_name; diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index fa7632920bf..7bbacc01528 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -33,7 +33,6 @@ follows="all" mouse_opaque="false"> <layout_panel name="left_toolbar_panel" - fit_content="true" auto_resize="false" user_resize="false" height="500" @@ -54,7 +53,6 @@ user_resize="false" mouse_opaque="false"/> <layout_panel name="right_toolbar_panel" - fit_content="true" auto_resize="false" user_resize="false" height="500" @@ -74,7 +72,6 @@ </layout_stack> </layout_panel> <layout_panel name="bottom_toolbar_panel" - fit_content="true" auto_resize="false" user_resize="false" height="30" diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 32bc88cc9a8..d16d70cb439 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -10,6 +10,7 @@ <button_panel name="button_panel" bg_opaque_image="Rounded_Rect" background_visible="true" + bg_opaque_color="MouseGray" background_opaque="true"/> <button_icon_and_text follows="left|top" chrome="true" -- GitLab From f787208903a4f5a7b641859ba991b8b2e63e2a32 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 30 Sep 2011 17:09:16 -0700 Subject: [PATCH 082/213] fix for merge --- indra/llui/lltoolbarview.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 09965771141..12247519ad7 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -114,7 +114,7 @@ bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar) } bool LLToolBarView::loadToolbars(bool force_default) -{ +{ LLToolBarView::ToolbarSet toolbar_set; // Load the toolbars.xml file @@ -221,18 +221,19 @@ void LLToolBarView::saveToolbars() const { // Build the parameter tree from the toolbar data LLToolBarView::ToolbarSet toolbar_set; - - // *TODO : factorize that code a bit... if (mToolbarLeft) { + toolbar_set.left_toolbar.button_display_mode = (int)(mToolbarLeft->getButtonType()); addToToolset(mToolbarLeft->getCommandsList(),toolbar_set.left_toolbar); } if (mToolbarRight) { + toolbar_set.right_toolbar.button_display_mode = (int)(mToolbarRight->getButtonType()); addToToolset(mToolbarRight->getCommandsList(),toolbar_set.right_toolbar); } if (mToolbarBottom) { + toolbar_set.bottom_toolbar.button_display_mode = (int)(mToolbarBottom->getButtonType()); addToToolset(mToolbarBottom->getCommandsList(),toolbar_set.bottom_toolbar); } @@ -255,6 +256,19 @@ void LLToolBarView::saveToolbars() const } } +// Enumerate the commands in command_list and add them as Params to the toolbar +void LLToolBarView::addToToolset(command_id_list_t& command_list, Toolbar& toolbar) const +{ + for (command_id_list_t::const_iterator it = command_list.begin(); + it != command_list.end(); + ++it) + { + LLCommandId::Params command; + command.name = it->name(); + toolbar.commands.add(command); + } +} + void LLToolBarView::draw() { static bool debug_print = true; -- GitLab From 63a8fce12b1e1c0d40d97e2f029776fed6e300fb Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 30 Sep 2011 18:51:17 -0700 Subject: [PATCH 083/213] made toolbars conform to visual specs added ability to specify clip rects in textures.xml --- indra/llui/lltoolbar.cpp | 17 +++---- indra/llui/lltoolbar.h | 23 ++++++---- indra/newview/llviewertexturelist.cpp | 44 +++++++++++++------ indra/newview/llviewertexturelist.h | 7 ++- .../skins/default/textures/textures.xml | 6 ++- .../skins/default/xui/en/main_view.xml | 4 +- .../default/xui/en/panel_toolbar_view.xml | 3 ++ .../skins/default/xui/en/widgets/toolbar.xml | 28 ++++++++---- 8 files changed, 87 insertions(+), 45 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 2592fd1229b..c62bbe4e715 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -82,9 +82,6 @@ LLToolBar::Params::Params() button_icon_and_text("button_icon_and_text"), read_only("read_only", false), wrap("wrap", true), - min_button_width("min_button_width", 0), - max_button_width("max_button_width", S32_MAX), - button_height("button_height"), pad_left("pad_left"), pad_top("pad_top"), pad_right("pad_right"), @@ -102,9 +99,6 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) mNeedsLayout(false), mButtonPanel(NULL), mCenteringStack(NULL), - mMinButtonWidth(llmin(p.min_button_width(), p.max_button_width())), - mMaxButtonWidth(llmax(p.max_button_width(), p.min_button_width())), - mButtonHeight(p.button_height), mPadLeft(p.pad_left), mPadRight(p.pad_right), mPadTop(p.pad_top), @@ -325,7 +319,7 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row { if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) { - button->reshape(llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth), max_row_girth); + button->reshape(llclamp(button->getRect().getWidth(), button->mMinWidth, button->mMaxWidth), max_row_girth); } else // VERTICAL { @@ -384,10 +378,10 @@ void LLToolBar::updateLayoutAsNeeded() BOOST_FOREACH(LLToolBarButton* button, mButtons) { - button->reshape(mMinButtonWidth, mButtonHeight); + button->reshape(button->mMinWidth, button->mDesiredHeight); button->autoResize(); - S32 button_clamped_width = llclamp(button->getRect().getWidth(), mMinButtonWidth, mMaxButtonWidth); + S32 button_clamped_width = llclamp(button->getRect().getWidth(), button->mMinWidth, button->mMaxWidth); S32 button_length = (orientation == LLLayoutStack::HORIZONTAL) ? button_clamped_width : button->getRect().getHeight(); @@ -402,7 +396,7 @@ void LLToolBar::updateLayoutAsNeeded() { if (orientation == LLLayoutStack::VERTICAL) { // row girth (width in this case) is clamped to allowable button widths - max_row_girth = llclamp(max_row_girth, mMinButtonWidth, mMaxButtonWidth); + max_row_girth = llclamp(max_row_girth, button->mMinWidth, button->mMaxWidth); } // make buttons in current row all same girth @@ -546,6 +540,9 @@ LLToolBarButton::LLToolBarButton(const Params& p) : LLButton(p), mMouseDownX(0), mMouseDownY(0), + mMinWidth(p.min_button_width), + mMaxWidth(p.max_button_width), + mDesiredHeight(p.desired_height), mId("") {} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 0bb95f4e9c7..5d64630fa61 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -37,9 +37,20 @@ class LLToolBarButton : public LLButton { + friend class LLToolBar; public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { + Optional<S32> min_button_width, + max_button_width, + desired_height; + + Params() + : min_button_width("min_button_width", 0), + max_button_width("max_button_width", S32_MAX), + desired_height("desired_height", 20) + {} + }; LLToolBarButton(const Params& p); @@ -51,6 +62,9 @@ class LLToolBarButton : public LLButton LLCommandId mId; S32 mMouseDownX; S32 mMouseDownY; + S32 mMinWidth; + S32 mMaxWidth; + S32 mDesiredHeight; }; @@ -106,10 +120,6 @@ class LLToolBar Optional<bool> read_only, wrap; - Optional<S32> min_button_width, - max_button_width, - button_height; - Optional<S32> pad_left, pad_top, pad_right, @@ -171,10 +181,7 @@ class LLToolBar bool mWrap; bool mNeedsLayout; - S32 mMinButtonWidth, - mMaxButtonWidth, - mButtonHeight, - mPadLeft, + S32 mPadLeft, mPadRight, mPadTop, mPadBottom, diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 30ef8b8a292..c64488251a4 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -1342,7 +1342,8 @@ LLUIImagePtr LLUIImageList::getUIImageByID(const LLUUID& image_id, S32 priority) const BOOL use_mips = FALSE; const LLRect scale_rect = LLRect::null; - return loadUIImageByID(image_id, use_mips, scale_rect, (LLViewerTexture::EBoostLevel)priority); + const LLRect clip_rect = LLRect::null; + return loadUIImageByID(image_id, use_mips, scale_rect, clip_rect, (LLViewerTexture::EBoostLevel)priority); } LLUIImagePtr LLUIImageList::getUIImage(const std::string& image_name, S32 priority) @@ -1356,32 +1357,33 @@ LLUIImagePtr LLUIImageList::getUIImage(const std::string& image_name, S32 priori const BOOL use_mips = FALSE; const LLRect scale_rect = LLRect::null; - return loadUIImageByName(image_name, image_name, use_mips, scale_rect, (LLViewerTexture::EBoostLevel)priority); + const LLRect clip_rect = LLRect::null; + return loadUIImageByName(image_name, image_name, use_mips, scale_rect, clip_rect, (LLViewerTexture::EBoostLevel)priority); } LLUIImagePtr LLUIImageList::loadUIImageByName(const std::string& name, const std::string& filename, - BOOL use_mips, const LLRect& scale_rect, LLViewerTexture::EBoostLevel boost_priority ) + BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect, LLViewerTexture::EBoostLevel boost_priority ) { if (boost_priority == LLViewerTexture::BOOST_NONE) { boost_priority = LLViewerTexture::BOOST_UI; } LLViewerFetchedTexture* imagep = LLViewerTextureManager::getFetchedTextureFromFile(filename, MIPMAP_NO, boost_priority); - return loadUIImage(imagep, name, use_mips, scale_rect); + return loadUIImage(imagep, name, use_mips, scale_rect, clip_rect); } LLUIImagePtr LLUIImageList::loadUIImageByID(const LLUUID& id, - BOOL use_mips, const LLRect& scale_rect, LLViewerTexture::EBoostLevel boost_priority) + BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect, LLViewerTexture::EBoostLevel boost_priority) { if (boost_priority == LLViewerTexture::BOOST_NONE) { boost_priority = LLViewerTexture::BOOST_UI; } LLViewerFetchedTexture* imagep = LLViewerTextureManager::getFetchedTexture(id, MIPMAP_NO, boost_priority); - return loadUIImage(imagep, id.asString(), use_mips, scale_rect); + return loadUIImage(imagep, id.asString(), use_mips, scale_rect, clip_rect); } -LLUIImagePtr LLUIImageList::loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips, const LLRect& scale_rect) +LLUIImagePtr LLUIImageList::loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect) { if (!imagep) return NULL; @@ -1402,13 +1404,14 @@ LLUIImagePtr LLUIImageList::loadUIImage(LLViewerFetchedTexture* imagep, const st LLUIImageLoadData* datap = new LLUIImageLoadData; datap->mImageName = name; datap->mImageScaleRegion = scale_rect; + datap->mImageClipRegion = clip_rect; imagep->setLoadedCallback(onUIImageLoaded, 0, FALSE, FALSE, datap, NULL); } return new_imagep; } -LLUIImagePtr LLUIImageList::preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect) +LLUIImagePtr LLUIImageList::preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect) { // look for existing image uuid_ui_image_map_t::iterator found_it = mUIImages.find(name); @@ -1418,7 +1421,7 @@ LLUIImagePtr LLUIImageList::preloadUIImage(const std::string& name, const std::s llerrs << "UI Image " << name << " already loaded." << llendl; } - return loadUIImageByName(name, filename, use_mips, scale_rect); + return loadUIImageByName(name, filename, use_mips, scale_rect, clip_rect); } //static @@ -1432,6 +1435,7 @@ void LLUIImageList::onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_v LLUIImageLoadData* image_datap = (LLUIImageLoadData*)user_data; std::string ui_image_name = image_datap->mImageName; LLRect scale_rect = image_datap->mImageScaleRegion; + LLRect clip_rect = image_datap->mImageClipRegion; if (final) { delete image_datap; @@ -1448,9 +1452,21 @@ void LLUIImageList::onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_v // from power-of-2 gl image if (success && imagep.notNull() && src_vi && (src_vi->getUrl().compare(0, 7, "file://")==0)) { - F32 clip_x = (F32)src_vi->getOriginalWidth() / (F32)src_vi->getFullWidth(); - F32 clip_y = (F32)src_vi->getOriginalHeight() / (F32)src_vi->getFullHeight(); - imagep->setClipRegion(LLRectf(0.f, clip_y, clip_x, 0.f)); + F32 full_width = (F32)src_vi->getFullWidth(); + F32 full_height = (F32)src_vi->getFullHeight(); + F32 clip_x = (F32)src_vi->getOriginalWidth() / full_width; + F32 clip_y = (F32)src_vi->getOriginalHeight() / full_height; + if (clip_rect != LLRect::null) + { + imagep->setClipRegion(LLRectf(llclamp((F32)clip_rect.mLeft / full_width, 0.f, 1.f), + llclamp((F32)clip_rect.mTop / full_height, 0.f, 1.f), + llclamp((F32)clip_rect.mRight / full_width, 0.f, 1.f), + llclamp((F32)clip_rect.mBottom / full_height, 0.f, 1.f))); + } + else + { + imagep->setClipRegion(LLRectf(0.f, clip_y, clip_x, 0.f)); + } if (scale_rect != LLRect::null) { imagep->setScaleRegion( @@ -1471,6 +1487,7 @@ struct UIImageDeclaration : public LLInitParam::Block<UIImageDeclaration> Optional<std::string> file_name; Optional<bool> preload; Optional<LLRect> scale; + Optional<LLRect> clip; Optional<bool> use_mips; UIImageDeclaration() @@ -1478,6 +1495,7 @@ struct UIImageDeclaration : public LLInitParam::Block<UIImageDeclaration> file_name("file_name"), preload("preload", false), scale("scale"), + clip("clip"), use_mips("use_mips", false) {} }; @@ -1572,7 +1590,7 @@ bool LLUIImageList::initFromFile() { continue; } - preloadUIImage(image.name, file_name, image.use_mips, image.scale); + preloadUIImage(image.name, file_name, image.use_mips, image.scale, image.clip); } if (cur_pass == PASS_DECODE_NOW && !gSavedSettings.getBOOL("NoPreload")) diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h index 7f4dd0ae889..e0a362596d1 100644 --- a/indra/newview/llviewertexturelist.h +++ b/indra/newview/llviewertexturelist.h @@ -220,24 +220,27 @@ class LLUIImageList : public LLImageProviderInterface, public LLSingleton<LLUIIm bool initFromFile(); - LLPointer<LLUIImage> preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect); + LLPointer<LLUIImage> preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect); static void onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, BOOL final, void* userdata ); private: LLPointer<LLUIImage> loadUIImageByName(const std::string& name, const std::string& filename, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null, + const LLRect& clip_rect = LLRect::null, LLViewerTexture::EBoostLevel boost_priority = LLViewerTexture::BOOST_UI); LLPointer<LLUIImage> loadUIImageByID(const LLUUID& id, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null, + const LLRect& clip_rect = LLRect::null, LLViewerTexture::EBoostLevel boost_priority = LLViewerTexture::BOOST_UI); - LLPointer<LLUIImage> loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null); + LLPointer<LLUIImage> loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null, const LLRect& clip_rect = LLRect::null); struct LLUIImageLoadData { std::string mImageName; LLRect mImageScaleRegion; + LLRect mImageClipRegion; }; typedef std::map< std::string, LLPointer<LLUIImage> > uuid_ui_image_map_t; diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 4462fb792f5..68773947ece 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -473,7 +473,11 @@ with the same filename but different name <texture name="Resize_Corner" file_name="windows/Resize_Corner.png" preload="true" /> - <texture name="Rounded_Rect" file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="24" scale.right="58" scale.bottom="6" /> + <texture name="Rounded_Rect" file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="26" scale.right="58" scale.bottom="6" /> + <texture name="Rounded_Rect_Top" file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="8" scale.right="58" scale.bottom="0" clip.left="0" clip.right="64" clip.bottom="16" clip.top="32" /> + <texture name="Rounded_Rect_Bottom" file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="16" scale.right="58" scale.bottom="8" clip.left="0" clip.right="64" clip.bottom="0" clip.top="16" /> + <texture name="Rounded_Rect_Left" file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="26" scale.right="32" scale.bottom="6" clip.left="0" clip.right="32" clip.bottom="0" clip.top="32" /> + <texture name="Rounded_Rect_Right" file_name="Rounded_Rect.png" preload="true" scale.left="0" scale.top="26" scale.right="26" scale.bottom="6" clip.left="32" clip.right="64" clip.bottom="0" clip.top="32" /> <texture name="Rounded_Square" file_name="rounded_square.j2c" preload="true" scale.left="16" scale.top="16" scale.right="112" scale.bottom="16" /> <texture name="Row_Selection" file_name="navbar/Row_Selection.png" preload="false" /> diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index d8f593715f2..cf566d7d232 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -100,12 +100,12 @@ visible="false" width="500"/> </layout_panel> - <layout_panel auto_resize="false" + <!--<layout_panel auto_resize="false" min_height="33" height="33" mouse_opaque="false" name="bottom_tray_container" - visible="false"/> + visible="false"/>--> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 7bbacc01528..44da813f618 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -39,6 +39,7 @@ width="30" mouse_opaque="false"> <toolbar follows="left|top|bottom" + button_panel.bg_opaque_image="Rounded_Rect_Right" name="toolbar_left" height="500" width="30" @@ -59,6 +60,7 @@ width="30" mouse_opaque="false"> <toolbar + button_panel.bg_opaque_image="Rounded_Rect_Left" follows="right|top|bottom" name="toolbar_right" height="500" @@ -78,6 +80,7 @@ width="1024" mouse_opaque="false"> <toolbar layout="topleft" + button_panel.bg_opaque_image="Rounded_Rect_Top" name="toolbar_bottom" height="30" width="1024" diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index d16d70cb439..8422e3943d5 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -1,23 +1,33 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toolbar button_height="30" - pad_left="5" - pad_right="5" - pad_top="5" - pad_bottom="5" - pad_between="5" +<toolbar pad_left="1" + pad_right="1" + pad_top="1" + pad_bottom="1" + pad_between="1" mouse_opaque="false" read_only="false"> <button_panel name="button_panel" bg_opaque_image="Rounded_Rect" background_visible="true" - bg_opaque_color="MouseGray" + bg_opaque_image_overlay="MouseGray" background_opaque="true"/> - <button_icon_and_text follows="left|top" + <button_icon_and_text imgoverlay_label_space="7" + min_button_width="70" + max_button_width="140" + desired_height="24" + pad_left="10" + pad_right="10" + follows="left|top" chrome="true" image_overlay_alignment="left" use_ellipses="true" auto_resize="true"/> - <button_icon follows="left|top" + <button_icon pad_left="10" + pad_right="10" + desired_height="35" + min_button_width="35" + max_button_width="35" + follows="left|top" label="" chrome="true" use_ellipses="true" -- GitLab From 37fdd27bcbd38b5cf22e0ff003f4d01b908996c7 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 3 Oct 2011 11:28:22 -0700 Subject: [PATCH 084/213] updated xui for toybox to reflect changes to param blocks --- indra/newview/skins/default/xui/en/floater_toybox.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index feb19571b26..de39032cbf8 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -48,8 +48,8 @@ button_display_mode="icons_with_text" follows="all" left="20" - max_button_width="140" - min_button_width="70" + button_icon_and_text.max_button_width="140" + button_icon_and_text.min_button_width="70" name="toybox_toolbar" pad_left="5" pad_right="5" -- GitLab From cd467cc34f876920b35d3570f50dbad54ce4a42c Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 3 Oct 2011 16:27:24 -0700 Subject: [PATCH 085/213] EXP-1286 : First pass at Drag and Drop of tools. Not functional. Most hooks into the LLToolDragAndDrop system in to support the new AT_WIDGET and SOURCE_VIEWER --- indra/llcommon/llassettype.cpp | 3 +- indra/llcommon/llassettype.h | 8 ++- indra/llcommon/stdenums.h | 5 +- indra/llinventory/llinventorytype.cpp | 5 +- indra/llinventory/llinventorytype.h | 3 +- indra/llui/CMakeLists.txt | 5 +- indra/llui/llclipboard.cpp | 6 ++ indra/llui/llclipboard.h | 9 ++- indra/llui/lltoolbar.cpp | 55 ++++++++++++++++ indra/llui/lltoolbar.h | 32 ++++++++- indra/newview/CMakeLists.txt | 2 + indra/{llui => newview}/lltoolbarview.cpp | 79 +++++++++++++++++++++++ indra/{llui => newview}/lltoolbarview.h | 6 ++ indra/newview/lltooldraganddrop.cpp | 5 ++ indra/newview/lltooldraganddrop.h | 3 +- indra/newview/llviewerassettype.cpp | 4 +- 16 files changed, 214 insertions(+), 16 deletions(-) rename indra/{llui => newview}/lltoolbarview.cpp (75%) rename indra/{llui => newview}/lltoolbarview.h (91%) diff --git a/indra/llcommon/llassettype.cpp b/indra/llcommon/llassettype.cpp index 145dddd5434..5e566d6c7cf 100644 --- a/indra/llcommon/llassettype.cpp +++ b/indra/llcommon/llassettype.cpp @@ -93,7 +93,8 @@ LLAssetDictionary::LLAssetDictionary() addEntry(LLAssetType::AT_LINK, new AssetEntry("LINK", "link", "sym link", false, false, true)); addEntry(LLAssetType::AT_LINK_FOLDER, new AssetEntry("FOLDER_LINK", "link_f", "sym folder link", false, false, true)); - addEntry(LLAssetType::AT_MESH, new AssetEntry("MESH", "mesh", "mesh", false, false, false)); + addEntry(LLAssetType::AT_MESH, new AssetEntry("MESH", "mesh", "mesh", false, false, false)); + addEntry(LLAssetType::AT_WIDGET, new AssetEntry("WIDGET", "widget", "widget", false, false, false)); addEntry(LLAssetType::AT_NONE, new AssetEntry("NONE", "-1", NULL, FALSE, FALSE, FALSE)); }; diff --git a/indra/llcommon/llassettype.h b/indra/llcommon/llassettype.h index 74ccd003244..d538accbf72 100644 --- a/indra/llcommon/llassettype.h +++ b/indra/llcommon/llassettype.h @@ -108,9 +108,13 @@ class LL_COMMON_API LLAssetType AT_LINK_FOLDER = 25, // Inventory folder link + + AT_WIDGET = 40, + // UI Widget: this is *not* an inventory asset type, only a viewer side asset (e.g. button, other ui items...) + AT_MESH = 49, - // Mesh data in our proprietary SLM format - + // Mesh data in our proprietary SLM format + AT_COUNT = 50, // +*********************************************************+ diff --git a/indra/llcommon/stdenums.h b/indra/llcommon/stdenums.h index 556eff8370c..40b3364b360 100644 --- a/indra/llcommon/stdenums.h +++ b/indra/llcommon/stdenums.h @@ -49,8 +49,9 @@ enum EDragAndDropType DAD_ANIMATION = 12, DAD_GESTURE = 13, DAD_LINK = 14, - DAD_MESH = 15, - DAD_COUNT = 16, // number of types in this enum + DAD_MESH = 15, + DAD_WIDGET = 16, + DAD_COUNT = 17, // number of types in this enum }; // Reasons for drags to be denied. diff --git a/indra/llinventory/llinventorytype.cpp b/indra/llinventory/llinventorytype.cpp index d2bba216483..8282d79b673 100644 --- a/indra/llinventory/llinventorytype.cpp +++ b/indra/llinventory/llinventorytype.cpp @@ -84,6 +84,7 @@ LLInventoryDictionary::LLInventoryDictionary() addEntry(LLInventoryType::IT_ANIMATION, new InventoryEntry("animation", "animation", 1, LLAssetType::AT_ANIMATION)); addEntry(LLInventoryType::IT_GESTURE, new InventoryEntry("gesture", "gesture", 1, LLAssetType::AT_GESTURE)); addEntry(LLInventoryType::IT_MESH, new InventoryEntry("mesh", "mesh", 1, LLAssetType::AT_MESH)); + addEntry(LLInventoryType::IT_WIDGET, new InventoryEntry("widget", "widget", 1, LLAssetType::AT_WIDGET)); } @@ -134,7 +135,7 @@ DEFAULT_ASSET_FOR_INV_TYPE[LLAssetType::AT_COUNT] = LLInventoryType::IT_NONE, // 37 AT_NONE LLInventoryType::IT_NONE, // 38 AT_NONE LLInventoryType::IT_NONE, // 39 AT_NONE - LLInventoryType::IT_NONE, // 40 AT_NONE + LLInventoryType::IT_WIDGET, // 40 AT_WIDGET LLInventoryType::IT_NONE, // 41 AT_NONE LLInventoryType::IT_NONE, // 42 AT_NONE LLInventoryType::IT_NONE, // 43 AT_NONE @@ -143,7 +144,7 @@ DEFAULT_ASSET_FOR_INV_TYPE[LLAssetType::AT_COUNT] = LLInventoryType::IT_NONE, // 46 AT_NONE LLInventoryType::IT_NONE, // 47 AT_NONE LLInventoryType::IT_NONE, // 48 AT_NONE - LLInventoryType::IT_MESH // 49 AT_MESH + LLInventoryType::IT_MESH, // 49 AT_MESH }; // static diff --git a/indra/llinventory/llinventorytype.h b/indra/llinventory/llinventorytype.h index 1a24e351adc..4d1e0db0401 100644 --- a/indra/llinventory/llinventorytype.h +++ b/indra/llinventory/llinventorytype.h @@ -62,7 +62,8 @@ class LLInventoryType IT_ANIMATION = 19, IT_GESTURE = 20, IT_MESH = 22, - IT_COUNT = 23, + IT_WIDGET = 23, + IT_COUNT = 24, IT_NONE = -1 }; diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt index 42128125589..dded8ab661e 100644 --- a/indra/llui/CMakeLists.txt +++ b/indra/llui/CMakeLists.txt @@ -5,6 +5,7 @@ project(llui) include(00-Common) include(LLCommon) include(LLImage) +include(LLInventory) include(LLMath) include(LLMessage) include(LLRender) @@ -16,6 +17,7 @@ include(LLXUIXML) include_directories( ${LLCOMMON_INCLUDE_DIRS} ${LLIMAGE_INCLUDE_DIRS} + ${LLINVENTORY_INCLUDE_DIRS} ${LLMATH_INCLUDE_DIRS} ${LLMESSAGE_INCLUDE_DIRS} ${LLRENDER_INCLUDE_DIRS} @@ -101,7 +103,6 @@ set(llui_SOURCE_FILES lltransutil.cpp lltoggleablemenu.cpp lltoolbar.cpp - lltoolbarview.cpp lltooltip.cpp llui.cpp lluicolortable.cpp @@ -205,7 +206,6 @@ set(llui_HEADER_FILES lltimectrl.h lltoggleablemenu.h lltoolbar.h - lltoolbarview.h lltooltip.h lltransutil.h lluicolortable.h @@ -251,6 +251,7 @@ target_link_libraries(llui ${LLRENDER_LIBRARIES} ${LLWINDOW_LIBRARIES} ${LLIMAGE_LIBRARIES} + ${LLINVENTORY_LIBRARIES} ${LLVFS_LIBRARIES} # ugh, just for LLDir ${LLXUIXML_LIBRARIES} ${LLXML_LIBRARIES} diff --git a/indra/llui/llclipboard.cpp b/indra/llui/llclipboard.cpp index 984c4ec5fb7..6910b962a19 100644 --- a/indra/llui/llclipboard.cpp +++ b/indra/llui/llclipboard.cpp @@ -40,6 +40,7 @@ LLClipboard gClipboard; LLClipboard::LLClipboard() { + mSourceItem = NULL; } @@ -134,3 +135,8 @@ BOOL LLClipboard::canPastePrimaryString() const { return LLView::getWindow()->isPrimaryTextAvailable(); } + +void LLClipboard::setSourceObject(const LLUUID& source_id, LLAssetType::EType type) +{ + mSourceItem = new LLInventoryObject (source_id, LLUUID::null, type, ""); +} diff --git a/indra/llui/llclipboard.h b/indra/llui/llclipboard.h index 24cb46c3f49..9371b942844 100644 --- a/indra/llui/llclipboard.h +++ b/indra/llui/llclipboard.h @@ -30,6 +30,8 @@ #include "llstring.h" #include "lluuid.h" +#include "stdenums.h" +#include "llinventory.h" class LLClipboard @@ -52,9 +54,14 @@ class LLClipboard BOOL canPastePrimaryString() const; const LLWString& getPastePrimaryWString(LLUUID* source_id = NULL); + // Support clipboard for object known only by their uuid and asset type + void setSourceObject(const LLUUID& source_id, LLAssetType::EType type); + const LLInventoryObject* getSourceObject() { return mSourceItem; } + private: - LLUUID mSourceID; + LLUUID mSourceID; LLWString mString; + LLInventoryObject* mSourceItem; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 75c7d91f8a7..5300de38a09 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -113,6 +113,7 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; + mUUID = LLUUID::LLUUID::generateNewID(p.name); } LLToolBar::~LLToolBar() @@ -534,6 +535,8 @@ void LLToolBar::createButton(const LLCommandId& id) cbParam.function_name = commandp->functionName(); cbParam.parameter = commandp->parameter(); button->setCommitCallback(cbParam); + button->setStartDragCallback(mStartDragItemCallback); + button->setHandleDragCallback(mHandleDragItemCallback); } mButtons.push_back(button); @@ -541,3 +544,55 @@ void LLToolBar::createButton(const LLCommandId& id) mNeedsLayout = true; } + +BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg) +{ + llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", tooltip = " << tooltip_msg << llendl; + // If we have a drop callback, that means that we can handle the drop + BOOL handled = (mHandleDropCallback ? TRUE : FALSE); + + // if drop, time to call the drop callback to get the operation done + if (handled && drop) + { + handled = mHandleDropCallback(cargo_type,cargo_data,mUUID); + } + + // We accept multi drop by default + *accept = (handled ? ACCEPT_YES_MULTI : ACCEPT_NO); + + // We'll use that flag to change the visual aspect of the target on draw() + mDragAndDropTarget = handled; + + return handled; +} + +LLToolBarButton::LLToolBarButton(const Params& p) : LLButton(p) +{ + mUUID = LLUUID::LLUUID::generateNewID(p.name); +} + +BOOL LLToolBarButton::handleHover( S32 x, S32 y, MASK mask ) +{ +// llinfos << "Merov debug: handleHover, x = " << x << ", y = " << y << ", mouse = " << hasMouseCapture() << llendl; + BOOL handled = FALSE; + + if (hasMouseCapture() && mStartDragItemCallback && mHandleDragItemCallback) + { + if (!mIsDragged) + { + mStartDragItemCallback(x,y,mUUID); + mIsDragged = true; + handled = TRUE; + } + else + { + handled = mHandleDragItemCallback(x,y,mUUID,LLAssetType::AT_WIDGET); + } + } + return handled; +} + diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 03b1756988d..6dcf6208616 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -33,7 +33,11 @@ #include "lllayoutstack.h" #include "lluictrl.h" #include "llcommandmanager.h" +#include "llassettype.h" +typedef boost::function<void (S32 x, S32 y, const LLUUID& uuid)> startdrag_callback_t; +typedef boost::function<BOOL (S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type)> handledrag_callback_t; +typedef boost::function<BOOL (EDragAndDropType type, void* data, const LLUUID& uuid)> handledrop_callback_t; class LLToolBarButton : public LLButton { @@ -42,7 +46,17 @@ class LLToolBarButton : public LLButton { }; - LLToolBarButton(const Params& p) : LLButton(p) {} + LLToolBarButton(const Params& p); + + virtual BOOL handleHover( S32 x, S32 y, MASK mask ); + + void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } + void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } +protected: + bool mIsDragged; + startdrag_callback_t mStartDragItemCallback; + handledrag_callback_t mHandleDragItemCallback; + LLUUID mUUID; }; @@ -86,7 +100,6 @@ class LLToolBar : public LLUICtrl { public: - struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> { Mandatory<LLToolBarEnums::ButtonType> button_display_mode; @@ -119,10 +132,18 @@ class LLToolBar void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); - + virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg); + bool addCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); + void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } + void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } + void setHandleDropCallback(handledrop_callback_t cb) { mHandleDropCallback = cb; } protected: friend class LLUICtrlFactory; @@ -130,6 +151,10 @@ class LLToolBar ~LLToolBar(); void initFromParams(const Params&); + startdrag_callback_t mStartDragItemCallback; + handledrag_callback_t mHandleDragItemCallback; + handledrop_callback_t mHandleDropCallback; + bool mDragAndDropTarget; public: // Methods used in loading and saving toolbar settings @@ -147,6 +172,7 @@ class LLToolBar BOOL isSettingChecked(const LLSD& userdata); void onSettingEnable(const LLSD& userdata); + LLUUID mUUID; const bool mReadOnly; std::list<LLToolBarButton*> mButtons; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index c488d51ba5e..ce47cca16f3 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -481,6 +481,7 @@ set(viewer_SOURCE_FILES lltoastpanel.cpp lltoastscripttextbox.cpp lltool.cpp + lltoolbarview.cpp lltoolbrush.cpp lltoolcomp.cpp lltooldraganddrop.cpp @@ -1039,6 +1040,7 @@ set(viewer_HEADER_FILES lltoastpanel.h lltoastscripttextbox.h lltool.h + lltoolbarview.h lltoolbrush.h lltoolcomp.h lltooldraganddrop.h diff --git a/indra/llui/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp similarity index 75% rename from indra/llui/lltoolbarview.cpp rename to indra/newview/lltoolbarview.cpp index 1c6cf3230b1..929486a185b 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -33,12 +33,15 @@ #include "llxmlnode.h" #include "lltoolbar.h" #include "llbutton.h" +#include "lltooldraganddrop.h" +#include "llclipboard.h" #include <boost/foreach.hpp> LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); +bool LLToolBarView::sDragStarted = false; LLToolBarView::Toolbar::Toolbar() : button_display_mode("button_display_mode"), @@ -77,6 +80,18 @@ BOOL LLToolBarView::postBuild() mToolbarRight = getChild<LLToolBar>("toolbar_right"); mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); + mToolbarLeft->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); + mToolbarLeft->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); + mToolbarLeft->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + + mToolbarRight->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); + mToolbarRight->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); + mToolbarRight->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + + mToolbarBottom->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); + mToolbarBottom->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); + mToolbarBottom->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + return TRUE; } @@ -309,3 +324,67 @@ void LLToolBarView::draw() LLUICtrl::draw(); } + + +// ---------------------------------------- +// Drag and Drop hacks (under construction) +// ---------------------------------------- + + +void LLToolBarView::startDragItem( S32 x, S32 y, const LLUUID& uuid) +{ + llinfos << "Merov debug: startDragItem() : x = " << x << ", y = " << y << llendl; + LLToolDragAndDrop::getInstance()->setDragStart( x, y ); + sDragStarted = false; +} + +BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type) +{ +// llinfos << "Merov debug: handleDragItem() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; + if (LLToolDragAndDrop::getInstance()->isOverThreshold( x, y )) + { + if (!sDragStarted) + { + std::vector<EDragAndDropType> types; + uuid_vec_t cargo_ids; + types.push_back(DAD_WIDGET); + cargo_ids.push_back(uuid); + gClipboard.setSourceObject(uuid,LLAssetType::AT_WIDGET); + LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; + LLUUID srcID; + llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; + LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); + sDragStarted = true; + return TRUE; + } + else + { + MASK mask = 0; + return LLToolDragAndDrop::getInstance()->handleHover( x, y, mask ); + } + } + return FALSE; +} + +BOOL LLToolBarView::handleDrop( EDragAndDropType cargo_type, void* cargo_data, const LLUUID& toolbar_id) +{ + LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; + llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << " to toolbar " << toolbar_id << " under cargo type " << cargo_type << llendl; + + LLAssetType::EType type = inv_item->getType(); + if (type == LLAssetType::AT_WIDGET) + { + llinfos << "Merov debug : handleDrop. Drop source is a widget -> that's where we'll get code in..." << llendl; + // Find out if he command is in one of the toolbar + // If it is, pull it out of the toolbar + // Now insert it in the toolbar in the correct spot... + } + else + { + llinfos << "Merov debug : handleDrop. Drop source is not a widget -> nothing to do" << llendl; + } + + return TRUE; +} + + diff --git a/indra/llui/lltoolbarview.h b/indra/newview/lltoolbarview.h similarity index 91% rename from indra/llui/lltoolbarview.h rename to indra/newview/lltoolbarview.h index efe6920db8a..4e1b855e3dd 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -74,6 +74,10 @@ class LLToolBarView : public LLUICtrl bool loadToolbars(bool force_default = false); // return false if load fails bool loadDefaultToolbars() { return loadToolbars(true); } + static void startDragItem( S32 x, S32 y, const LLUUID& uuid); + static BOOL handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type); + static BOOL handleDrop( EDragAndDropType cargo_type, void* cargo_data, const LLUUID& folder_id); + protected: friend class LLUICtrlFactory; LLToolBarView(const Params&); @@ -89,6 +93,8 @@ class LLToolBarView : public LLUICtrl LLToolBar* mToolbarLeft; LLToolBar* mToolbarRight; LLToolBar* mToolbarBottom; + + static bool sDragStarted; }; extern LLToolBarView* gToolBarView; diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index 3e5ce427a80..a8014b8cde0 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -57,6 +57,7 @@ #include "llviewerwindow.h" #include "llvoavatarself.h" #include "llworld.h" +#include "llclipboard.h" // syntactic sugar #define callMemberFunction(object,ptrToMember) ((object).*(ptrToMember)) @@ -2495,6 +2496,10 @@ LLInventoryObject* LLToolDragAndDrop::locateInventory( item = (LLViewerInventoryItem*)preview->getDragItem(); } } + else if(mSource == SOURCE_VIEWER) + { + item = (LLViewerInventoryItem*)gClipboard.getSourceObject(); + } if(item) return item; if(cat) return cat; return NULL; diff --git a/indra/newview/lltooldraganddrop.h b/indra/newview/lltooldraganddrop.h index 7b8cce3dc7f..92f007a2518 100644 --- a/indra/newview/lltooldraganddrop.h +++ b/indra/newview/lltooldraganddrop.h @@ -66,7 +66,8 @@ class LLToolDragAndDrop : public LLTool, public LLSingleton<LLToolDragAndDrop> SOURCE_AGENT, SOURCE_WORLD, SOURCE_NOTECARD, - SOURCE_LIBRARY + SOURCE_LIBRARY, + SOURCE_VIEWER }; void beginDrag(EDragAndDropType type, diff --git a/indra/newview/llviewerassettype.cpp b/indra/newview/llviewerassettype.cpp index b103f115976..a4b1c2155ff 100644 --- a/indra/newview/llviewerassettype.cpp +++ b/indra/newview/llviewerassettype.cpp @@ -80,7 +80,9 @@ LLViewerAssetDictionary::LLViewerAssetDictionary() addEntry(LLViewerAssetType::AT_LINK_FOLDER, new ViewerAssetEntry(DAD_LINK)); addEntry(LLViewerAssetType::AT_MESH, new ViewerAssetEntry(DAD_MESH)); - + + addEntry(LLViewerAssetType::AT_WIDGET, new ViewerAssetEntry(DAD_WIDGET)); + addEntry(LLViewerAssetType::AT_NONE, new ViewerAssetEntry(DAD_NONE)); }; -- GitLab From 2d0dfbca99ffa442025358ece6340b894245d3b0 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 3 Oct 2011 16:37:07 -0700 Subject: [PATCH 086/213] * Added tooltips to the toolbar buttons. Reviewed by Richard. --- indra/llui/lltoolbar.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index c62bbe4e715..c0058d534df 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -511,10 +511,13 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) LLCommand* commandp = LLCommandManager::instance().getCommand(id); if (!commandp) return NULL; + std::string label = LLTrans::getString(commandp->labelRef()); + std::string tooltip = label + "\n" + LLTrans::getString(commandp->tooltipRef()); + LLToolBarButton::Params button_p; button_p.name = id.name(); - button_p.label = LLTrans::getString(commandp->labelRef()); - button_p.tool_tip = button_p.label(); + button_p.label = label; + button_p.tool_tip = tooltip; button_p.image_overlay = LLUI::getUIImage(commandp->icon()); button_p.overwriteFrom(mButtonParams[mButtonType]); LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); -- GitLab From 13165e909a5ba35df864ace97206da1242f41265 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 3 Oct 2011 17:11:09 -0700 Subject: [PATCH 087/213] fixed build --- indra/llxuixml/llinitparam.h | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 9a6ded47ffe..3dce7a939f2 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -564,10 +564,6 @@ namespace LLInitParam public: typedef const T& value_assignment_t; - S32 mKeyVersion; - mutable S32 mValidatedVersion; - mutable bool mValidated; // lazy validation flag - ParamValue() : T(), mKeyVersion(0), @@ -607,6 +603,12 @@ namespace LLInitParam { return *this; } + + S32 mKeyVersion; + + protected: + mutable S32 mValidatedVersion; + mutable bool mValidated; // lazy validation flag }; template<typename T, typename NAME_VALUE_LOOKUP = TypeValues<T> > @@ -1679,8 +1681,6 @@ namespace LLInitParam S32 mLastParseGeneration; }; - - template<typename DERIVED_BLOCK, typename BASE_BLOCK, typename NAME_VALUE_LOOKUP> @@ -1690,17 +1690,18 @@ namespace LLInitParam : public Param, protected BatchBlock<DERIVED_BLOCK, BASE_BLOCK> { + typedef BatchBlock<DERIVED_BLOCK, BASE_BLOCK> block_t; typedef const BatchBlock<DERIVED_BLOCK, BASE_BLOCK>& value_assignment_t; ParamValue() - : T(), + : block_t(), mKeyVersion(0), mValidatedVersion(-1), mValidated(false) {} ParamValue(value_assignment_t other) - : T(other), + : block_t(other), mKeyVersion(0), mValidatedVersion(-1), mValidated(false) @@ -1710,7 +1711,7 @@ namespace LLInitParam void setValue(value_assignment_t val) { *this = val; - mLastParseGeneration = -1; + block_t::mLastParseGeneration = -1; } value_assignment_t getValue() const @@ -1733,6 +1734,11 @@ namespace LLInitParam return *this; } + S32 mKeyVersion; + + protected: + mutable S32 mValidatedVersion; + mutable bool mValidated; // lazy validation flag }; template<typename T> -- GitLab From edacb7b3363dca6cd28a4ff7ea27154d6a30702f Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 3 Oct 2011 18:52:22 -0700 Subject: [PATCH 088/213] implemented Range and ClampedValue classes to standardize min/max settings fixed not serializing named values when values provided from code --- indra/llui/lltoolbar.cpp | 11 +- indra/llui/lltoolbar.h | 11 +- indra/llui/lltoolbarview.cpp | 18 +-- indra/llui/lltoolbarview.h | 4 +- indra/llui/llui.h | 126 ++++++++++++++++++ indra/llxuixml/llinitparam.h | 39 ++++-- indra/newview/app_settings/toolbars.xml | 4 +- .../skins/default/xui/en/floater_toybox.xml | 4 +- .../skins/default/xui/en/widgets/toolbar.xml | 8 +- 9 files changed, 185 insertions(+), 40 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index c0058d534df..66c2d7ab0bd 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -319,7 +319,7 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row { if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) { - button->reshape(llclamp(button->getRect().getWidth(), button->mMinWidth, button->mMaxWidth), max_row_girth); + button->reshape(button->mWidthRange.clamp(button->getRect().getWidth()), max_row_girth); } else // VERTICAL { @@ -378,10 +378,10 @@ void LLToolBar::updateLayoutAsNeeded() BOOST_FOREACH(LLToolBarButton* button, mButtons) { - button->reshape(button->mMinWidth, button->mDesiredHeight); + button->reshape(button->mWidthRange.getMin(), button->mDesiredHeight); button->autoResize(); - S32 button_clamped_width = llclamp(button->getRect().getWidth(), button->mMinWidth, button->mMaxWidth); + S32 button_clamped_width = button->mWidthRange.clamp(button->getRect().getWidth()); S32 button_length = (orientation == LLLayoutStack::HORIZONTAL) ? button_clamped_width : button->getRect().getHeight(); @@ -396,7 +396,7 @@ void LLToolBar::updateLayoutAsNeeded() { if (orientation == LLLayoutStack::VERTICAL) { // row girth (width in this case) is clamped to allowable button widths - max_row_girth = llclamp(max_row_girth, button->mMinWidth, button->mMaxWidth); + max_row_girth = button->mWidthRange.clamp(max_row_girth); } // make buttons in current row all same girth @@ -543,8 +543,7 @@ LLToolBarButton::LLToolBarButton(const Params& p) : LLButton(p), mMouseDownX(0), mMouseDownY(0), - mMinWidth(p.min_button_width), - mMaxWidth(p.max_button_width), + mWidthRange(p.button_width), mDesiredHeight(p.desired_height), mId("") {} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 5d64630fa61..48ca6c62b30 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -41,13 +41,11 @@ class LLToolBarButton : public LLButton public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { - Optional<S32> min_button_width, - max_button_width, - desired_height; + Optional<LLUI::Range<S32> > button_width; + Optional<S32> desired_height; Params() - : min_button_width("min_button_width", 0), - max_button_width("max_button_width", S32_MAX), + : button_width("button_width"), desired_height("desired_height", 20) {} @@ -62,8 +60,7 @@ class LLToolBarButton : public LLButton LLCommandId mId; S32 mMouseDownX; S32 mMouseDownY; - S32 mMinWidth; - S32 mMaxWidth; + LLUI::Range<S32> mWidthRange; S32 mDesiredHeight; }; diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp index 12247519ad7..49d4bfdc3c2 100644 --- a/indra/llui/lltoolbarview.cpp +++ b/indra/llui/lltoolbarview.cpp @@ -169,8 +169,8 @@ bool LLToolBarView::loadToolbars(bool force_default) { if (toolbar_set.left_toolbar.button_display_mode.isProvided()) { - U32 button_type = toolbar_set.left_toolbar.button_display_mode; - mToolbarLeft->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + LLToolBarEnums::ButtonType button_type = toolbar_set.left_toolbar.button_display_mode; + mToolbarLeft->setButtonType(button_type); } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.left_toolbar.commands) { @@ -181,8 +181,8 @@ bool LLToolBarView::loadToolbars(bool force_default) { if (toolbar_set.right_toolbar.button_display_mode.isProvided()) { - U32 button_type = toolbar_set.right_toolbar.button_display_mode; - mToolbarRight->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + LLToolBarEnums::ButtonType button_type = toolbar_set.right_toolbar.button_display_mode; + mToolbarRight->setButtonType(button_type); } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.right_toolbar.commands) { @@ -193,8 +193,8 @@ bool LLToolBarView::loadToolbars(bool force_default) { if (toolbar_set.bottom_toolbar.button_display_mode.isProvided()) { - U32 button_type = toolbar_set.bottom_toolbar.button_display_mode; - mToolbarBottom->setButtonType((LLToolBarEnums::ButtonType)(button_type)); + LLToolBarEnums::ButtonType button_type = toolbar_set.bottom_toolbar.button_display_mode; + mToolbarBottom->setButtonType(button_type); } BOOST_FOREACH(LLCommandId::Params& command, toolbar_set.bottom_toolbar.commands) { @@ -223,17 +223,17 @@ void LLToolBarView::saveToolbars() const LLToolBarView::ToolbarSet toolbar_set; if (mToolbarLeft) { - toolbar_set.left_toolbar.button_display_mode = (int)(mToolbarLeft->getButtonType()); + toolbar_set.left_toolbar.button_display_mode = mToolbarLeft->getButtonType(); addToToolset(mToolbarLeft->getCommandsList(),toolbar_set.left_toolbar); } if (mToolbarRight) { - toolbar_set.right_toolbar.button_display_mode = (int)(mToolbarRight->getButtonType()); + toolbar_set.right_toolbar.button_display_mode = mToolbarRight->getButtonType(); addToToolset(mToolbarRight->getCommandsList(),toolbar_set.right_toolbar); } if (mToolbarBottom) { - toolbar_set.bottom_toolbar.button_display_mode = (int)(mToolbarBottom->getButtonType()); + toolbar_set.bottom_toolbar.button_display_mode = mToolbarBottom->getButtonType(); addToToolset(mToolbarBottom->getCommandsList(),toolbar_set.bottom_toolbar); } diff --git a/indra/llui/lltoolbarview.h b/indra/llui/lltoolbarview.h index 20525a22ac3..c67b8d9d64d 100644 --- a/indra/llui/lltoolbarview.h +++ b/indra/llui/lltoolbarview.h @@ -50,8 +50,8 @@ class LLToolBarView : public LLUICtrl // the user folder for the user specific (saved) settings struct Toolbar : public LLInitParam::Block<Toolbar> { - Mandatory<U32> button_display_mode; - Multiple<LLCommandId::Params> commands; + Mandatory<LLToolBarEnums::ButtonType> button_display_mode; + Multiple<LLCommandId::Params> commands; Toolbar(); }; struct ToolbarSet : public LLInitParam::Block<ToolbarSet> diff --git a/indra/llui/llui.h b/indra/llui/llui.h index 3afb7c65a90..9f6fccfef65 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -147,6 +147,132 @@ class LLUI { LOG_CLASS(LLUI); public: + // + // Classes + // + + template <typename T> + struct Range + { + typedef Range<T> self_t; + + struct Params : public LLInitParam::Block<Params> + { + Optional<T> minimum, + maximum; + + Params() + : minimum("min", 0), + maximum("max", S32_MAX) + { + + } + }; + + // correct for inverted params + Range(const Params& p = Params()) + : mMin(p.minimum), + mMax(p.maximum) + { + sanitizeRange(); + } + + Range(T minimum, T maximum) + : mMin(minimum), + mMax(maximum) + { + sanitizeRange(); + } + + S32 clamp(T input) + { + if (input < mMin) return mMin; + if (input > mMax) return mMax; + return input; + } + + void setRange(T minimum, T maximum) + { + mMin = minimum; + mMax = maximum; + sanitizeRange(); + } + + S32 getMin() { return mMin; } + S32 getMax() { return mMax; } + + bool operator==(const self_t& other) const + { + return mMin == other.mMin + && mMax == other.mMax; + } + private: + void sanitizeRange() + { + if (mMin > mMax) + { + llwarns << "Bad interval range (" << mMin << ", " << mMax << ")" << llendl; + // since max is usually the most dangerous one to ignore (buffer overflow, etc), prefer it + // in the case of a malformed range + mMin = mMax; + } + } + + + T mMin, + mMax; + }; + + template<typename T> + struct ClampedValue : public Range<T> + { + typedef Range<T> range_t; + + struct Params : public LLInitParam::Block<Params, typename range_t::Params> + { + Mandatory<S32> value; + + Params() + : value("", 0) + { + addSynonym(value, "value"); + } + }; + + ClampedValue(const Params& p) + : range_t(p) + {} + + ClampedValue(const range_t& range) + : range_t(range) + { + // set value here, after range has been sanitized + mValue = clamp(0); + } + + ClampedValue(T value, const range_t& range = range_t()) + : range_t(range) + { + mValue = clamp(value); + } + + T get() + { + return mValue; + } + + void set(T value) + { + mValue = clamp(value); + } + + + private: + T mValue; + }; + + typedef ClampedValue<S32> ClampedS32; + // // Methods // diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 3dce7a939f2..9db67a15c83 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -87,6 +87,7 @@ namespace LLInitParam void setValueName(const std::string& key) {} std::string getValueName() const { return ""; } + std::string calcValueName(const T& value) const { return ""; } void clearValueName() const {} static bool getValueFromName(const std::string& name, T& value) @@ -124,6 +125,22 @@ namespace LLInitParam return mValueName; } + std::string calcValueName(const T& value) const + { + value_name_map_t* map = getValueNames(); + for (value_name_map_t::iterator it = map->begin(), end_it = map->end(); + it != end_it; + ++it) + { + if (ParamCompare<T>::equals(it->second, value)) + { + return it->first; + } + } + + return ""; + } + void clearValueName() const { mValueName.clear(); @@ -709,18 +726,19 @@ namespace LLInitParam { if (!diff_param || !ParamCompare<std::string>::equals(static_cast<const self_t*>(diff_param)->getValueName(), key)) { - if (!parser.writeValue(key, name_stack)) - { - return; - } + parser.writeValue(key, name_stack); } } // then try to serialize value directly else if (!diff_param || !ParamCompare<T>::equals(typed_param.getValue(), static_cast<const self_t*>(diff_param)->getValue())) { - if (!parser.writeValue(typed_param.getValue(), name_stack)) + if (!parser.writeValue(typed_param.getValue(), name_stack)) { - return; + std::string calculated_key = typed_param.calcValueName(typed_param.getValue()); + if (!diff_param || !ParamCompare<std::string>::equals(static_cast<const self_t*>(diff_param)->getValueName(), calculated_key)) + { + parser.writeValue(calculated_key, name_stack); + } } } } @@ -1002,9 +1020,14 @@ namespace LLInitParam if(key.empty()) // not parsed via name values, write out value directly { - if (!parser.writeValue(*it, name_stack)) + bool value_written == parser.writeValue(*it, name_stack); + if (!value_written) { - break; + std::string calculated_key = typed_param.calcValueName(typed_param.getValue()); + if (!parser.writeValue(calculated_key, name_stack)) + { + break; + } } } else diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml index 19dec78c639..a9345b3b0a6 100644 --- a/indra/newview/app_settings/toolbars.xml +++ b/indra/newview/app_settings/toolbars.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <toolbars> <bottom_toolbar - button_display_mode="0"> + button_display_mode="icons_with_text"> <command name="chat"/> <command name="speak"/> <command name="places"/> @@ -12,7 +12,7 @@ <command name="howto"/> </bottom_toolbar> <left_toolbar - button_display_mode="1"> + button_display_mode="icons_only"> <command name="avatar"/> <command name="inventory"/> <command name="snapshot"/> diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index de39032cbf8..972ae1487ae 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -48,8 +48,8 @@ button_display_mode="icons_with_text" follows="all" left="20" - button_icon_and_text.max_button_width="140" - button_icon_and_text.min_button_width="70" + button_icon_and_text.button_width.max="140" + button_icon_and_text.button_width.min="70" name="toybox_toolbar" pad_left="5" pad_right="5" diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 8422e3943d5..0c7e7cff564 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -12,8 +12,8 @@ bg_opaque_image_overlay="MouseGray" background_opaque="true"/> <button_icon_and_text imgoverlay_label_space="7" - min_button_width="70" - max_button_width="140" + button_width.min="70" + button_width.max="140" desired_height="24" pad_left="10" pad_right="10" @@ -25,8 +25,8 @@ <button_icon pad_left="10" pad_right="10" desired_height="35" - min_button_width="35" - max_button_width="35" + button_width.min="35" + button_width.max="35" follows="left|top" label="" chrome="true" -- GitLab From 1cff73e807018b8c258285f5b8dcc90e66e17955 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 3 Oct 2011 18:57:23 -0700 Subject: [PATCH 089/213] fixed build --- indra/llui/lltoolbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 4b7e04b6821..71f4e09a241 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -107,7 +107,7 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; - mUUID = LLUUID::LLUUID::generateNewID(p.name); + mUUID = LLUUID::generateNewID(p.name); } LLToolBar::~LLToolBar() -- GitLab From 3689995fcfca3a99038b2aadec638819a63a02c8 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 3 Oct 2011 18:58:30 -0700 Subject: [PATCH 090/213] fixed build --- indra/llui/lltoolbar.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 4b7e04b6821..efa077ffa10 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -107,7 +107,7 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; - mUUID = LLUUID::LLUUID::generateNewID(p.name); + mUUID = LLUUID::generateNewID(p.name); } LLToolBar::~LLToolBar() @@ -570,7 +570,7 @@ LLToolBarButton::LLToolBarButton(const Params& p) mDesiredHeight(p.desired_height), mId("") { - mUUID = LLUUID::LLUUID::generateNewID(p.name); + mUUID = LLUUID::generateNewID(p.name); } BOOL LLToolBarButton::handleMouseDown(S32 x, S32 y, MASK mask) -- GitLab From 9f6307277bf02753b55c7819626318f717224cc6 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 4 Oct 2011 10:50:10 -0700 Subject: [PATCH 091/213] potential fix for build --- indra/newview/lltoolbarview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 2ea2f608cc9..65f63926b66 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -25,7 +25,7 @@ * $/LicenseInfo$ */ -#include "linden_common.h" +#include "llviewerprecompiledheaders.h" #include "lltoolbarview.h" -- GitLab From cfbb5aad37418af614a491e278083bc95bb820a2 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 4 Oct 2011 11:32:00 -0700 Subject: [PATCH 092/213] another potential gcc fix --- indra/llxuixml/llinitparam.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 0f17fb61da1..1a131d15a3f 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -128,7 +128,7 @@ namespace LLInitParam std::string calcValueName(const T& value) const { value_name_map_t* map = getValueNames(); - for (value_name_map_t::iterator it = map->begin(), end_it = map->end(); + for (typename value_name_map_t::iterator it = map->begin(), end_it = map->end(); it != end_it; ++it) { @@ -1020,16 +1020,16 @@ namespace LLInitParam if(key.empty()) // not parsed via name values, write out value directly { - bool value_written == parser.writeValue(*it, name_stack); + bool value_written = parser.writeValue(*it, name_stack); if (!value_written) { std::string calculated_key = typed_param.calcValueName(typed_param.getValue()); if (!parser.writeValue(calculated_key, name_stack)) - { - break; + { + break; + } } } - } else { if(!parser.writeValue(key, name_stack)) -- GitLab From 44e9fb446f3c92c3dfd9b5be8a3e02ec5a44ba00 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 4 Oct 2011 12:04:29 -0700 Subject: [PATCH 093/213] another potential gcc fix --- indra/llui/llui.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/llui.h b/indra/llui/llui.h index 9f6fccfef65..8cec1a16f40 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -158,8 +158,8 @@ class LLUI struct Params : public LLInitParam::Block<Params> { - Optional<T> minimum, - maximum; + typename Optional<T> minimum, + maximum; Params() : minimum("min", 0), -- GitLab From 530d5af4073f4dda4003005c9c117af53b84aa9d Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 12:05:27 -0700 Subject: [PATCH 094/213] EXP-1204 PROGRESS -- As a User I want flexible floater management with no sidetray EXP-1292 FIX -- Mini-map floater can't be closed by clicking the sidebar button again. * Mini-map floater text updated * Mini-map floater behavior now acts more like other windows, has a title, etc. --- indra/newview/llfloatermap.cpp | 50 +------------------ indra/newview/llfloatermap.h | 6 --- .../skins/default/xui/en/floater_map.xml | 28 +++++------ .../skins/default/xui/en/menu_bottomtray.xml | 2 +- .../skins/default/xui/en/menu_viewer.xml | 2 +- .../skins/default/xui/en/panel_bottomtray.xml | 4 +- 6 files changed, 18 insertions(+), 74 deletions(-) diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp index 641e64247ba..87135130542 100644 --- a/indra/newview/llfloatermap.cpp +++ b/indra/newview/llfloatermap.cpp @@ -100,16 +100,13 @@ BOOL LLFloaterMap::postBuild() mTextBoxSouthWest = getChild<LLTextBox> ("floater_map_southwest"); mTextBoxNorthWest = getChild<LLTextBox> ("floater_map_northwest"); - stretchMiniMap(getRect().getWidth() - MAP_PADDING_LEFT - MAP_PADDING_RIGHT - ,getRect().getHeight() - MAP_PADDING_TOP - MAP_PADDING_BOTTOM); - updateMinorDirections(); // Get the drag handle all the way in back sendChildToBack(getDragHandle()); - setIsChrome(TRUE); - getDragHandle()->setTitleVisible(TRUE); + //setIsChrome(TRUE); + //getDragHandle()->setTitleVisible(TRUE); // keep onscreen gFloaterView->adjustToFitScreen(this, FALSE); @@ -223,40 +220,10 @@ void LLFloaterMap::draw() LLFloater::draw(); } -// virtual -void LLFloaterMap::onFocusReceived() -{ - setBackgroundOpaque(true); - LLPanel::onFocusReceived(); -} - -// virtual -void LLFloaterMap::onFocusLost() -{ - setBackgroundOpaque(false); - LLPanel::onFocusLost(); -} - -void LLFloaterMap::stretchMiniMap(S32 width,S32 height) -{ - //fix for ext-7112 - //by default ctrl can't overlap caption area - if(mMap) - { - LLRect map_rect; - map_rect.setLeftTopAndSize( MAP_PADDING_LEFT, getRect().getHeight() - MAP_PADDING_TOP, width, height); - mMap->reshape( width, height, 1); - mMap->setRect(map_rect); - } -} - void LLFloaterMap::reshape(S32 width, S32 height, BOOL called_from_parent) { LLFloater::reshape(width, height, called_from_parent); - stretchMiniMap(width - MAP_PADDING_LEFT - MAP_PADDING_RIGHT - ,height - MAP_PADDING_TOP - MAP_PADDING_BOTTOM); - updateMinorDirections(); } @@ -285,16 +252,3 @@ void LLFloaterMap::handleZoom(const LLSD& userdata) mMap->setScale(scale); } } - -void LLFloaterMap::setMinimized(BOOL b) -{ - LLFloater::setMinimized(b); - if(b) - { - setTitle(getString("mini_map_caption")); - } - else - { - setTitle(""); - } -} diff --git a/indra/newview/llfloatermap.h b/indra/newview/llfloatermap.h index 5cf66a594bf..8a1b965e628 100644 --- a/indra/newview/llfloatermap.h +++ b/indra/newview/llfloatermap.h @@ -45,18 +45,12 @@ class LLFloaterMap : public LLFloater /*virtual*/ BOOL handleDoubleClick( S32 x, S32 y, MASK mask ); /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); /*virtual*/ void draw(); - /*virtual*/ void onFocusLost(); - /*virtual*/ void onFocusReceived(); - /*virtual*/ void setMinimized(BOOL b); - private: void handleZoom(const LLSD& userdata); void setDirectionPos( LLTextBox* text_box, F32 rotation ); void updateMinorDirections(); - void stretchMiniMap(S32 width,S32 height); - LLTextBox* mTextBoxEast; LLTextBox* mTextBoxNorth; LLTextBox* mTextBoxWest; diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml index ae99fa8dd5b..51f63edc31e 100644 --- a/indra/newview/skins/default/xui/en/floater_map.xml +++ b/indra/newview/skins/default/xui/en/floater_map.xml @@ -1,20 +1,17 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater - bg_alpha_image_overlay="DkGray_66" - legacy_header_height="0" can_minimize="true" can_resize="true" follows="top|right" - height="174" + height="200" layout="topleft" min_height="128" min_width="128" name="Map" - title="" + title="Mini-map" help_topic="map" save_rect="true" save_visibility="true" - single_instance="true" left="0" top="0" width="200"> @@ -27,17 +24,16 @@ [REGION](Double-click to teleport, shift-drag to pan) </floater.string> <floater.string name="mini_map_caption"> - MINIMAP + Mini-map </floater.string> <net_map - bg_color="NetMapBackgroundColor" follows="top|left|bottom|right" layout="topleft" left="0" mouse_opaque="false" name="Net Map" width="200" - height="218" + height="200" top="0"/> <text type="string" @@ -49,7 +45,7 @@ name="floater_map_north" right="10" text_color="1 1 1 0.7" - top="209"> + top="189"> N </text> <text @@ -62,7 +58,7 @@ name="floater_map_east" right="10" text_color="1 1 1 0.7" - top="209"> + top="189"> E </text> <text @@ -75,7 +71,7 @@ name="floater_map_west" right="11" text_color="1 1 1 0.7" - top="195"> + top="175"> W </text> <text @@ -88,7 +84,7 @@ name="floater_map_south" right="10" text_color="1 1 1 0.7" - top="209"> + top="189"> S </text> <text @@ -101,7 +97,7 @@ name="floater_map_southeast" right="20" text_color="1 1 1 0.7" - top="209"> + top="189"> SE </text> <text @@ -114,7 +110,7 @@ name="floater_map_northeast" right="20" text_color="1 1 1 0.7" - top="209"> + top="189"> NE </text> <text @@ -127,7 +123,7 @@ name="floater_map_southwest" right="20" text_color="1 1 1 0.7" - top="209"> + top="189"> SW </text> <text @@ -140,7 +136,7 @@ name="floater_map_northwest" right="20" text_color="1 1 1 0.7" - top="209"> + top="189"> NW </text> </floater> diff --git a/indra/newview/skins/default/xui/en/menu_bottomtray.xml b/indra/newview/skins/default/xui/en/menu_bottomtray.xml index 07dabe1909e..1a102c21bbb 100644 --- a/indra/newview/skins/default/xui/en/menu_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/menu_bottomtray.xml @@ -97,7 +97,7 @@ parameter="ShowWorldMapButton" /> </menu_item_check> <menu_item_check - label="Mini-Map button" + label="Mini-map button" layout="topleft" name="ShowMiniMapButton"> <menu_item_check.on_click diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 733b97d8274..1ba204473f6 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -257,7 +257,7 @@ name="World" tear_off="true"> <menu_item_check - label="Mini-Map" + label="Mini-map" name="Mini-Map" shortcut="control|shift|M"> <menu_item_check.on_check diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml index ec5853649eb..2737746c0eb 100644 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml @@ -353,11 +353,11 @@ Disabled for now. image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" is_toggle="true" - label="Mini-Map" + label="Mini-map" layout="topleft" left="0" name="mini_map_btn" - tool_tip="Shows/hides Mini-Map" + tool_tip="Shows/hides mini-map" top="5" use_ellipses="true" width="80"> -- GitLab From 29987ec5949d22c462566d453ce1de2c76c154e8 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 12:08:48 -0700 Subject: [PATCH 095/213] * Updated strings for FUI crusade --- indra/newview/app_settings/settings.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ad07af5e870..07799d4eee0 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9671,7 +9671,7 @@ <key>ShowBuildButton</key> <map> <key>Comment</key> - <string>Shows/Hides Build button in the bottom tray.</string> + <string>Shows/hides build button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9682,7 +9682,7 @@ <key>ShowCameraButton</key> <map> <key>Comment</key> - <string>Show/Hide View button in the bottom tray.</string> + <string>Show/hide view button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9770,7 +9770,7 @@ <key>ShowGestureButton</key> <map> <key>Comment</key> - <string>Shows/Hides Gesture button in the bottom tray.</string> + <string>Shows/hides gesture button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9803,7 +9803,7 @@ <key>ShowMiniMapButton</key> <map> <key>Comment</key> - <string>Shows/Hides Mini-Map button in the bottom tray.</string> + <string>Shows/hides mini-map button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9814,7 +9814,7 @@ <key>ShowMoveButton</key> <map> <key>Comment</key> - <string>Shows/Hides Move button in the bottom tray.</string> + <string>Shows/hides move button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9847,7 +9847,7 @@ <key>ShowSearchButton</key> <map> <key>Comment</key> - <string>Shows/Hides Search button in the bottom tray.</string> + <string>Shows/hides search button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9858,7 +9858,7 @@ <key>ShowSnapshotButton</key> <map> <key>Comment</key> - <string>Shows/Hides Snapshot button button in the bottom tray.</string> + <string>Shows/hides snapshot button button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9880,7 +9880,7 @@ <key>ShowNavbarFavoritesPanel</key> <map> <key>Comment</key> - <string>Show/Hide Navigation Bar Favorites Panel</string> + <string>Show/hide navigation bar favorites panel</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9891,7 +9891,7 @@ <key>ShowNavbarNavigationPanel</key> <map> <key>Comment</key> - <string>Show/Hide Navigation Bar Navigation Panel</string> + <string>Show/hide navigation bar navigation panel</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9902,7 +9902,7 @@ <key>ShowWorldMapButton</key> <map> <key>Comment</key> - <string>Shows/Hides Map button in the bottom tray.</string> + <string>Shows/hides map button in the bottom tray.</string> <key>Persist</key> <integer>1</integer> <key>Type</key> @@ -9913,7 +9913,7 @@ <key>ShowMiniLocationPanel</key> <map> <key>Comment</key> - <string>Show/Hide Mini-Location Panel</string> + <string>Show/hide mini-location panel</string> <key>Persist</key> <integer>1</integer> <key>Type</key> -- GitLab From f3aac4c8ab45d52c4f038ad1a16768d9d8e0b201 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 12:15:41 -0700 Subject: [PATCH 096/213] EXP-1289 FIX -- Default bottom bar is showing "Places" button instead of "Destinations" EXP-1290 FIX -- Snapshot button to be removed from the default left sidebar EXP-1291 FIX -- Places command is missing on the default left sidebar * Updated to new default buttons based on the wiki. * Updated button_display_mode to text rather than numbers. --- indra/newview/app_settings/toolbars.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml index 19dec78c639..21084d2c8da 100644 --- a/indra/newview/app_settings/toolbars.xml +++ b/indra/newview/app_settings/toolbars.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <toolbars> <bottom_toolbar - button_display_mode="0"> + button_display_mode="icons_with_text"> <command name="chat"/> <command name="speak"/> - <command name="places"/> + <command name="destinations"/> <command name="people"/> <command name="profile"/> <command name="view"/> @@ -12,14 +12,14 @@ <command name="howto"/> </bottom_toolbar> <left_toolbar - button_display_mode="1"> + button_display_mode="icons_only"> <command name="avatar"/> + <command name="appearance"/> <command name="inventory"/> - <command name="snapshot"/> <command name="search"/> - <command name="shop"/> - <command name="move_objects"/> + <command name="places"/> + <command name="marketplace"/> + <command name="voice"/> <command name="minimap"/> - <command name="preferences"/> </left_toolbar> -</toolbars> \ No newline at end of file +</toolbars> -- GitLab From 50c0447808f7041d5af5017c847a462e9599bdb5 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 4 Oct 2011 13:26:54 -0700 Subject: [PATCH 097/213] disabled min and max windows macros another attempt at fixing gcc builds --- indra/llcommon/llapr.h | 3 +++ indra/llcommon/llprocesslauncher.h | 1 + indra/llrender/llglheaders.h | 1 + indra/llui/llui.h | 33 +++++++++++++++--------------- indra/llwindow/lldragdropwin32.h | 2 ++ indra/llwindow/llwindowwin32.h | 1 + indra/win_crash_logger/StdAfx.h | 2 +- 7 files changed, 25 insertions(+), 18 deletions(-) diff --git a/indra/llcommon/llapr.h b/indra/llcommon/llapr.h index 3f846f13145..286fc43a77f 100644 --- a/indra/llcommon/llapr.h +++ b/indra/llcommon/llapr.h @@ -37,6 +37,9 @@ // If you get undefined symbols, find the appropriate // Windows header file and include that in your .cpp file. #define WIN32_LEAN_AND_MEAN + // do not define min() and max() macros, which collide with + // things like numeric_limits<T> + #define NOMINMAX #include <winsock2.h> #include <windows.h> #endif diff --git a/indra/llcommon/llprocesslauncher.h b/indra/llcommon/llprocesslauncher.h index 954c2491472..23e48b1823e 100644 --- a/indra/llcommon/llprocesslauncher.h +++ b/indra/llcommon/llprocesslauncher.h @@ -28,6 +28,7 @@ #define LL_LLPROCESSLAUNCHER_H #if LL_WINDOWS +#define NOMINMAX #include <windows.h> #endif diff --git a/indra/llrender/llglheaders.h b/indra/llrender/llglheaders.h index 851a75629e1..b936fd30f84 100644 --- a/indra/llrender/llglheaders.h +++ b/indra/llrender/llglheaders.h @@ -520,6 +520,7 @@ extern PFNGLSAMPLEMASKIPROC glSampleMaski; // windows gl headers depend on things like APIENTRY, so include windows. #define WIN32_LEAN_AND_MEAN +#define NOMINMAX #include <winsock2.h> #include <windows.h> diff --git a/indra/llui/llui.h b/indra/llui/llui.h index 8cec1a16f40..af8f2396576 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -41,6 +41,7 @@ #include <boost/signals2.hpp> #include "lllazyvalue.h" #include "llframetimer.h" +#include <limits> // LLUIFactory #include "llsd.h" @@ -150,27 +151,25 @@ class LLUI // // Classes // + template <typename T> + struct RangeParams : public LLInitParam::Block<RangeParams<T> > + { + Optional<T> minimum, + maximum; + + RangeParams() + : minimum("min", T()), + maximum("max", std::numeric_limits<T>::max()) + {} + }; template <typename T> struct Range { typedef Range<T> self_t; - struct Params : public LLInitParam::Block<Params> - { - typename Optional<T> minimum, - maximum; - - Params() - : minimum("min", 0), - maximum("max", S32_MAX) - { - - } - }; - // correct for inverted params - Range(const Params& p = Params()) + Range(const RangeParams<T>& p = RangeParams<T>()) : mMin(p.minimum), mMax(p.maximum) { @@ -228,12 +227,12 @@ class LLUI { typedef Range<T> range_t; - struct Params : public LLInitParam::Block<Params, typename range_t::Params> + struct Params : public LLInitParam::Block<Params, RangeParams<T> > { - Mandatory<S32> value; + Mandatory<T> value; Params() - : value("", 0) + : value("", T()) { addSynonym(value, "value"); } diff --git a/indra/llwindow/lldragdropwin32.h b/indra/llwindow/lldragdropwin32.h index 929e7f9e377..63054bffec3 100644 --- a/indra/llwindow/lldragdropwin32.h +++ b/indra/llwindow/lldragdropwin32.h @@ -31,6 +31,7 @@ #ifndef LL_LLDRAGDROP32_H #define LL_LLDRAGDROP32_H +#define NOMINMAX #include <windows.h> #include <ole2.h> @@ -54,6 +55,7 @@ class LLDragDropWin32 #ifndef LL_LLDRAGDROP32_H #define LL_LLDRAGDROP32_H +#define NOMINMAX #include <windows.h> #include <ole2.h> diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h index 387e4cbdb65..dc1950fb315 100644 --- a/indra/llwindow/llwindowwin32.h +++ b/indra/llwindow/llwindowwin32.h @@ -29,6 +29,7 @@ // Limit Windows API to small and manageable set. #define WIN32_LEAN_AND_MEAN +#define NOMINMAX #include <winsock2.h> #include <windows.h> diff --git a/indra/win_crash_logger/StdAfx.h b/indra/win_crash_logger/StdAfx.h index ce70fe2994c..71faf88bad8 100644 --- a/indra/win_crash_logger/StdAfx.h +++ b/indra/win_crash_logger/StdAfx.h @@ -37,7 +37,7 @@ #endif // _MSC_VER > 1000 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers - +#define NOMINMAX // don't define min and max macros // Windows Header Files: #include <windows.h> -- GitLab From db2e763ff0537785336a330d03bb9307478cb79a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 14:09:03 -0700 Subject: [PATCH 098/213] * Modified commands to add functions for is_enabled, is_running and is_starting, currently not hooked to any functionality. --- indra/llui/llcommandmanager.cpp | 24 +++++-- indra/llui/llcommandmanager.h | 43 ++++++++++-- indra/llui/lltoolbar.cpp | 4 +- indra/newview/app_settings/commands.xml | 92 ++++++++++++------------- indra/newview/llfloatertoybox.cpp | 34 ++------- indra/newview/llfloatertoybox.h | 4 -- 6 files changed, 109 insertions(+), 92 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index b1147134c21..922f243806c 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -48,24 +48,36 @@ const LLCommandId LLCommandId::null("null command"); // LLCommand::Params::Params() - : function("function") - , available_in_toybox("available_in_toybox", false) + : available_in_toybox("available_in_toybox", false) , icon("icon") , label_ref("label_ref") , name("name") - , parameter("parameter") , tooltip_ref("tooltip_ref") + , execute_function("execute_function") + , execute_parameters("execute_parameters") + , is_enabled_function("is_enabled_function") + , is_enabled_parameters("is_enabled_parameters") + , is_running_function("is_running_function") + , is_running_parameters("is_running_parameters") + , is_starting_function("is_starting_function") + , is_starting_parameters("is_starting_parameters") { } LLCommand::LLCommand(const LLCommand::Params& p) - : mFunction(p.function) - , mAvailableInToybox(p.available_in_toybox) + : mAvailableInToybox(p.available_in_toybox) , mIcon(p.icon) , mIdentifier(p.name) , mLabelRef(p.label_ref) - , mParameter(p.parameter) , mTooltipRef(p.tooltip_ref) + , mExecuteFunction(p.execute_function) + , mExecuteParameters(p.execute_parameters) + , mIsEnabledFunction(p.is_enabled_function) + , mIsEnabledParameters(p.is_enabled_parameters) + , mIsRunningFunction(p.is_running_function) + , mIsRunningParameters(p.is_running_parameters) + , mIsStartingFunction(p.is_starting_function) + , mIsStartingParameters(p.is_starting_parameters) { } diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 6481a056895..3ac5548a0dc 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -83,41 +83,72 @@ class LLCommandId typedef std::list<LLCommandId> command_id_list_t; + class LLCommand { public: struct Params : public LLInitParam::Block<Params> { Mandatory<bool> available_in_toybox; - Mandatory<std::string> function; Mandatory<std::string> icon; Mandatory<std::string> label_ref; Mandatory<std::string> name; - Optional<LLSD> parameter; Mandatory<std::string> tooltip_ref; + Mandatory<std::string> execute_function; + Optional<LLSD> execute_parameters; + + Optional<std::string> is_enabled_function; + Optional<LLSD> is_enabled_parameters; + + Optional<std::string> is_running_function; + Optional<LLSD> is_running_parameters; + + Optional<std::string> is_starting_function; + Optional<LLSD> is_starting_parameters; + Params(); }; LLCommand(const LLCommand::Params& p); const bool availableInToybox() const { return mAvailableInToybox; } - const std::string& functionName() const { return mFunction; } const std::string& icon() const { return mIcon; } const LLCommandId& id() const { return mIdentifier; } const std::string& labelRef() const { return mLabelRef; } - const LLSD& parameter() const { return mParameter; } const std::string& tooltipRef() const { return mTooltipRef; } + const std::string& executeFunctionName() const { return mExecuteFunction; } + const LLSD& executeParameters() const { return mExecuteParameters; } + + const std::string& isEnabledFunctionName() const { return mIsEnabledFunction; } + const LLSD& isEnabledParameters() const { return mIsEnabledParameters; } + + const std::string& isRunningFunctionName() const { return mIsRunningFunction; } + const LLSD& isRunningParameters() const { return mIsRunningParameters; } + + const std::string& isStartingFunctionName() const { return mIsStartingFunction; } + const LLSD& isStartingParameters() const { return mIsStartingParameters; } + private: LLCommandId mIdentifier; bool mAvailableInToybox; - std::string mFunction; std::string mIcon; std::string mLabelRef; - LLSD mParameter; std::string mTooltipRef; + + std::string mExecuteFunction; + LLSD mExecuteParameters; + + std::string mIsEnabledFunction; + LLSD mIsEnabledParameters; + + std::string mIsRunningFunction; + LLSD mIsRunningParameters; + + std::string mIsStartingFunction; + LLSD mIsStartingParameters; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index efa077ffa10..a544aa9ec7e 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -525,8 +525,8 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) if (!mReadOnly) { LLUICtrl::CommitCallbackParam cbParam; - cbParam.function_name = commandp->functionName(); - cbParam.parameter = commandp->parameter(); + cbParam.function_name = commandp->executeFunctionName(); + cbParam.parameter = commandp->executeParameters(); button->setCommitCallback(cbParam); button->setStartDragCallback(mStartDragItemCallback); button->setHandleDragCallback(mHandleDragItemCallback); diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 77bf7cace3e..3a91ef490d7 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -5,183 +5,183 @@ icon="Command_AboutLand_Icon" label_ref="Command_AboutLand_Label" tooltip_ref="Command_AboutLand_Tooltip" - function="Floater.ToolbarToggle" - parameter="about_land" + execute_function="Floater.ToolbarToggle" + execute_parameters="about_land" /> <command name="appearance" available_in_toybox="true" icon="Command_Appearance_Icon" label_ref="Command_Appearance_Label" tooltip_ref="Command_Appearance_Tooltip" - function="Floater.ToolbarToggle" - parameter="appearance" + execute_function="Floater.ToolbarToggle" + execute_parameters="appearance" /> <command name="avatar" available_in_toybox="true" icon="Command_Avatar_Icon" label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" - function="Floater.ToolbarToggle" - parameter="avatar_picker" + execute_function="Floater.ToolbarToggle" + execute_parameters="avatar_picker" /> <command name="build" available_in_toybox="true" icon="Command_Build_Icon" label_ref="Command_Build_Label" tooltip_ref="Command_Build_Tooltip" - function="Floater.ToolbarToggle" - parameter="build" + execute_function="Floater.ToolbarToggle" + execute_parameters="build" /> <command name="chat" available_in_toybox="true" icon="Command_Chat_Icon" label_ref="Command_Chat_Label" tooltip_ref="Command_Chat_Tooltip" - function="Floater.ToolbarToggle" - parameter="chat_bar" + execute_function="Floater.ToolbarToggle" + execute_parameters="chat_bar" /> <command name="compass" available_in_toybox="false" icon="Command_Compass_Icon" label_ref="Command_Compass_Label" tooltip_ref="Command_Compass_Tooltip" - function="Floater.ToolbarToggle" - parameter="compass" + execute_function="Floater.ToolbarToggle" + execute_parameters="compass" /> <command name="destinations" available_in_toybox="true" icon="Command_Destinations_Icon" label_ref="Command_Destinations_Label" tooltip_ref="Command_Destinations_Tooltip" - function="Floater.ToolbarToggle" - parameter="destinations" + execute_function="Floater.ToolbarToggle" + execute_parameters="destinations" /> <command name="gestures" available_in_toybox="true" icon="Command_Gestures_Icon" label_ref="Command_Gestures_Label" tooltip_ref="Command_Gestures_Tooltip" - function="Floater.ToolbarToggle" - parameter="gestures" + execute_function="Floater.ToolbarToggle" + execute_parameters="gestures" /> <command name="howto" available_in_toybox="true" icon="Command_HowTo_Icon" label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" - function="Floater.ToolbarToggle" - parameter="help_browser" + execute_function="Floater.ToolbarToggle" + execute_parameters="help_browser" /> <command name="inventory" available_in_toybox="true" icon="Command_Inventory_Icon" label_ref="Command_Inventory_Label" tooltip_ref="Command_Inventory_Tooltip" - function="Floater.ToolbarToggle" - parameter="inventory" + execute_function="Floater.ToolbarToggle" + execute_parameters="inventory" /> <command name="map" available_in_toybox="true" icon="Command_Map_Icon" label_ref="Command_Map_Label" tooltip_ref="Command_Map_Tooltip" - function="Floater.ToolbarToggle" - parameter="world_map" + execute_function="Floater.ToolbarToggle" + execute_parameters="world_map" /> <command name="marketplace" available_in_toybox="true" icon="Command_Marketplace_Icon" label_ref="Command_Marketplace_Label" tooltip_ref="Command_Marketplace_Tooltip" - function="Floater.ToolbarToggle" - parameter="marketplace" + execute_function="Floater.ToolbarToggle" + execute_parameters="marketplace" /> <command name="minimap" available_in_toybox="true" icon="Command_MiniMap_Icon" label_ref="Command_MiniMap_Label" tooltip_ref="Command_MiniMap_Tooltip" - function="Floater.ToolbarToggle" - parameter="mini_map" + execute_function="Floater.ToolbarToggle" + execute_parameters="mini_map" /> <command name="move" available_in_toybox="true" icon="Command_Move_Icon" label_ref="Command_Move_Label" tooltip_ref="Command_Move_Tooltip" - function="Floater.ToolbarToggle" - parameter="moveview" + execute_function="Floater.ToolbarToggle" + execute_parameters="moveview" /> <command name="people" available_in_toybox="true" icon="Command_People_Icon" label_ref="Command_People_Label" tooltip_ref="Command_People_Tooltip" - function="Floater.ToolbarToggle" - parameter="people" + execute_function="Floater.ToolbarToggle" + execute_parameters="people" /> <command name="places" available_in_toybox="true" icon="Command_Places_Icon" label_ref="Command_Places_Label" tooltip_ref="Command_Places_Tooltip" - function="Floater.ToolbarToggle" - parameter="places" + execute_function="Floater.ToolbarToggle" + execute_parameters="places" /> <command name="preferences" available_in_toybox="true" icon="Command_Preferences_Icon" label_ref="Command_Preferences_Label" tooltip_ref="Command_Preferences_Tooltip" - function="Floater.ToolbarToggle" - parameter="preferences" + execute_function="Floater.ToolbarToggle" + execute_parameters="preferences" /> <command name="profile" available_in_toybox="true" icon="Command_Profile_Icon" label_ref="Command_Profile_Label" tooltip_ref="Command_Profile_Tooltip" - function="Floater.ToolbarToggle" - parameter="my_profile" + execute_function="Floater.ToolbarToggle" + execute_parameters="my_profile" /> <command name="search" available_in_toybox="true" icon="Command_Search_Icon" label_ref="Command_Search_Label" tooltip_ref="Command_Search_Tooltip" - function="Floater.ToolbarToggle" - parameter="search" + execute_function="Floater.ToolbarToggle" + execute_parameters="search" /> <command name="snapshot" available_in_toybox="true" icon="Command_Snapshot_Icon" label_ref="Command_Snapshot_Label" tooltip_ref="Command_Snapshot_Tooltip" - function="Floater.ToolbarToggle" - parameter="snapshot" + execute_function="Floater.ToolbarToggle" + execute_parameters="snapshot" /> <command name="speak" available_in_toybox="true" icon="Command_Speak_Icon" label_ref="Command_Speak_Label" tooltip_ref="Command_Speak_Tooltip" - function="Floater.ToolbarToggle" - parameter="speak" + execute_function="Floater.ToolbarToggle" + execute_parameters="speak" /> <command name="view" available_in_toybox="true" icon="Command_View_Icon" label_ref="Command_View_Label" tooltip_ref="Command_View_Tooltip" - function="Floater.ToolbarToggle" - parameter="camera" + execute_function="Floater.ToolbarToggle" + execute_parameters="camera" /> <command name="voice" available_in_toybox="true" icon="Command_Voice_Icon" label_ref="Command_Voice_Label" tooltip_ref="Command_Voice_Tooltip" - function="Floater.ToolbarToggle" - parameter="voice_controls" + execute_function="Floater.ToolbarToggle" + execute_parameters="voice_controls" /> </commands> diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index 7a6afb4e33a..cf22e071aaf 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -61,8 +61,6 @@ BOOL LLFloaterToybox::postBuild() center(); mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); - mBtnRestoreDefaults->setCommitCallback(boost::bind(&LLToolBarView::loadDefaultToolbars)); - mToolBar = getChild<LLToolBar>("toybox_toolbar"); LLCommandManager& cmdMgr = LLCommandManager::instance(); @@ -97,46 +95,26 @@ BOOL LLFloaterToybox::postBuild() return TRUE; } -void LLFloaterToybox::onOpen(const LLSD& key) -{ - -} - -BOOL LLFloaterToybox::canClose() -{ - return TRUE; -} - -void LLFloaterToybox::onClose(bool app_quitting) -{ - -} - void LLFloaterToybox::draw() { llassert(gToolBarView != NULL); - LLCommandManager& cmdMgr = LLCommandManager::instance(); + const command_id_list_t& command_list = mToolBar->getCommandsList(); - for (U32 i = 0; i < cmdMgr.commandCount(); i++) + for (command_id_list_t::const_iterator it = command_list.begin(); it != command_list.end(); ++it) { - LLCommand * command = cmdMgr.getCommand(i); + const LLCommandId& id = *it; - if (command->availableInToybox()) - { - mToolBar->enableCommand(command->id(), !gToolBarView->hasCommand(command->id())); - } + const bool commandOnToolbar = gToolBarView->hasCommand(id); + mToolBar->enableCommand(id, !commandOnToolbar); } LLFloater::draw(); } -void LLFloaterToybox::onFocusReceived() -{ -} - void LLFloaterToybox::onBtnRestoreDefaults() { + LLToolBarView::loadDefaultToolbars(); } diff --git a/indra/newview/llfloatertoybox.h b/indra/newview/llfloatertoybox.h index 3574e060bf4..f7245506c59 100644 --- a/indra/newview/llfloatertoybox.h +++ b/indra/newview/llfloatertoybox.h @@ -42,11 +42,7 @@ class LLFloaterToybox : public LLFloater // virtuals BOOL postBuild(); - void onOpen(const LLSD& key); - BOOL canClose(); - void onClose(bool app_quitting); void draw(); - void onFocusReceived(); protected: void onBtnRestoreDefaults(); -- GitLab From a8fcfc5e19811ce579799d415a9ad63a0f1f6dc7 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 4 Oct 2011 14:11:45 -0700 Subject: [PATCH 099/213] removed attempt at templating LLUI::Clamp values in order to get build working again --- indra/llcommon/llapr.h | 3 -- indra/llcommon/llprocesslauncher.h | 1 - indra/llrender/llglheaders.h | 1 - indra/llui/lltoolbar.h | 4 +- indra/llui/llui.h | 72 +++++++++++++----------------- indra/llwindow/lldragdropwin32.h | 2 - indra/llwindow/llwindowwin32.h | 1 - indra/win_crash_logger/StdAfx.h | 1 - 8 files changed, 34 insertions(+), 51 deletions(-) diff --git a/indra/llcommon/llapr.h b/indra/llcommon/llapr.h index 286fc43a77f..3f846f13145 100644 --- a/indra/llcommon/llapr.h +++ b/indra/llcommon/llapr.h @@ -37,9 +37,6 @@ // If you get undefined symbols, find the appropriate // Windows header file and include that in your .cpp file. #define WIN32_LEAN_AND_MEAN - // do not define min() and max() macros, which collide with - // things like numeric_limits<T> - #define NOMINMAX #include <winsock2.h> #include <windows.h> #endif diff --git a/indra/llcommon/llprocesslauncher.h b/indra/llcommon/llprocesslauncher.h index 23e48b1823e..954c2491472 100644 --- a/indra/llcommon/llprocesslauncher.h +++ b/indra/llcommon/llprocesslauncher.h @@ -28,7 +28,6 @@ #define LL_LLPROCESSLAUNCHER_H #if LL_WINDOWS -#define NOMINMAX #include <windows.h> #endif diff --git a/indra/llrender/llglheaders.h b/indra/llrender/llglheaders.h index b936fd30f84..851a75629e1 100644 --- a/indra/llrender/llglheaders.h +++ b/indra/llrender/llglheaders.h @@ -520,7 +520,6 @@ extern PFNGLSAMPLEMASKIPROC glSampleMaski; // windows gl headers depend on things like APIENTRY, so include windows. #define WIN32_LEAN_AND_MEAN -#define NOMINMAX #include <winsock2.h> #include <windows.h> diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 407cbde7d27..3c317e10a2b 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -45,7 +45,7 @@ class LLToolBarButton : public LLButton public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { - Optional<LLUI::Range<S32> > button_width; + Optional<LLUI::RangeS32> button_width; Optional<S32> desired_height; Params() @@ -67,7 +67,7 @@ class LLToolBarButton : public LLButton LLCommandId mId; S32 mMouseDownX; S32 mMouseDownY; - LLUI::Range<S32> mWidthRange; + LLUI::RangeS32 mWidthRange; S32 mDesiredHeight; bool mIsDragged; startdrag_callback_t mStartDragItemCallback; diff --git a/indra/llui/llui.h b/indra/llui/llui.h index af8f2396576..28e84fa4441 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -151,46 +151,43 @@ class LLUI // // Classes // - template <typename T> - struct RangeParams : public LLInitParam::Block<RangeParams<T> > - { - Optional<T> minimum, - maximum; - RangeParams() - : minimum("min", T()), - maximum("max", std::numeric_limits<T>::max()) - {} - }; - - template <typename T> - struct Range + struct RangeS32 { - typedef Range<T> self_t; + struct Params : public LLInitParam::Block<Params> + { + Optional<S32> minimum, + maximum; + + Params() + : minimum("min", 0), + maximum("max", S32_MAX) + {} + }; // correct for inverted params - Range(const RangeParams<T>& p = RangeParams<T>()) - : mMin(p.minimum), + RangeS32(const Params& p = Params()) + : mMin(p.minimum), mMax(p.maximum) { sanitizeRange(); } - Range(T minimum, T maximum) - : mMin(minimum), + RangeS32(S32 minimum, S32 maximum) + : mMin(minimum), mMax(maximum) { sanitizeRange(); } - S32 clamp(T input) + S32 clamp(S32 input) { if (input < mMin) return mMin; if (input > mMax) return mMax; return input; } - void setRange(T minimum, T maximum) + void setRange(S32 minimum, S32 maximum) { mMin = minimum; mMax = maximum; @@ -200,7 +197,7 @@ class LLUI S32 getMin() { return mMin; } S32 getMax() { return mMax; } - bool operator==(const self_t& other) const + bool operator==(const RangeS32& other) const { return mMin == other.mMin && mMax == other.mMax; @@ -218,60 +215,55 @@ class LLUI } - T mMin, + S32 mMin, mMax; }; - template<typename T> - struct ClampedValue : public Range<T> + struct ClampedS32 : public RangeS32 { - typedef Range<T> range_t; - - struct Params : public LLInitParam::Block<Params, RangeParams<T> > + struct Params : public LLInitParam::Block<Params, RangeS32::Params> { - Mandatory<T> value; + Mandatory<S32> value; Params() - : value("", T()) + : value("", 0) { addSynonym(value, "value"); } }; - ClampedValue(const Params& p) - : range_t(p) + ClampedS32(const Params& p) + : RangeS32(p) {} - ClampedValue(const range_t& range) - : range_t(range) + ClampedS32(const RangeS32& range) + : RangeS32(range) { // set value here, after range has been sanitized mValue = clamp(0); } - ClampedValue(T value, const range_t& range = range_t()) - : range_t(range) + ClampedS32(S32 value, const RangeS32& range = RangeS32()) + : RangeS32(range) { mValue = clamp(value); } - T get() + S32 get() { return mValue; } - void set(T value) + void set(S32 value) { mValue = clamp(value); } private: - T mValue; + S32 mValue; }; - typedef ClampedValue<S32> ClampedS32; - // // Methods // diff --git a/indra/llwindow/lldragdropwin32.h b/indra/llwindow/lldragdropwin32.h index 63054bffec3..929e7f9e377 100644 --- a/indra/llwindow/lldragdropwin32.h +++ b/indra/llwindow/lldragdropwin32.h @@ -31,7 +31,6 @@ #ifndef LL_LLDRAGDROP32_H #define LL_LLDRAGDROP32_H -#define NOMINMAX #include <windows.h> #include <ole2.h> @@ -55,7 +54,6 @@ class LLDragDropWin32 #ifndef LL_LLDRAGDROP32_H #define LL_LLDRAGDROP32_H -#define NOMINMAX #include <windows.h> #include <ole2.h> diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h index dc1950fb315..387e4cbdb65 100644 --- a/indra/llwindow/llwindowwin32.h +++ b/indra/llwindow/llwindowwin32.h @@ -29,7 +29,6 @@ // Limit Windows API to small and manageable set. #define WIN32_LEAN_AND_MEAN -#define NOMINMAX #include <winsock2.h> #include <windows.h> diff --git a/indra/win_crash_logger/StdAfx.h b/indra/win_crash_logger/StdAfx.h index 71faf88bad8..35976658acb 100644 --- a/indra/win_crash_logger/StdAfx.h +++ b/indra/win_crash_logger/StdAfx.h @@ -37,7 +37,6 @@ #endif // _MSC_VER > 1000 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -#define NOMINMAX // don't define min and max macros // Windows Header Files: #include <windows.h> -- GitLab From 05879242832607795040573791b0790891367b81 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 14:55:55 -0700 Subject: [PATCH 100/213] * Updating "Move" floater to be more FUI-like --- indra/newview/llmoveview.cpp | 2 -- indra/newview/skins/default/xui/en/floater_moveview.xml | 5 +++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index 142ee40cc8a..a29526777a4 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -92,8 +92,6 @@ LLFloaterMove::~LLFloaterMove() // virtual BOOL LLFloaterMove::postBuild() { - setIsChrome(TRUE); - setTitleVisible(TRUE); // restore title visibility after chrome applying updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730) LLDockableFloater::postBuild(); diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index 6f29255a6b5..3c0905a2a54 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - can_dock="true" + can_dock="false" can_minimize="true" - can_close="false" + can_close="true" follows="bottom" height="110" layout="topleft" @@ -12,6 +12,7 @@ save_rect="true" save_visibility="true" save_dock_state="true" + title="Move" width="133"> <string name="walk_forward_tooltip"> -- GitLab From 4716969716245ea832400dd087c93a514770cd63 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Tue, 4 Oct 2011 15:10:12 -0700 Subject: [PATCH 101/213] EXP-1293 Nearby chat toasts no longer appear EXP-1294 Nearby chat floater doesn't accommodate existing chat history when expanded --- indra/newview/llnearbychatbar.cpp | 6 +++++- indra/newview/skins/default/xui/en/floater_chat_bar.xml | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index dbe30e18472..cba4fafe42d 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -53,6 +53,8 @@ S32 LLNearbyChatBar::sLastSpecialChatChannel = 0; +const S32 EXPANDED_HEIGHT = 300; + // legacy callback glue void send_chat_from_viewer(const std::string& utf8_out_text, EChatType type, S32 channel); @@ -448,13 +450,15 @@ BOOL LLNearbyChatBar::postBuild() // Register for font change notifications LLViewerChat::setFontChangedCallback(boost::bind(&LLNearbyChatBar::onChatFontChange, this, _1)); + mExpandedHeight = getMinHeight() + EXPANDED_HEIGHT; + return TRUE; } void LLNearbyChatBar::applyRectControl() { LLFloater::applyRectControl(); - if (getRect().getHeight() > getMinHeight()) + if (getRect().getHeight() > getMinHeight()) { getChildView("nearby_chat")->setVisible(true); mExpandedHeight = getRect().getHeight(); diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index 9d61c94eb14..6977e29b788 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -2,7 +2,7 @@ <floater height="60" layout="topleft" - legacy_header_height="20" + legacy_header_height="25" single_instance="true" title="Nearby chat" save_rect="true" @@ -38,7 +38,7 @@ text_pad_left="5" text_pad_right="25" tool_tip="Press Enter to say, Ctrl+Enter to shout" - top="0" + top="2" width="335" /> <output_monitor auto_update="true" @@ -49,14 +49,14 @@ left_pad="-24" mouse_opaque="true" name="chat_zone_indicator" - top="4" + top="6" visible="true" width="20" /> <button follows="right" is_toggle="true" width="20" - top="0" + top="2" layout="topleft" left_pad="12" image_disabled="ComboButton_UpOff" -- GitLab From 4ee79abdca66f73aaba25ebf0b874bd422db46f6 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 4 Oct 2011 15:21:13 -0700 Subject: [PATCH 102/213] Renamed PREFERENCES --- indra/newview/skins/default/xui/en/floater_preferences.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml index dcfa8bc060d..c8a139904a8 100644 --- a/indra/newview/skins/default/xui/en/floater_preferences.xml +++ b/indra/newview/skins/default/xui/en/floater_preferences.xml @@ -8,7 +8,7 @@ name="Preferences" help_topic="preferences" single_instance="true" - title="PREFERENCES" + title="Preferences" width="658"> <button follows="right|bottom" -- GitLab From 3b3a13707309eb4b7d6ed5d309081c99e5f28eca Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 5 Oct 2011 11:18:17 -0700 Subject: [PATCH 103/213] EXP-1286 : DaD is functional though has bugs... Working on it... --- indra/llui/llcommandmanager.cpp | 18 +++++- indra/llui/llcommandmanager.h | 13 +++- indra/llui/lltoolbar.cpp | 103 +++++++++++++++++++++++++++----- indra/llui/lltoolbar.h | 38 ++++++------ indra/newview/lltoolbarview.cpp | 54 ++++++++--------- indra/newview/lltoolbarview.h | 2 +- 6 files changed, 165 insertions(+), 63 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index b1147134c21..a8127ab3e3b 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -112,9 +112,25 @@ LLCommand * LLCommandManager::getCommand(const LLCommandId& commandId) return command_match; } +LLCommand * LLCommandManager::getCommand(const LLUUID& commandUUID) +{ + LLCommand * command_match = NULL; + + CommandUUIDMap::const_iterator found = mCommandUUIDs.find(commandUUID); + + if (found != mCommandUUIDs.end()) + { + command_match = mCommands[found->second]; + } + + return command_match; +} + void LLCommandManager::addCommand(LLCommand * command) { - mCommandIndices[command->id()] = mCommands.size(); + LLCommandId command_id = command->id(); + mCommandIndices[command_id] = mCommands.size(); + mCommandUUIDs[command_id.uuid()] = mCommands.size(); mCommands.push_back(command); lldebugs << "Successfully added command: " << command->id().name() << llendl; diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 6481a056895..c3d2cccd73b 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -52,13 +52,18 @@ class LLCommandId LLCommandId(const std::string& name) : mName(name) - {} + { + mUUID = LLUUID::LLUUID::generateNewID(name); + } LLCommandId(const Params& p) : mName(p.name) - {} + { + mUUID = LLUUID::LLUUID::generateNewID(p.name); + } const std::string& name() const { return mName; } + const LLUUID& uuid() const { return mUUID; } bool operator!=(const LLCommandId& command) const { @@ -79,6 +84,7 @@ class LLCommandId private: std::string mName; + LLUUID mUUID; }; typedef std::list<LLCommandId> command_id_list_t; @@ -141,6 +147,7 @@ class LLCommandManager U32 commandCount() const; LLCommand * getCommand(U32 commandIndex); LLCommand * getCommand(const LLCommandId& commandId); + LLCommand * getCommand(const LLUUID& commandUUID); static bool load(); @@ -148,11 +155,13 @@ class LLCommandManager void addCommand(LLCommand * command); private: + typedef std::map<LLUUID, U32> CommandUUIDMap; typedef std::map<LLCommandId, U32> CommandIndexMap; typedef std::vector<LLCommand *> CommandVector; CommandVector mCommands; CommandIndexMap mCommandIndices; + CommandUUIDMap mCommandUUIDs; }; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 199574629fb..c349bbcf2ed 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -107,7 +107,6 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; - mUUID = LLUUID::LLUUID::generateNewID(p.name); } LLToolBar::~LLToolBar() @@ -193,21 +192,71 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mNeedsLayout = true; } -bool LLToolBar::addCommand(const LLCommandId& commandId) +bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) { LLCommand * command = LLCommandManager::instance().getCommand(commandId); if (!command) return false; - mButtonCommands.push_back(commandId); + // Create the button and do the things that don't need ordering LLToolBarButton* button = createButton(commandId); - mButtons.push_back(button); mButtonPanel->addChild(button); mButtonMap.insert(std::make_pair(commandId, button)); + + // Insert the command and button in the right place in their respective lists + if ((rank >= mButtonCommands.size()) || (rank < 0)) + { + // In that case, back load + mButtonCommands.push_back(commandId); + mButtons.push_back(button); + } + else + { + // Insert in place: iterate to the right spot... + std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); + command_id_list_t::iterator it_command = mButtonCommands.begin(); + while (rank > 0) + { + ++it_button; + ++it_command; + rank--; + } + // ...then insert + mButtonCommands.insert(it_command,commandId); + mButtons.insert(it_button,button); + } + mNeedsLayout = true; return true; } +bool LLToolBar::removeCommand(const LLCommandId& commandId) +{ + if (!hasCommand(commandId)) return false; + + // First erase the map record + command_id_map::iterator it = mButtonMap.find(commandId); + mButtonMap.erase(it); + + // Now iterate on the commands and buttons to identify the relevant records + std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); + command_id_list_t::iterator it_command = mButtonCommands.begin(); + while (*it_command != commandId) + { + ++it_button; + ++it_command; + } + + // Delete the button and erase the command and button records + delete (*it_button); + mButtonCommands.erase(it_command); + mButtons.erase(it_button); + + mNeedsLayout = true; + + return true; +} + void LLToolBar::clearCommandsList() { // Clears the commands list @@ -328,6 +377,33 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row } } +int LLToolBar::getRankFromPosition(S32 x, S32 y) +{ + int rank = 0; + + LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); + + // Simply compare the passed coord with the buttons outbound box + std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); + std::list<LLToolBarButton*>::iterator end_button = mButtons.end(); + while (it_button != end_button) + { + LLRect button_rect = (*it_button)->getRect(); + if (((orientation == LLLayoutStack::HORIZONTAL) && (button_rect.mRight > x)) || + ((orientation == LLLayoutStack::VERTICAL) && (button_rect.mTop > y)) ) + { + llinfos << "Merov debug : rank compute: orientation = " << orientation << ", x = " << x << ", y = " << y << llendl; + llinfos << "Merov debug : rank compute: rect = " << button_rect.mLeft << ", " << button_rect.mTop << ", " << button_rect.mRight << ", " << button_rect.mBottom << llendl; + break; + } + rank++; + ++it_button; + } + llinfos << "Merov debug : rank = " << rank << llendl; + + return rank; +} + void LLToolBar::updateLayoutAsNeeded() { if (!mNeedsLayout) return; @@ -494,6 +570,7 @@ void LLToolBar::createButtons() delete button; } mButtons.clear(); + mButtonMap.clear(); BOOST_FOREACH(LLCommandId& command_id, mButtonCommands) { @@ -503,7 +580,6 @@ void LLToolBar::createButtons() mButtonMap.insert(std::make_pair(command_id, button)); } mNeedsLayout = true; - } LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) @@ -543,20 +619,20 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EAcceptance* accept, std::string& tooltip_msg) { - llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", tooltip = " << tooltip_msg << llendl; + llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; // If we have a drop callback, that means that we can handle the drop BOOL handled = (mHandleDropCallback ? TRUE : FALSE); - // if drop, time to call the drop callback to get the operation done + // if drop is set, it's time to call the callback to get the operation done if (handled && drop) { - handled = mHandleDropCallback(cargo_type,cargo_data,mUUID); + handled = mHandleDropCallback(cargo_data, x, y ,this); } - // We accept multi drop by default - *accept = (handled ? ACCEPT_YES_MULTI : ACCEPT_NO); + // We accept only single tool drop on toolbars + *accept = (handled ? ACCEPT_YES_SINGLE : ACCEPT_NO); - // We'll use that flag to change the visual aspect of the target on draw() + // We'll use that flag to change the visual aspect of the toolbar target on draw() mDragAndDropTarget = handled; return handled; @@ -571,7 +647,6 @@ LLToolBarButton::LLToolBarButton(const Params& p) mDesiredHeight(p.desired_height), mId("") { - mUUID = LLUUID::LLUUID::generateNewID(p.name); } BOOL LLToolBarButton::handleMouseDown(S32 x, S32 y, MASK mask) @@ -590,13 +665,13 @@ BOOL LLToolBarButton::handleHover( S32 x, S32 y, MASK mask ) { if (!mIsDragged) { - mStartDragItemCallback(x,y,mUUID); + mStartDragItemCallback(x,y,mId.uuid()); mIsDragged = true; handled = TRUE; } else { - handled = mHandleDragItemCallback(x,y,mUUID,LLAssetType::AT_WIDGET); + handled = mHandleDragItemCallback(x,y,mId.uuid(),LLAssetType::AT_WIDGET); } } else diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 10e5f49c0fc..ddf2e048b69 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -35,9 +35,11 @@ #include "llcommandmanager.h" #include "llassettype.h" -typedef boost::function<void (S32 x, S32 y, const LLUUID& uuid)> startdrag_callback_t; -typedef boost::function<BOOL (S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type)> handledrag_callback_t; -typedef boost::function<BOOL (EDragAndDropType type, void* data, const LLUUID& uuid)> handledrop_callback_t; +class LLToolBar; + +typedef boost::function<void (S32 x, S32 y, const LLUUID& uuid)> tool_startdrag_callback_t; +typedef boost::function<BOOL (S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type)> tool_handledrag_callback_t; +typedef boost::function<BOOL (void* data, S32 x, S32 y, LLToolBar* toolbar)> tool_handledrop_callback_t; class LLToolBarButton : public LLButton { @@ -63,8 +65,8 @@ class LLToolBarButton : public LLButton BOOL handleHover(S32 x, S32 y, MASK mask); void setCommandId(const LLCommandId& id) { mId = id; } - void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } - void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } + void setStartDragCallback(tool_startdrag_callback_t cb) { mStartDragItemCallback = cb; } + void setHandleDragCallback(tool_handledrag_callback_t cb) { mHandleDragItemCallback = cb; } private: LLCommandId mId; S32 mMouseDownX; @@ -72,10 +74,9 @@ class LLToolBarButton : public LLButton S32 mMinWidth; S32 mMaxWidth; S32 mDesiredHeight; - bool mIsDragged; - startdrag_callback_t mStartDragItemCallback; - handledrag_callback_t mHandleDragItemCallback; - LLUUID mUUID; + bool mIsDragged; + tool_startdrag_callback_t mStartDragItemCallback; + tool_handledrag_callback_t mHandleDragItemCallback; }; @@ -146,6 +147,7 @@ class LLToolBar // virtuals void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + int getRankFromPosition(S32 x, S32 y); BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, @@ -153,12 +155,13 @@ class LLToolBar EAcceptance* accept, std::string& tooltip_msg); - bool addCommand(const LLCommandId& commandId); + bool addCommand(const LLCommandId& commandId, int rank = -1); + bool removeCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); - void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } - void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } - void setHandleDropCallback(handledrop_callback_t cb) { mHandleDropCallback = cb; } + void setStartDragCallback(tool_startdrag_callback_t cb) { mStartDragItemCallback = cb; } + void setHandleDragCallback(tool_handledrag_callback_t cb) { mHandleDragItemCallback = cb; } + void setHandleDropCallback(tool_handledrop_callback_t cb) { mHandleDropCallback = cb; } LLToolBarButton* createButton(const LLCommandId& id); @@ -168,10 +171,10 @@ class LLToolBar ~LLToolBar(); void initFromParams(const Params&); - startdrag_callback_t mStartDragItemCallback; - handledrag_callback_t mHandleDragItemCallback; - handledrop_callback_t mHandleDropCallback; - bool mDragAndDropTarget; + tool_startdrag_callback_t mStartDragItemCallback; + tool_handledrag_callback_t mHandleDragItemCallback; + tool_handledrop_callback_t mHandleDropCallback; + bool mDragAndDropTarget; public: // Methods used in loading and saving toolbar settings @@ -188,7 +191,6 @@ class LLToolBar BOOL isSettingChecked(const LLSD& userdata); void onSettingEnable(const LLSD& userdata); - LLUUID mUUID; const bool mReadOnly; std::list<LLToolBarButton*> mButtons; diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 5822f682df1..a0ea1f43e35 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -82,15 +82,15 @@ BOOL LLToolBarView::postBuild() mToolbarLeft->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); mToolbarLeft->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarLeft->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + mToolbarLeft->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); mToolbarRight->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); mToolbarRight->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarRight->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + mToolbarRight->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); mToolbarBottom->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); mToolbarBottom->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarBottom->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3)); + mToolbarBottom->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); return TRUE; } @@ -286,10 +286,6 @@ void LLToolBarView::addToToolset(command_id_list_t& command_list, Toolbar& toolb void LLToolBarView::draw() { - static bool debug_print = true; - static S32 old_width = 0; - static S32 old_height = 0; - //LLPanel* sizer_left = getChild<LLPanel>("sizer_left"); LLRect bottom_rect, left_rect, right_rect; @@ -310,19 +306,6 @@ void LLToolBarView::draw() mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); } - if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight())) - debug_print = true; - if (debug_print) - { - LLRect ctrl_rect = getRect(); - llinfos << "Merov debug : draw control rect = " << ctrl_rect.mLeft << ", " << ctrl_rect.mTop << ", " << ctrl_rect.mRight << ", " << ctrl_rect.mBottom << llendl; - llinfos << "Merov debug : draw bottom rect = " << bottom_rect.mLeft << ", " << bottom_rect.mTop << ", " << bottom_rect.mRight << ", " << bottom_rect.mBottom << llendl; - llinfos << "Merov debug : draw left rect = " << left_rect.mLeft << ", " << left_rect.mTop << ", " << left_rect.mRight << ", " << left_rect.mBottom << llendl; - llinfos << "Merov debug : draw right rect = " << right_rect.mLeft << ", " << right_rect.mTop << ", " << right_rect.mRight << ", " << right_rect.mBottom << llendl; - old_width = ctrl_rect.getWidth(); - old_height = ctrl_rect.getHeight(); - debug_print = false; - } // Debug draw LLColor4 back_color = LLColor4::blue; LLColor4 back_color_vert = LLColor4::red; @@ -365,7 +348,7 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp gClipboard.setSourceObject(uuid,LLAssetType::AT_WIDGET); LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; LLUUID srcID; - llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; + llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); sDragStarted = true; return TRUE; @@ -379,18 +362,35 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp return FALSE; } -BOOL LLToolBarView::handleDrop( EDragAndDropType cargo_type, void* cargo_data, const LLUUID& toolbar_id) +BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) { LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; - llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << " to toolbar " << toolbar_id << " under cargo type " << cargo_type << llendl; + llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - llinfos << "Merov debug : handleDrop. Drop source is a widget -> that's where we'll get code in..." << llendl; - // Find out if he command is in one of the toolbar - // If it is, pull it out of the toolbar - // Now insert it in the toolbar in the correct spot... + llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl; + // Get the command from its uuid + LLCommandManager& mgr = LLCommandManager::instance(); + LLCommand* command = mgr.getCommand(inv_item->getUUID()); + if (command) + { + // Convert the (x,y) position in rank in toolbar + int rank = toolbar->getRankFromPosition(x,y); + // Suppress the command from the toolbars (including the one it's dropped in, + // this will handle move position). + gToolBarView->mToolbarLeft->removeCommand(command->id()); + gToolBarView->mToolbarRight->removeCommand(command->id()); + gToolBarView->mToolbarBottom->removeCommand(command->id()); + // Now insert it in the toolbar at the detected rank + toolbar->addCommand(command->id(),rank); + } + else + { + llwarns << "Merov debug : handleDrop failing: command couldn't be found in manager" << llendl; + } + } else { diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index b7d3a4033a4..3d488f837fe 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -76,7 +76,7 @@ class LLToolBarView : public LLUICtrl static void startDragItem( S32 x, S32 y, const LLUUID& uuid); static BOOL handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type); - static BOOL handleDrop( EDragAndDropType cargo_type, void* cargo_data, const LLUUID& folder_id); + static BOOL handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar); protected: friend class LLUICtrlFactory; -- GitLab From ba60e0906549840b8632d72f17b3f9bcda65e882 Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Wed, 5 Oct 2011 12:52:40 -0700 Subject: [PATCH 104/213] Fix for typo that broke build. --- indra/llui/llcommandmanager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index b11f905574e..8e5abd64615 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -53,13 +53,13 @@ class LLCommandId LLCommandId(const std::string& name) : mName(name) { - mUUID = LLUUID::LLUUID::generateNewID(name); + mUUID = LLUUID::generateNewID(name); } LLCommandId(const Params& p) : mName(p.name) { - mUUID = LLUUID::LLUUID::generateNewID(p.name); + mUUID = LLUUID::generateNewID(p.name); } const std::string& name() const { return mName; } -- GitLab From 1c4d540afd488c5b64102fc14ea65433855f802a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 5 Oct 2011 13:03:22 -0700 Subject: [PATCH 105/213] * Added function setOpenCallback to match existing setCloseCallback. --- indra/llui/llfloater.cpp | 9 +++++++-- indra/llui/llfloater.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index bc494e97f55..c28bcc2ec9f 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -1029,7 +1029,7 @@ void LLFloater::setMinimized(BOOL minimize) if (minimize == mMinimized) return; - if(mMinimizeSignal) + if (mMinimizeSignal) { (*mMinimizeSignal)(this, LLSD(minimize)); } @@ -2857,7 +2857,7 @@ void LLFloater::initFromParams(const LLFloater::Params& p) // open callback if (p.open_callback.isProvided()) { - mOpenSignal.connect(initCommitCallback(p.open_callback)); + setOpenCallback(initCommitCallback(p.open_callback)); } // close callback if (p.close_callback.isProvided()) @@ -2872,6 +2872,11 @@ boost::signals2::connection LLFloater::setMinimizeCallback( const commit_signal_ return mMinimizeSignal->connect(cb); } +boost::signals2::connection LLFloater::setOpenCallback( const commit_signal_t::slot_type& cb ) +{ + return mOpenSignal.connect(cb); +} + boost::signals2::connection LLFloater::setCloseCallback( const commit_signal_t::slot_type& cb ) { return mCloseSignal.connect(cb); diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index fba59e82e1e..5aff542049c 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -144,6 +144,7 @@ friend class LLMultiFloater; bool buildFromFile(const std::string &filename, LLXMLNodePtr output_node = NULL); boost::signals2::connection setMinimizeCallback( const commit_signal_t::slot_type& cb ); + boost::signals2::connection setOpenCallback( const commit_signal_t::slot_type& cb ); boost::signals2::connection setCloseCallback( const commit_signal_t::slot_type& cb ); void initFromParams(const LLFloater::Params& p); -- GitLab From eda12bd009d8f71eb82b6e6238335a172d6e5fb0 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 5 Oct 2011 13:37:39 -0700 Subject: [PATCH 106/213] fixed bad xml merge --- .../default/xui/en/panel_preferences_move.xml | 101 +++++++++++------- 1 file changed, 64 insertions(+), 37 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_preferences_move.xml b/indra/newview/skins/default/xui/en/panel_preferences_move.xml index d06ba1bc013..d9067b41c75 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_move.xml @@ -107,7 +107,7 @@ name="keyboard_lbl" width="270" top_delta="2"> - Keyboard: + Keyboard: </text> <check_box control_name="ArrowKeysAlwaysMove" @@ -139,7 +139,7 @@ name="mouse_lbl" width="270" top_pad="15"> - Mouse: + Mouse: </text> <check_box control_name="FirstPersonAvatarVisible" @@ -185,43 +185,70 @@ name="invert_mouse" top_delta="0" width="128" /> - <check_box + <text follows="left|top" - height="20" - label="Double-Click to:" + type="string" + length="1" + height="10" layout="topleft" - left_delta="0" - name="double_click_chkbox" - width="237" - top_pad="0"> - <check_box.commit_callback - function="Pref.CommitDoubleClickChekbox"/> - </check_box> - <radio_group - height="20" - layout="topleft" - left_delta="17" - top_pad="2" - name="double_click_action"> - <radio_item - height="16" - label="Teleport" - layout="topleft" - left="0" - name="radio_teleport" - top_delta="20" - width="110" /> - <radio_item - height="16" - label="Auto-pilot" - left_pad="0" - layout="topleft" - name="radio_autopilot" - top_delta="0" - width="75" /> - <radio_group.commit_callback - function="Pref.CommitRadioDoubleClick"/> - </radio_group> + left="86" + name="single_click_action_lbl" + width="150" + top_pad="20"> + Single click on land: + </text> + <combo_box + height="23" + layout="topleft" + left_pad="10" + top_delta="-6" + name="single_click_action_combo" + width="200"> + <combo_box.item + label="No action" + name="0" + value="0"/> + <combo_box.item + label="Move to clicked point" + name="1" + value="1"/> + <combo_box.commit_callback + function="Pref.ClickActionChange"/> + </combo_box> + <text + follows="left|top" + type="string" + length="1" + height="10" + layout="topleft" + left="86" + name="double_click_action_lbl" + width="150" + top_pad="12"> + Double click on land: + </text> + <combo_box + height="23" + layout="topleft" + left_pad="10" + top_delta="-6" + name="double_click_action_combo" + width="200"> + <combo_box.item + label="No action" + name="0" + value="0"/> + <combo_box.item + label="Move to clicked point" + name="1" + value="1"/> + <combo_box.item + label="Teleport to clicked point" + name="2" + value="2"/> + <combo_box.commit_callback + function="Pref.ClickActionChange"/> + </combo_box> <button height="23" label="Other Devices" -- GitLab From 00dc8b3982cf69dbe69b8c1913e701c37f22eba0 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 5 Oct 2011 14:47:50 -0700 Subject: [PATCH 107/213] EXP-1286 : DaD works between all toolbars, button drops in correct place, removal of button works too --- indra/llui/lltoolbar.cpp | 16 ++++++++++------ indra/newview/lltoolbarview.cpp | 10 +++++----- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 07beb147d75..9ffb859053e 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -382,6 +382,11 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) int rank = 0; LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); + S32 button_panel_x = 0; + S32 button_panel_y = 0; + localPointToOtherView(x, y, &button_panel_x, &button_panel_y, mButtonPanel); + + //llinfos << "Merov debug : rank compute: orientation = " << orientation << ", x = " << button_panel_x << ", y = " << button_panel_y << llendl; // Simply compare the passed coord with the buttons outbound box std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); @@ -389,17 +394,16 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) while (it_button != end_button) { LLRect button_rect = (*it_button)->getRect(); - if (((orientation == LLLayoutStack::HORIZONTAL) && (button_rect.mRight > x)) || - ((orientation == LLLayoutStack::VERTICAL) && (button_rect.mTop > y)) ) + //llinfos << "Merov debug : rank compute: rect = " << button_rect.mLeft << ", " << button_rect.mTop << ", " << button_rect.mRight << ", " << button_rect.mBottom << llendl; + if (((orientation == LLLayoutStack::HORIZONTAL) && (button_rect.mRight > button_panel_x)) || + ((orientation == LLLayoutStack::VERTICAL) && (button_rect.mBottom < button_panel_y)) ) { - llinfos << "Merov debug : rank compute: orientation = " << orientation << ", x = " << x << ", y = " << y << llendl; - llinfos << "Merov debug : rank compute: rect = " << button_rect.mLeft << ", " << button_rect.mTop << ", " << button_rect.mRight << ", " << button_rect.mBottom << llendl; break; } rank++; ++it_button; } - llinfos << "Merov debug : rank = " << rank << llendl; + //llinfos << "Merov debug : rank = " << rank << llendl; return rank; } @@ -619,7 +623,7 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EAcceptance* accept, std::string& tooltip_msg) { - llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; + //llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; // If we have a drop callback, that means that we can handle the drop BOOL handled = (mHandleDropCallback ? TRUE : FALSE); diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 3b8577862aa..5f3e3860355 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -329,7 +329,7 @@ void LLToolBarView::draw() void LLToolBarView::startDragItem( S32 x, S32 y, const LLUUID& uuid) { - llinfos << "Merov debug: startDragItem() : x = " << x << ", y = " << y << llendl; + //llinfos << "Merov debug: startDragItem() : x = " << x << ", y = " << y << llendl; LLToolDragAndDrop::getInstance()->setDragStart( x, y ); sDragStarted = false; } @@ -348,7 +348,7 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp gClipboard.setSourceObject(uuid,LLAssetType::AT_WIDGET); LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; LLUUID srcID; - llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; + //llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); sDragStarted = true; return TRUE; @@ -365,12 +365,12 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) { LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; - llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; + //llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl; + //llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); LLCommand* command = mgr.getCommand(inv_item->getUUID()); @@ -388,7 +388,7 @@ BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolb } else { - llwarns << "Merov debug : handleDrop failing: command couldn't be found in manager" << llendl; + llwarns << "Command couldn't be found in command manager" << llendl; } } -- GitLab From 6f9ed8b303e9e840fcd624b03ec0958dceba3dc7 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Wed, 5 Oct 2011 15:09:04 -0700 Subject: [PATCH 108/213] EXP-1273 Add floater for "Destinations" content --- indra/newview/CMakeLists.txt | 2 + indra/newview/app_settings/settings.xml | 2 +- indra/newview/llfloaterdestinations.cpp | 51 +++++++++++++++++++++++++ indra/newview/llfloaterdestinations.h | 43 +++++++++++++++++++++ indra/newview/llviewerfloaterreg.cpp | 5 ++- indra/newview/llviewerwindow.cpp | 7 ++++ 6 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 indra/newview/llfloaterdestinations.cpp create mode 100644 indra/newview/llfloaterdestinations.h diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index ce47cca16f3..e17620252b8 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -182,6 +182,7 @@ set(viewer_SOURCE_FILES llfloatercamera.cpp llfloatercolorpicker.cpp llfloaterdeleteenvpreset.cpp + llfloaterdestinations.cpp llfloaterdisplayname.cpp llfloatereditdaycycle.cpp llfloatereditsky.cpp @@ -745,6 +746,7 @@ set(viewer_HEADER_FILES llfloatercamera.h llfloatercolorpicker.h llfloaterdeleteenvpreset.h + llfloaterdestinations.h llfloaterdisplayname.h llfloatereditdaycycle.h llfloatereditsky.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 07799d4eee0..d0d7cc996a4 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2739,7 +2739,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string></string> + <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html</string> </map> <key>DisableCameraConstraints</key> <map> diff --git a/indra/newview/llfloaterdestinations.cpp b/indra/newview/llfloaterdestinations.cpp new file mode 100644 index 00000000000..fa7e2a742c8 --- /dev/null +++ b/indra/newview/llfloaterdestinations.cpp @@ -0,0 +1,51 @@ +/** + * @file llfloaterdestinations.h + * @author Leyla Farazha + * @brief floater for the destinations guide + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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$ + */ + +/** + * Floater that appears when buying an object, giving a preview + * of its contents and their permissions. + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloaterdestinations.h" +#include "lluictrlfactory.h" + + +LLFloaterDestinations::LLFloaterDestinations(const LLSD& key) + : LLFloater(key) +{ +} + +LLFloaterDestinations::~LLFloaterDestinations() +{ +} + +BOOL LLFloaterDestinations::postBuild() +{ + return TRUE; +} \ No newline at end of file diff --git a/indra/newview/llfloaterdestinations.h b/indra/newview/llfloaterdestinations.h new file mode 100644 index 00000000000..85d9b3391e5 --- /dev/null +++ b/indra/newview/llfloaterdestinations.h @@ -0,0 +1,43 @@ +/** + * @file llfloaterdestinations.h + * @author Leyla Farazha + * @brief floater for the destinations guide + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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_FLOATER_DESTINATIONS_H +#define LL_FLOATER_DESTINATIONS_H + +#include "llfloater.h" + +class LLFloaterDestinations: + public LLFloater +{ + friend class LLFloaterReg; +private: + LLFloaterDestinations(const LLSD& key); + /*virtual*/ ~LLFloaterDestinations(); + /*virtual*/ BOOL postBuild(); +}; + +#endif diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 174a4d6409a..16099335622 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -56,7 +56,7 @@ #include "llfloatereditwater.h" #include "llfloaterenvironmentsettings.h" #include "llfloaterevent.h" -#include "llfloatersearch.h" +#include "llfloaterdestinations.h" #include "llfloaterfonttest.h" #include "llfloatergesture.h" #include "llfloatergodtools.h" @@ -92,6 +92,7 @@ #include "llfloaterreporter.h" #include "llfloaterscriptdebug.h" #include "llfloaterscriptlimits.h" +#include "llfloatersearch.h" #include "llfloatersellland.h" #include "llfloatersettingsdebug.h" #include "llfloatersidepanelcontainer.h" @@ -185,6 +186,8 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("compile_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterCompileQueue>); + LLFloaterReg::add("destinations", "floater_destinations.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterDestinations>); + LLFloaterReg::add("env_post_process", "floater_post_process.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPostProcess>); LLFloaterReg::add("env_settings", "floater_environment_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterEnvironmentSettings>); LLFloaterReg::add("env_delete_preset", "floater_delete_env_preset.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterDeleteEnvPreset>); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 149f9893d77..30b6b0012d8 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1939,6 +1939,13 @@ void LLViewerWindow::initWorldUI() gToolBarView->loadToolbars(); gToolBarView->setVisible(TRUE); } + + LLMediaCtrl* destinations = LLFloaterReg::getInstance("destinations")->getChild<LLMediaCtrl>("destination_guide_contents"); + if (destinations) + { + destinations->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); + destinations->navigateTo(gSavedSettings.getString("DestinationGuideURL"), "text/html"); + } } // Destroy the UI -- GitLab From 93e3c8e4a51dd60c202bc2e3f11b9ae850b2b6c8 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 5 Oct 2011 16:28:40 -0700 Subject: [PATCH 109/213] EXP-1280 FIX -- Minimized floaters associated with toolbar buttons should change the state of their parent button * Toolbar buttons now display green when its corresponding floater is open or minimized. * Made changes to buttons so flash time and rate is configurable * Removed unused "highlight_color" attribute from LLButton * Implemented "isVisible" function for toolbar button floaters. It returns true when the floater is visible or minimized. * Toolbar floater unminimize now also puts focus to the floater * All commands now specify their "is_running_function" for toolbar button state * ButtonFlashCount and ButtonFlashRate have been moved to button.xml settings and are now configurable on the button. Toolbar buttons are set to never flash and this functionality is used to show which buttons have windows open. * All toybox buttons show hover glow even when disabled Reviewed by Richard. --- indra/llui/llbutton.cpp | 24 ++--- indra/llui/llbutton.h | 13 ++- indra/llui/llfloaterreg.cpp | 23 +++++ indra/llui/llfloaterreg.h | 1 + indra/llui/lltoolbar.cpp | 89 +++++++++++++++++-- indra/llui/lltoolbar.h | 12 ++- indra/llui/llui.cpp | 1 + indra/newview/app_settings/commands.xml | 46 ++++++++++ indra/newview/app_settings/settings.xml | 22 ----- .../default/xui/en/floater_test_button.xml | 1 - .../skins/default/xui/en/floater_toybox.xml | 13 +++ .../skins/default/xui/en/widgets/button.xml | 7 +- .../skins/default/xui/en/widgets/toolbar.xml | 6 +- 13 files changed, 210 insertions(+), 48 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index f259e8027ea..c9ee62296fe 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -83,7 +83,6 @@ LLButton::Params::Params() label_color_selected("label_color_selected"), // requires is_toggle true label_color_disabled("label_color_disabled"), label_color_disabled_selected("label_color_disabled_selected"), - highlight_color("highlight_color"), image_color("image_color"), image_color_disabled("image_color_disabled"), image_overlay_color("image_overlay_color", LLColor4::white), @@ -99,10 +98,13 @@ LLButton::Params::Params() scale_image("scale_image", true), hover_glow_amount("hover_glow_amount"), commit_on_return("commit_on_return", true), + display_pressed_state("display_pressed_state", true), use_draw_context_alpha("use_draw_context_alpha", true), badge("badge"), handle_right_mouse("handle_right_mouse"), - held_down_delay("held_down_delay") + held_down_delay("held_down_delay"), + button_flash_count("button_flash_count"), + button_flash_rate("button_flash_rate") { addSynonym(is_toggle, "toggle"); changeDefault(initial_value, LLSD(false)); @@ -136,7 +138,6 @@ LLButton::LLButton(const LLButton::Params& p) mSelectedLabelColor(p.label_color_selected()), mDisabledLabelColor(p.label_color_disabled()), mDisabledSelectedLabelColor(p.label_color_disabled_selected()), - mHighlightColor(p.highlight_color()), mImageColor(p.image_color()), mFlashBgColor(p.flash_color()), mDisabledImageColor(p.image_color_disabled()), @@ -159,12 +160,15 @@ LLButton::LLButton(const LLButton::Params& p) mCommitOnReturn(p.commit_on_return), mFadeWhenDisabled(FALSE), mForcePressedState(false), + mDisplayPressedState(p.display_pressed_state), mLastDrawCharsCount(0), mMouseDownSignal(NULL), mMouseUpSignal(NULL), mHeldDownSignal(NULL), mUseDrawContextAlpha(p.use_draw_context_alpha), - mHandleRightMouse(p.handle_right_mouse) + mHandleRightMouse(p.handle_right_mouse), + mButtonFlashCount(p.button_flash_count), + mButtonFlashRate(p.button_flash_rate) { static LLUICachedControl<S32> llbutton_orig_h_pad ("UIButtonOrigHPad", 0); static Params default_params(LLUICtrlFactory::getDefaultParams<LLButton>()); @@ -570,15 +574,13 @@ void LLButton::draw() { F32 alpha = mUseDrawContextAlpha ? getDrawContext().mAlpha : getCurrentTransparency(); bool flash = FALSE; - static LLUICachedControl<F32> button_flash_rate("ButtonFlashRate", 0); - static LLUICachedControl<S32> button_flash_count("ButtonFlashCount", 0); if( mFlashing ) { F32 elapsed = mFlashingTimer.getElapsedTimeF32(); - S32 flash_count = S32(elapsed * button_flash_rate * 2.f); + S32 flash_count = S32(elapsed * mButtonFlashRate * 2.f); // flash on or off? - flash = (flash_count % 2 == 0) || flash_count > S32((F32)button_flash_count * 2.f); + flash = (flash_count % 2 == 0) || flash_count > S32((F32)mButtonFlashCount * 2.f); } bool pressed_by_keyboard = FALSE; @@ -607,7 +609,7 @@ void LLButton::draw() LLColor4 glow_color = LLColor4::white; LLRender::eBlendType glow_type = LLRender::BT_ADD_WITH_ALPHA; LLUIImage* imagep = NULL; - if (pressed) + if (pressed && mDisplayPressedState) { imagep = selected ? mImagePressedSelected : mImagePressed; } @@ -800,7 +802,7 @@ void LLButton::draw() S32 center_y = getLocalRect().getCenterY(); //FUGLY HACK FOR "DEPRESSED" BUTTONS - if (pressed) + if (pressed && mDisplayPressedState) { center_y--; center_x++; @@ -873,7 +875,7 @@ void LLButton::draw() S32 y_offset = 2 + (getRect().getHeight() - 20)/2; - if (pressed) + if (pressed && mDisplayPressedState) { y_offset--; x++; diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 08b45e01b33..14c1d01c7ee 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -91,7 +91,6 @@ class LLButton label_color_selected, label_color_disabled, label_color_disabled_selected, - highlight_color, image_color, image_color_disabled, image_overlay_color, @@ -120,7 +119,8 @@ class LLButton // misc Optional<bool> is_toggle, scale_image, - commit_on_return; + commit_on_return, + display_pressed_state; Optional<F32> hover_glow_amount; Optional<TimeIntervalParam> held_down_delay; @@ -131,6 +131,9 @@ class LLButton Optional<bool> handle_right_mouse; + Optional<S32> button_flash_count; + Optional<F32> button_flash_rate; + Params(); }; @@ -273,6 +276,9 @@ class LLButton void getOverlayImageSize(S32& overlay_width, S32& overlay_height); LLFrameTimer mMouseDownTimer; + bool mNeedsHighlight; + S32 mButtonFlashCount; + F32 mButtonFlashRate; private: void drawBorder(LLUIImage* imagep, const LLColor4& color, S32 size); @@ -322,7 +328,6 @@ class LLButton flash icon name is set in attributes(by default it isn't). First way is used otherwise. */ LLPointer<LLUIImage> mImageFlash; - LLUIColor mHighlightColor; LLUIColor mFlashBgColor; LLUIColor mImageColor; @@ -355,10 +360,10 @@ class LLButton F32 mHoverGlowStrength; F32 mCurGlowStrength; - bool mNeedsHighlight; bool mCommitOnReturn; bool mFadeWhenDisabled; bool mForcePressedState; + bool mDisplayPressedState; LLFrameTimer mFlashingTimer; diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index 27e96856b3e..d0ae9413a33 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -478,6 +478,7 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) if (LLFloater::isMinimized(instance)) { instance->setMinimized(FALSE); + instance->setFocus(TRUE); } else if (!LLFloater::isShown(instance)) { @@ -493,6 +494,28 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) } } +//static +bool LLFloaterReg::floaterInstanceOpen(const LLSD& sdname) +{ + LLSD key; + std::string name = sdname.asString(); + parse_name_key(name, key); + + bool visible_or_minimized = instanceVisible(name, key); + + if (!visible_or_minimized) + { + LLFloater* instance = findInstance(name, key); + + if (instance != NULL) + { + visible_or_minimized = LLFloater::isMinimized(instance); + } + } + + return visible_or_minimized; +} + //static bool LLFloaterReg::floaterInstanceVisible(const LLSD& sdname) { diff --git a/indra/llui/llfloaterreg.h b/indra/llui/llfloaterreg.h index 6239d98a7d7..07ae45cc4c5 100644 --- a/indra/llui/llfloaterreg.h +++ b/indra/llui/llfloaterreg.h @@ -128,6 +128,7 @@ class LLFloaterReg static void hideFloaterInstance(const LLSD& sdname); static void toggleFloaterInstance(const LLSD& sdname); static void toggleToolbarFloaterInstance(const LLSD& sdname); + static bool floaterInstanceOpen(const LLSD& sdname); static bool floaterInstanceVisible(const LLSD& sdname); static bool floaterInstanceMinimized(const LLSD& sdname); diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a544aa9ec7e..0ec2eefc197 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -471,7 +471,33 @@ void LLToolBar::updateLayoutAsNeeded() void LLToolBar::draw() { - if (mButtons.empty()) return; + if (mButtons.empty()) + { + return; + } + + // Update enable/disable state and highlight state for editable toolbars + if (!mReadOnly) + { + for (toolbar_button_list::iterator btn_it = mButtons.begin(); btn_it != mButtons.end(); ++btn_it) + { + LLToolBarButton* btn = *btn_it; + LLCommand* command = LLCommandManager::instance().getCommand(btn->mId); + + if (command && btn->mIsEnabledSignal) + { + const bool button_command_enabled = (*btn->mIsEnabledSignal)(btn, command->isEnabledParameters()); + btn->setEnabled(button_command_enabled); + } + + if (command && btn->mIsRunningSignal) + { + const bool button_command_running = (*btn->mIsRunningSignal)(btn, command->isRunningParameters()); + btn->setFlashing(button_command_running); + } + } + } + updateLayoutAsNeeded(); // rect may have shifted during layout LLUI::popMatrix(); @@ -527,14 +553,47 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) LLUICtrl::CommitCallbackParam cbParam; cbParam.function_name = commandp->executeFunctionName(); cbParam.parameter = commandp->executeParameters(); + button->setCommitCallback(cbParam); button->setStartDragCallback(mStartDragItemCallback); button->setHandleDragCallback(mHandleDragItemCallback); + + const std::string& isEnabledFunction = commandp->isEnabledFunctionName(); + if (isEnabledFunction.length() > 0) + { + LLUICtrl::EnableCallbackParam isEnabledParam; + isEnabledParam.function_name = isEnabledFunction; + isEnabledParam.parameter = commandp->isEnabledParameters(); + enable_signal_t::slot_type isEnabledCB = initEnableCallback(isEnabledParam); + + if (NULL == button->mIsEnabledSignal) + { + button->mIsEnabledSignal = new enable_signal_t(); + } + + button->mIsEnabledSignal->connect(isEnabledCB); + } + + const std::string& isRunningFunction = commandp->isRunningFunctionName(); + if (isRunningFunction.length() > 0) + { + LLUICtrl::EnableCallbackParam isRunningParam; + isRunningParam.function_name = isRunningFunction; + isRunningParam.parameter = commandp->isRunningParameters(); + enable_signal_t::slot_type isRunningCB = initEnableCallback(isRunningParam); + + if (NULL == button->mIsRunningSignal) + { + button->mIsRunningSignal = new enable_signal_t(); + } + + button->mIsRunningSignal->connect(isRunningCB); + } } button->setCommandId(id); - return button; + return button; } BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, @@ -568,9 +627,22 @@ LLToolBarButton::LLToolBarButton(const Params& p) mMouseDownY(0), mWidthRange(p.button_width), mDesiredHeight(p.desired_height), - mId("") + mId(""), + mIsEnabledSignal(NULL), + mIsRunningSignal(NULL), + mIsStartingSignal(NULL) { mUUID = LLUUID::generateNewID(p.name); + + mButtonFlashRate = 0.0; + mButtonFlashCount = 0; +} + +LLToolBarButton::~LLToolBarButton() +{ + delete mIsEnabledSignal; + delete mIsRunningSignal; + delete mIsStartingSignal; } BOOL LLToolBarButton::handleMouseDown(S32 x, S32 y, MASK mask) @@ -594,10 +666,10 @@ BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) handled = TRUE; } else - { + { handled = mHandleDragItemCallback(x,y,mUUID,LLAssetType::AT_WIDGET); - } } + } else { handled = LLButton::handleHover(x, y, mask); @@ -605,3 +677,10 @@ BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) return handled; } +void LLToolBarButton::onMouseEnter(S32 x, S32 y, MASK mask) +{ + LLUICtrl::onMouseEnter(x, y, mask); + + // Always highlight toolbar buttons, even if they are disabled + mNeedsHighlight = TRUE; +} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 3c317e10a2b..b649ab28ff4 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -56,6 +56,7 @@ class LLToolBarButton : public LLButton }; LLToolBarButton(const Params& p); + ~LLToolBarButton(); BOOL handleMouseDown(S32 x, S32 y, MASK mask); BOOL handleHover(S32 x, S32 y, MASK mask); @@ -63,6 +64,9 @@ class LLToolBarButton : public LLButton void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } + + void onMouseEnter(S32 x, S32 y, MASK mask); + private: LLCommandId mId; S32 mMouseDownX; @@ -73,6 +77,10 @@ class LLToolBarButton : public LLButton startdrag_callback_t mStartDragItemCallback; handledrag_callback_t mHandleDragItemCallback; LLUUID mUUID; + + enable_signal_t* mIsEnabledSignal; + enable_signal_t* mIsRunningSignal; + enable_signal_t* mIsStartingSignal; }; @@ -153,6 +161,7 @@ class LLToolBar bool addCommand(const LLCommandId& commandId); bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); + void setStartDragCallback(startdrag_callback_t cb) { mStartDragItemCallback = cb; } void setHandleDragCallback(handledrag_callback_t cb) { mHandleDragItemCallback = cb; } void setHandleDropCallback(handledrop_callback_t cb) { mHandleDropCallback = cb; } @@ -188,7 +197,8 @@ class LLToolBar LLUUID mUUID; const bool mReadOnly; - std::list<LLToolBarButton*> mButtons; + typedef std::list<LLToolBarButton*> toolbar_button_list; + toolbar_button_list mButtons; command_id_list_t mButtonCommands; typedef std::map<LLCommandId, LLToolBarButton*> command_id_map; command_id_map mButtonMap; diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 76a12e649b4..9c0253f0743 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -1637,6 +1637,7 @@ void LLUI::initClass(const settings_map_t& settings, // Used by menus along with Floater.Toggle to display visibility as a checkmark LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.Visible", boost::bind(&LLFloaterReg::floaterInstanceVisible, _2)); + LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.IsOpen", boost::bind(&LLFloaterReg::floaterInstanceOpen, _2)); // Parse the master list of commands LLCommandManager::load(); diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 3a91ef490d7..1fff95417b3 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -7,6 +7,8 @@ tooltip_ref="Command_AboutLand_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="about_land" + is_running_function="Floater.IsOpen" + is_running_parameters="about_land" /> <command name="appearance" available_in_toybox="true" @@ -15,6 +17,8 @@ tooltip_ref="Command_Appearance_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="appearance" + is_running_function="Floater.IsOpen" + is_running_parameters="appearance" /> <command name="avatar" available_in_toybox="true" @@ -23,6 +27,8 @@ tooltip_ref="Command_Avatar_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="avatar_picker" + is_running_function="Floater.IsOpen" + is_running_parameters="avatar_picker" /> <command name="build" available_in_toybox="true" @@ -31,6 +37,8 @@ tooltip_ref="Command_Build_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="build" + is_running_function="Floater.IsOpen" + is_running_parameters="build" /> <command name="chat" available_in_toybox="true" @@ -39,6 +47,8 @@ tooltip_ref="Command_Chat_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="chat_bar" + is_running_function="Floater.IsOpen" + is_running_parameters="chat_bar" /> <command name="compass" available_in_toybox="false" @@ -47,6 +57,8 @@ tooltip_ref="Command_Compass_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="compass" + is_running_function="Floater.IsOpen" + is_running_parameters="compass" /> <command name="destinations" available_in_toybox="true" @@ -55,6 +67,8 @@ tooltip_ref="Command_Destinations_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="destinations" + is_running_function="Floater.IsOpen" + is_running_parameters="destinations" /> <command name="gestures" available_in_toybox="true" @@ -63,6 +77,8 @@ tooltip_ref="Command_Gestures_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="gestures" + is_running_function="Floater.IsOpen" + is_running_parameters="gestures" /> <command name="howto" available_in_toybox="true" @@ -71,6 +87,8 @@ tooltip_ref="Command_HowTo_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="help_browser" + is_running_function="Floater.IsOpen" + is_running_parameters="help_browser" /> <command name="inventory" available_in_toybox="true" @@ -79,6 +97,8 @@ tooltip_ref="Command_Inventory_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="inventory" + is_running_function="Floater.IsOpen" + is_running_parameters="inventory" /> <command name="map" available_in_toybox="true" @@ -87,6 +107,8 @@ tooltip_ref="Command_Map_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="world_map" + is_running_function="Floater.IsOpen" + is_running_parameters="world_map" /> <command name="marketplace" available_in_toybox="true" @@ -95,6 +117,8 @@ tooltip_ref="Command_Marketplace_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="marketplace" + is_running_function="Floater.IsOpen" + is_running_parameters="marketplace" /> <command name="minimap" available_in_toybox="true" @@ -103,6 +127,8 @@ tooltip_ref="Command_MiniMap_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="mini_map" + is_running_function="Floater.IsOpen" + is_running_parameters="mini_map" /> <command name="move" available_in_toybox="true" @@ -111,6 +137,8 @@ tooltip_ref="Command_Move_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="moveview" + is_running_function="Floater.IsOpen" + is_running_parameters="moveview" /> <command name="people" available_in_toybox="true" @@ -119,6 +147,8 @@ tooltip_ref="Command_People_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="people" + is_running_function="Floater.IsOpen" + is_running_parameters="people" /> <command name="places" available_in_toybox="true" @@ -127,6 +157,8 @@ tooltip_ref="Command_Places_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="places" + is_running_function="Floater.IsOpen" + is_running_parameters="places" /> <command name="preferences" available_in_toybox="true" @@ -135,6 +167,8 @@ tooltip_ref="Command_Preferences_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="preferences" + is_running_function="Floater.IsOpen" + is_running_parameters="preferences" /> <command name="profile" available_in_toybox="true" @@ -143,6 +177,8 @@ tooltip_ref="Command_Profile_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="my_profile" + is_running_function="Floater.IsOpen" + is_running_parameters="my_profile" /> <command name="search" available_in_toybox="true" @@ -151,6 +187,8 @@ tooltip_ref="Command_Search_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="search" + is_running_function="Floater.IsOpen" + is_running_parameters="search" /> <command name="snapshot" available_in_toybox="true" @@ -159,6 +197,8 @@ tooltip_ref="Command_Snapshot_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="snapshot" + is_running_function="Floater.IsOpen" + is_running_parameters="snapshot" /> <command name="speak" available_in_toybox="true" @@ -167,6 +207,8 @@ tooltip_ref="Command_Speak_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="speak" + is_running_function="Floater.IsOpen" + is_running_parameters="speak" /> <command name="view" available_in_toybox="true" @@ -175,6 +217,8 @@ tooltip_ref="Command_View_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="camera" + is_running_function="Floater.IsOpen" + is_running_parameters="camera" /> <command name="voice" available_in_toybox="true" @@ -183,5 +227,7 @@ tooltip_ref="Command_Voice_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="voice_controls" + is_running_function="Floater.IsOpen" + is_running_parameters="voice_controls" /> </commands> diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 07799d4eee0..0da20b15ed1 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1150,28 +1150,6 @@ <key>Value</key> <integer>0</integer> </map> - <key>ButtonFlashCount</key> - <map> - <key>Comment</key> - <string>Number of flashes after which flashing buttons stay lit up</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>8</integer> - </map> - <key>ButtonFlashRate</key> - <map> - <key>Comment</key> - <string>Frequency at which buttons flash (hz)</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>F32</string> - <key>Value</key> - <real>1.25</real> - </map> <key>ButtonHPad</key> <map> <key>Comment</key> diff --git a/indra/newview/skins/default/xui/en/floater_test_button.xml b/indra/newview/skins/default/xui/en/floater_test_button.xml index bf0a774e766..9bc05107a20 100644 --- a/indra/newview/skins/default/xui/en/floater_test_button.xml +++ b/indra/newview/skins/default/xui/en/floater_test_button.xml @@ -78,7 +78,6 @@ <button bottom_delta="30" height="23" - highlight_color="EmphasisColor" label="Highlight" layout="topleft" name="highlight_color_button" /> diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 972ae1487ae..5c6fa5bc865 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -61,6 +61,19 @@ side="top" top="85"> <button_panel background_visible="false" /> + <button_icon_and_text image_unselected="PushButton_Off" + image_selected="PushButton_Off" + image_disabled_selected="PushButton_Disabled" + image_disabled="PushButton_Disabled" + label_color="ButtonLabelColor" + label_color_selected="ButtonLabelColor" + label_color_disabled="ButtonLabelDisabledColor" + label_color_disabled_selected="ButtonLabelDisabledColor" + image_color="ButtonImageColor" + image_color_disabled="ButtonImageColor" + flash_color="ButtonUnselectedFgColor" + hover_glow_amount="0.15" + display_pressed_state="false" /> </toolbar> <panel bevel_style="none" diff --git a/indra/newview/skins/default/xui/en/widgets/button.xml b/indra/newview/skins/default/xui/en/widgets/button.xml index 61d36468d74..e2baba92a3a 100644 --- a/indra/newview/skins/default/xui/en/widgets/button.xml +++ b/indra/newview/skins/default/xui/en/widgets/button.xml @@ -15,7 +15,6 @@ label_color_selected="ButtonLabelSelectedColor" label_color_disabled="ButtonLabelDisabledColor" label_color_disabled_selected="ButtonLabelSelectedDisabledColor" - highlight_color="ButtonUnselectedFgColor" image_color="ButtonImageColor" image_color_disabled="ButtonImageColor" flash_color="ButtonFlashBgColor" @@ -27,5 +26,9 @@ scale_image="true" handle_right_mouse="true" use_draw_context_alpha="true" - held_down_delay.seconds="0.5"> + held_down_delay.seconds="0.5" + button_flash_count="8" + button_flash_rate="1.25" + display_pressed_state="true" + > </button> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 0c7e7cff564..15851661146 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -21,7 +21,8 @@ chrome="true" image_overlay_alignment="left" use_ellipses="true" - auto_resize="true"/> + auto_resize="true" + flash_color="EmphasisColor"/> <button_icon pad_left="10" pad_right="10" desired_height="35" @@ -31,5 +32,6 @@ label="" chrome="true" use_ellipses="true" - auto_resize="true"/> + auto_resize="true" + flash_color="EmphasisColor"/> </toolbar> -- GitLab From 17c699e4281ffff58e24c5db960a5c33018f1747 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 5 Oct 2011 16:29:12 -0700 Subject: [PATCH 110/213] * Updated flash_color to use old LLButton highlight_color default. --- indra/llui/lltooltip.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltooltip.cpp b/indra/llui/lltooltip.cpp index bc6461a0c21..23cdd9ad9a4 100644 --- a/indra/llui/lltooltip.cpp +++ b/indra/llui/lltooltip.cpp @@ -200,7 +200,7 @@ LLToolTip::LLToolTip(const LLToolTip::Params& p) icon_params.image_selected(imagep); icon_params.scale_image(true); - icon_params.flash_color(icon_params.highlight_color()); + icon_params.flash_color.control = "ButtonUnselectedFgColor"; mInfoButton = LLUICtrlFactory::create<LLButton>(icon_params); if (p.click_callback.isProvided()) { -- GitLab From 352ae994480a960541050c82f83a25262f8b44e0 Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Wed, 5 Oct 2011 16:39:00 -0700 Subject: [PATCH 111/213] adding floater_destinations.xml --- .../default/xui/en/floater_destinations.xml | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 indra/newview/skins/default/xui/en/floater_destinations.xml diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml new file mode 100644 index 00000000000..50a279c046b --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_destinations.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="225" + can_minimize="true" + can_close="true" + user_resize="true" + can_resize="true" + min_height="230" + height="230" + layout="topleft" + name="Destinations" + single_instance="true" + help_topic="destinations" + save_rect="true" + title="Destinations" + width="445"> + <web_browser + top="25" + height="200" + width="435" + follows="all" + name="destination_guide_contents" + start_url="http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html" + trusted_content="true"/> +</floater> -- GitLab From 70495f6f2f61687717135f027c224003f5c5360a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 5 Oct 2011 16:56:49 -0700 Subject: [PATCH 112/213] Fixing merge mistakes! --- indra/llui/lltoolbar.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 62217a664af..392e26f4960 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -712,8 +712,6 @@ LLToolBarButton::LLToolBarButton(const Params& p) mIsRunningSignal(NULL), mIsStartingSignal(NULL) { - mUUID = LLUUID::generateNewID(p.name); - mButtonFlashRate = 0.0; mButtonFlashCount = 0; } -- GitLab From 64d005bfed6c5adcd29df3ae0774747480a0d839 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 5 Oct 2011 17:04:07 -0700 Subject: [PATCH 113/213] EXP-1286 : Add DaD to toybox --- indra/llui/lltoolbar.cpp | 11 ++++++++--- indra/llui/lltoolbar.h | 1 + indra/newview/llfloatertoybox.cpp | 5 ++++- indra/newview/lltoolbarview.cpp | 16 +++++++++------- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 9ffb859053e..ef36f426fab 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -103,7 +103,11 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) mPadTop(p.pad_top), mPadBottom(p.pad_bottom), mPadBetween(p.pad_between), - mPopupMenuHandle() + mPopupMenuHandle(), + mStartDragItemCallback(NULL), + mHandleDragItemCallback(NULL), + mHandleDropCallback(NULL), + mDragAndDropTarget(false) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; @@ -608,9 +612,10 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) cbParam.function_name = commandp->executeFunctionName(); cbParam.parameter = commandp->executeParameters(); button->setCommitCallback(cbParam); - button->setStartDragCallback(mStartDragItemCallback); - button->setHandleDragCallback(mHandleDragItemCallback); } + // Drag and drop behavior must work also if provided in the Toybox and, potentially, any read-only toolbar + button->setStartDragCallback(mStartDragItemCallback); + button->setHandleDragCallback(mHandleDragItemCallback); button->setCommandId(id); return button; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index a35f6d9db19..b630b82d0f5 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -159,6 +159,7 @@ class LLToolBar void setStartDragCallback(tool_startdrag_callback_t cb) { mStartDragItemCallback = cb; } void setHandleDragCallback(tool_handledrag_callback_t cb) { mHandleDragItemCallback = cb; } void setHandleDropCallback(tool_handledrop_callback_t cb) { mHandleDropCallback = cb; } + bool isReadOnly() const { return mReadOnly; } LLToolBarButton* createButton(const LLCommandId& id); diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index cf22e071aaf..58bb417b71f 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -62,7 +62,10 @@ BOOL LLFloaterToybox::postBuild() mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); mToolBar = getChild<LLToolBar>("toybox_toolbar"); - + mToolBar->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); + mToolBar->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); + mToolBar->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); + LLCommandManager& cmdMgr = LLCommandManager::instance(); // diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 5f3e3860355..c0408e4850d 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -377,24 +377,26 @@ BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolb if (command) { // Convert the (x,y) position in rank in toolbar - int rank = toolbar->getRankFromPosition(x,y); + int rank = 0; + if (!toolbar->isReadOnly()) + { + rank = toolbar->getRankFromPosition(x,y); + } // Suppress the command from the toolbars (including the one it's dropped in, // this will handle move position). gToolBarView->mToolbarLeft->removeCommand(command->id()); gToolBarView->mToolbarRight->removeCommand(command->id()); gToolBarView->mToolbarBottom->removeCommand(command->id()); // Now insert it in the toolbar at the detected rank - toolbar->addCommand(command->id(),rank); + if (!toolbar->isReadOnly()) + { + toolbar->addCommand(command->id(),rank); + } } else { llwarns << "Command couldn't be found in command manager" << llendl; } - - } - else - { - llinfos << "Merov debug : handleDrop. Drop source is not a widget -> nothing to do" << llendl; } return TRUE; -- GitLab From fc5030fcfe9d3ffcbb2ad1ae0b1dacd1699a54ce Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 5 Oct 2011 22:46:30 -0700 Subject: [PATCH 114/213] EXP-1286 : Clean-up the mess I added to llcommandmanager. All CommandId now have a trusted UUID which is the base for indexing and comparison. --- indra/llui/llcommandmanager.cpp | 19 ++----------------- indra/llui/llcommandmanager.h | 16 ++++++++++------ indra/newview/lltoolbarview.cpp | 3 ++- 3 files changed, 14 insertions(+), 24 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 2bd50af7af7..9ce7533e1bb 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -114,7 +114,7 @@ LLCommand * LLCommandManager::getCommand(const LLCommandId& commandId) { LLCommand * command_match = NULL; - CommandIndexMap::const_iterator found = mCommandIndices.find(commandId); + CommandIndexMap::const_iterator found = mCommandIndices.find(commandId.uuid()); if (found != mCommandIndices.end()) { @@ -124,25 +124,10 @@ LLCommand * LLCommandManager::getCommand(const LLCommandId& commandId) return command_match; } -LLCommand * LLCommandManager::getCommand(const LLUUID& commandUUID) -{ - LLCommand * command_match = NULL; - - CommandUUIDMap::const_iterator found = mCommandUUIDs.find(commandUUID); - - if (found != mCommandUUIDs.end()) - { - command_match = mCommands[found->second]; - } - - return command_match; -} - void LLCommandManager::addCommand(LLCommand * command) { LLCommandId command_id = command->id(); - mCommandIndices[command_id] = mCommands.size(); - mCommandUUIDs[command_id.uuid()] = mCommands.size(); + mCommandIndices[command_id.uuid()] = mCommands.size(); mCommands.push_back(command); lldebugs << "Successfully added command: " << command->id().name() << llendl; diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 8e5abd64615..8f9f956ec7e 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -62,17 +62,24 @@ class LLCommandId mUUID = LLUUID::generateNewID(p.name); } + LLCommandId(const LLUUID& uuid) + : mName(""), + mUUID(uuid) + + { + } + const std::string& name() const { return mName; } const LLUUID& uuid() const { return mUUID; } bool operator!=(const LLCommandId& command) const { - return (mName != command.mName); + return (mUUID != command.mUUID); } bool operator==(const LLCommandId& command) const { - return (mName == command.mName); + return (mUUID == command.mUUID); } bool operator<(const LLCommandId& command) const @@ -178,7 +185,6 @@ class LLCommandManager U32 commandCount() const; LLCommand * getCommand(U32 commandIndex); LLCommand * getCommand(const LLCommandId& commandId); - LLCommand * getCommand(const LLUUID& commandUUID); static bool load(); @@ -186,13 +192,11 @@ class LLCommandManager void addCommand(LLCommand * command); private: - typedef std::map<LLUUID, U32> CommandUUIDMap; - typedef std::map<LLCommandId, U32> CommandIndexMap; + typedef std::map<LLUUID, U32> CommandIndexMap; typedef std::vector<LLCommand *> CommandVector; CommandVector mCommands; CommandIndexMap mCommandIndices; - CommandUUIDMap mCommandUUIDs; }; diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index c0408e4850d..95ed603bbfb 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -373,7 +373,8 @@ BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolb //llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); - LLCommand* command = mgr.getCommand(inv_item->getUUID()); + LLCommandId command_id(inv_item->getUUID()); + LLCommand* command = mgr.getCommand(command_id); if (command) { // Convert the (x,y) position in rank in toolbar -- GitLab From 5d414d6decbf05feae154c992291deab34ed8b92 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Thu, 6 Oct 2011 09:40:05 +0300 Subject: [PATCH 115/213] Linux build fix. --- indra/integration_tests/llui_libtest/CMakeLists.txt | 1 + indra/newview/llfloaterdestinations.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/integration_tests/llui_libtest/CMakeLists.txt b/indra/integration_tests/llui_libtest/CMakeLists.txt index df471671545..1180460f4b8 100644 --- a/indra/integration_tests/llui_libtest/CMakeLists.txt +++ b/indra/integration_tests/llui_libtest/CMakeLists.txt @@ -71,6 +71,7 @@ endif (DARWIN) # Sort by high-level to low-level target_link_libraries(llui_libtest llui + llinventory llmessage ${LLRENDER_LIBRARIES} ${LLIMAGE_LIBRARIES} diff --git a/indra/newview/llfloaterdestinations.cpp b/indra/newview/llfloaterdestinations.cpp index fa7e2a742c8..647b3b50468 100644 --- a/indra/newview/llfloaterdestinations.cpp +++ b/indra/newview/llfloaterdestinations.cpp @@ -48,4 +48,4 @@ LLFloaterDestinations::~LLFloaterDestinations() BOOL LLFloaterDestinations::postBuild() { return TRUE; -} \ No newline at end of file +} -- GitLab From fc489b12c99abab8a61fb3c7546fe802065fe2b0 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 6 Oct 2011 10:37:22 -0700 Subject: [PATCH 116/213] Updated to pass coding policy checks --- indra/newview/llfloaterdestinations.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/llfloaterdestinations.cpp b/indra/newview/llfloaterdestinations.cpp index fa7e2a742c8..ce36f7759cf 100644 --- a/indra/newview/llfloaterdestinations.cpp +++ b/indra/newview/llfloaterdestinations.cpp @@ -48,4 +48,5 @@ LLFloaterDestinations::~LLFloaterDestinations() BOOL LLFloaterDestinations::postBuild() { return TRUE; -} \ No newline at end of file +} + -- GitLab From 63b357758ea83dce34d8bc3e2f8ee7246b5aced5 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 6 Oct 2011 14:38:02 -0700 Subject: [PATCH 117/213] EXP-1205 FIX -- Some characters in description of toybox dialog is cut off at the bottom --- indra/newview/skins/default/xui/en/floater_toybox.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 5c6fa5bc865..653788bd3c5 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -18,6 +18,7 @@ <text follows="left|top" font="SansSerifMedium" + valign="bottom" halign="left" height="20" layout="topleft" @@ -32,6 +33,7 @@ <text follows="left|top" font="SansSerifMedium" + valign="bottom" halign="left" height="20" layout="topleft" -- GitLab From adeaf71e3314e44a33864dbe90d93040d4247c67 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Thu, 6 Oct 2011 15:19:15 -0700 Subject: [PATCH 118/213] EXP-1300 WIP Visual feedback for Drag and Drop removed hover highlighting of buttons when dragging over them also updated toolbar button art to match spec --- indra/llui/llbutton.cpp | 13 ++++--------- indra/llui/llbutton.h | 1 - indra/llui/lltoolbar.cpp | 2 +- .../skins/default/xui/en/widgets/toolbar.xml | 7 +++++++ 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index c9ee62296fe..68cb5164b61 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -515,15 +515,6 @@ BOOL LLButton::handleRightMouseUp(S32 x, S32 y, MASK mask) return TRUE; } - -void LLButton::onMouseEnter(S32 x, S32 y, MASK mask) -{ - LLUICtrl::onMouseEnter(x, y, mask); - - if (isInEnabledChain()) - mNeedsHighlight = TRUE; -} - void LLButton::onMouseLeave(S32 x, S32 y, MASK mask) { LLUICtrl::onMouseLeave(x, y, mask); @@ -538,6 +529,10 @@ void LLButton::setHighlight(bool b) BOOL LLButton::handleHover(S32 x, S32 y, MASK mask) { + if (isInEnabledChain() + && (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() != this)) + mNeedsHighlight = TRUE; + if (!childrenHandleHover(x, y, mask)) { if (mMouseDownTimer.getStarted()) diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 14c1d01c7ee..a0a7b4e372c 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -160,7 +160,6 @@ class LLButton virtual void draw(); /*virtual*/ BOOL postBuild(); - virtual void onMouseEnter(S32 x, S32 y, MASK mask); virtual void onMouseLeave(S32 x, S32 y, MASK mask); virtual void onMouseCaptureLost(); diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 7fc6a6de8db..63a1706fe45 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -577,7 +577,7 @@ void LLToolBar::draw() if (command && btn->mIsRunningSignal) { const bool button_command_running = (*btn->mIsRunningSignal)(btn, command->isRunningParameters()); - btn->setFlashing(button_command_running); + btn->setToggleState(button_command_running); } } } diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 15851661146..613dc667622 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -12,6 +12,10 @@ bg_opaque_image_overlay="MouseGray" background_opaque="true"/> <button_icon_and_text imgoverlay_label_space="7" + label_color_selected="White" + image_pressed="PushButton_Press" + image_pressed_selected="PushButton_Selected_Press" + image_selected="PushButton_Selected_Press" button_width.min="70" button_width.max="140" desired_height="24" @@ -25,6 +29,9 @@ flash_color="EmphasisColor"/> <button_icon pad_left="10" pad_right="10" + image_pressed="PushButton_Press" + image_pressed_selected="PushButton_Selected_Press" + image_selected="PushButton_Selected_Press" desired_height="35" button_width.min="35" button_width.max="35" -- GitLab From 4eecfd4faeb253ad34258ccbe8e4c206d9d2c478 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 6 Oct 2011 16:42:19 -0700 Subject: [PATCH 119/213] Updated FUI toolbar buttons and corresponding floaters including: * About land * Appearance * Gestures * Inventory * Map * Nearby voice * Snapshot --- indra/newview/app_settings/commands.xml | 4 ++-- .../skins/default/xui/en/floater_about_land.xml | 2 +- .../skins/default/xui/en/floater_gesture.xml | 2 +- .../skins/default/xui/en/floater_my_appearance.xml | 3 ++- .../skins/default/xui/en/floater_my_inventory.xml | 2 +- .../skins/default/xui/en/floater_snapshot.xml | 4 ++-- .../default/xui/en/floater_voice_controls.xml | 10 +++++----- .../skins/default/xui/en/floater_world_map.xml | 2 +- .../skins/default/xui/en/sidepanel_inventory.xml | 14 +++++++------- 9 files changed, 22 insertions(+), 21 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 1fff95417b3..8ee4b7d075b 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -96,9 +96,9 @@ label_ref="Command_Inventory_Label" tooltip_ref="Command_Inventory_Tooltip" execute_function="Floater.ToolbarToggle" - execute_parameters="inventory" + execute_parameters="my_inventory" is_running_function="Floater.IsOpen" - is_running_parameters="inventory" + is_running_parameters="my_inventory" /> <command name="map" available_in_toybox="true" diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index e5dcc9bcb57..9cd838318c9 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -6,7 +6,7 @@ name="floaterland" help_topic="floaterland" save_rect="true" - title="ABOUT LAND" + title="About land" width="490"> <floater.string name="maturity_icon_general"> diff --git a/indra/newview/skins/default/xui/en/floater_gesture.xml b/indra/newview/skins/default/xui/en/floater_gesture.xml index 9f5e6828d20..c0424f4de3c 100644 --- a/indra/newview/skins/default/xui/en/floater_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_gesture.xml @@ -5,7 +5,7 @@ height="465" name="gestures" help_topic="gestures" - title="GESTURES" + title="Gestures" background_visible="true" follows="all" label="Places" diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml index 8f97887b3f2..de2aa49c0cf 100644 --- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -6,9 +6,10 @@ height="588" layout="topleft" name="floater_my_appearance" + help_topic="appearance" save_rect="true" single_instance="true" - title="MY APPEARANCE" + title="Appearance" width="333"> <panel top="18" diff --git a/indra/newview/skins/default/xui/en/floater_my_inventory.xml b/indra/newview/skins/default/xui/en/floater_my_inventory.xml index fd03a5324e7..3f852c9ed5c 100644 --- a/indra/newview/skins/default/xui/en/floater_my_inventory.xml +++ b/indra/newview/skins/default/xui/en/floater_my_inventory.xml @@ -9,7 +9,7 @@ name="floater_my_inventory" save_rect="true" save_visibility="true" - title="My Inventory" + title="Inventory" width="333" > <panel class="sidepanel_inventory" diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml index 89a0c4c2873..4ba513bf9cb 100644 --- a/indra/newview/skins/default/xui/en/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - can_minimize="false" + can_minimize="true" can_close="true" follows="left|top" height="520" @@ -10,7 +10,7 @@ help_topic="snapshot" save_rect="true" save_visibility="true" - title="SNAPSHOT PREVIEW" + title="Snapshot preview" width="245"> <floater.string name="unknown"> diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml index f017a7ace6b..447549db44d 100644 --- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml +++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml @@ -2,14 +2,14 @@ <floater can_resize="true" can_minimize="true" - can_close="false" + can_close="true" height="205" layout="topleft" min_height="124" min_width="190" name="floater_voice_controls" help_topic="floater_voice_controls" - title="Voice Controls" + title="Voice controls" save_dock_state="true" save_visibility="true" save_rect="true" @@ -17,15 +17,15 @@ width="282"> <string name="title_nearby"> - NEARBY VOICE + Nearby voice </string> <string name="title_group"> - Group Call with [GROUP] + Group call with [GROUP] </string> <string name="title_adhoc"> - Conference Call + Conference call </string> <string name="title_peer_2_peer"> diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml index 019e7cd032a..3d997a17f79 100644 --- a/indra/newview/skins/default/xui/en/floater_world_map.xml +++ b/indra/newview/skins/default/xui/en/floater_world_map.xml @@ -12,7 +12,7 @@ save_rect="true" save_visibility="true" single_instance="true" - title="WORLD MAP" + title="World map" width="650"> <panel filename="panel_world_map.xml" diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml index 2b5e3143a43..b52784d6bc4 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml @@ -93,10 +93,10 @@ label="" height="200" width="330"> - <string name="InboxLabelWithArg">Received Items ([NUM])</string> - <string name="InboxLabelNoArg">Received Items</string> + <string name="InboxLabelWithArg">Received items ([NUM])</string> + <string name="InboxLabelNoArg">Received items</string> <button - label="Received Items" + label="Received items" font="SansSerifMedium" name="inbox_btn" height="35" @@ -124,7 +124,7 @@ halign="right" top_pad="0" width="300"> - [NUM] New + [NUM] new </text> <panel follows="all" @@ -175,10 +175,10 @@ label="" height="200" width="330"> - <string name="OutboxLabelWithArg">Merchant Outbox ([NUM])</string> - <string name="OutboxLabelNoArg">Merchant Outbox</string> + <string name="OutboxLabelWithArg">Merchant outbox ([NUM])</string> + <string name="OutboxLabelNoArg">Merchant outbox</string> <button - label="Merchant Outbox" + label="Merchant outbox" font="SansSerifMedium" name="outbox_btn" height="35" -- GitLab From 740b3547d6b4685bcd89bb2781ccb423ab935799 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Thu, 6 Oct 2011 16:48:19 -0700 Subject: [PATCH 120/213] EXP-1303 FIX Drag and dropping button over viewer area can select objects inworld fixed close button not working on floaters against right edge of window fixed drag and drop only working once per toolbar button reimplemented drag and drop threshold --- indra/llui/lltoolbar.cpp | 20 ++++++++++++++++++-- indra/llui/lltoolbar.h | 1 + indra/newview/lltooldraganddrop.cpp | 26 +++++++++++++++----------- 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 63a1706fe45..c34fbcd4f51 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -177,6 +177,7 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) center_panel_p.rect = getLocalRect(); center_panel_p.auto_resize = false; center_panel_p.user_resize = false; + center_panel_p.mouse_opaque = false; LLLayoutPanel* center_panel = LLUICtrlFactory::create<LLLayoutPanel>(center_panel_p); mCenteringStack->addChild(center_panel); @@ -557,7 +558,13 @@ void LLToolBar::draw() { if (mButtons.empty()) { - return; + mButtonPanel->setVisible(FALSE); + mButtonPanel->setMouseOpaque(FALSE); + } + else + { + mButtonPanel->setVisible(TRUE); + mButtonPanel->setMouseOpaque(TRUE); } // Update enable/disable state and highlight state for editable toolbars @@ -741,7 +748,11 @@ BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) // llinfos << "Merov debug: handleHover, x = " << x << ", y = " << y << ", mouse = " << hasMouseCapture() << llendl; BOOL handled = FALSE; - if (hasMouseCapture() && mStartDragItemCallback && mHandleDragItemCallback) + S32 mouse_distance_squared = (x - mMouseDownX) * (x - mMouseDownX) + (y - mMouseDownY) * (y - mMouseDownY); + S32 drag_threshold = LLUI::sSettingGroups["config"]->getS32("DragAndDropDistanceThreshold"); + if (mouse_distance_squared > drag_threshold * drag_threshold + && hasMouseCapture() && + mStartDragItemCallback && mHandleDragItemCallback) { if (!mIsDragged) { @@ -768,3 +779,8 @@ void LLToolBarButton::onMouseEnter(S32 x, S32 y, MASK mask) // Always highlight toolbar buttons, even if they are disabled mNeedsHighlight = TRUE; } + +void LLToolBarButton::onMouseCaptureLost() +{ + mIsDragged = false; +} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 3fbe5a7703b..4fac0811304 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -68,6 +68,7 @@ class LLToolBarButton : public LLButton void setHandleDragCallback(tool_handledrag_callback_t cb) { mHandleDragItemCallback = cb; } void onMouseEnter(S32 x, S32 y, MASK mask); + void onMouseCaptureLost(); private: LLCommandId mId; diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index a8014b8cde0..6910b8eced6 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -803,7 +803,7 @@ void LLToolDragAndDrop::pick(const LLPickInfo& pick_info) LLViewerObject* hit_obj = pick_info.getObject(); LLSelectMgr::getInstance()->unhighlightAll(); - + bool highlight_object = false; // Treat attachments as part of the avatar they are attached to. if (hit_obj != NULL) { @@ -845,16 +845,7 @@ void LLToolDragAndDrop::pick(const LLPickInfo& pick_info) { target = DT_OBJECT; hit_face = pick_info.mObjectFace; - // if any item being dragged will be applied to the object under our cursor - // highlight that object - for (S32 i = 0; i < (S32)mCargoIDs.size(); i++) - { - if (mCargoTypes[i] != DAD_OBJECT || (pick_info.mKeyMask & MASK_CONTROL)) - { - LLSelectMgr::getInstance()->highlightObjectAndFamily(hit_obj); - break; - } - } + highlight_object = true; } } else if (pick_info.mPickType == LLPickInfo::PICK_LAND) @@ -900,6 +891,19 @@ void LLToolDragAndDrop::pick(const LLPickInfo& pick_info) } } + if (highlight_object && mLastAccept > ACCEPT_NO_LOCKED) + { + // if any item being dragged will be applied to the object under our cursor + // highlight that object + for (S32 i = 0; i < (S32)mCargoIDs.size(); i++) + { + if (mCargoTypes[i] != DAD_OBJECT || (pick_info.mKeyMask & MASK_CONTROL)) + { + LLSelectMgr::getInstance()->highlightObjectAndFamily(hit_obj); + break; + } + } + } ECursorType cursor = acceptanceToCursor( mLastAccept ); gViewerWindow->getWindow()->setCursor( cursor ); -- GitLab From ea02a6a80d52a030db71100856826eaff43ccce8 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Thu, 6 Oct 2011 17:14:54 -0700 Subject: [PATCH 121/213] EXP-1301 : Init some members that were not initialized correctly --- indra/llui/lltoolbar.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index c34fbcd4f51..1f5fa5f361e 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -723,7 +723,10 @@ LLToolBarButton::LLToolBarButton(const Params& p) mId(""), mIsEnabledSignal(NULL), mIsRunningSignal(NULL), - mIsStartingSignal(NULL) + mIsStartingSignal(NULL), + mIsDragged(false), + mStartDragItemCallback(NULL), + mHandleDragItemCallback(NULL) { mButtonFlashRate = 0.0; mButtonFlashCount = 0; -- GitLab From 23205bb535e446979471296c9fa26f2530a9abaf Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Thu, 6 Oct 2011 17:18:49 -0700 Subject: [PATCH 122/213] EXP-1274 Create floater for "Avatar Picker" content --- indra/newview/app_settings/commands.xml | 4 +-- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llviewerfloaterreg.cpp | 1 + indra/newview/llviewerwindow.cpp | 6 +++++ .../skins/default/xui/en/floater_avatar.xml | 26 +++++++++++++++++++ .../default/xui/en/floater_destinations.xml | 2 ++ 6 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_avatar.xml diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 1fff95417b3..e4fc008b4cd 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -26,9 +26,9 @@ label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" execute_function="Floater.ToolbarToggle" - execute_parameters="avatar_picker" + execute_parameters="avatar" is_running_function="Floater.IsOpen" - is_running_parameters="avatar_picker" + is_running_parameters="avatar" /> <command name="build" available_in_toybox="true" diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 203bcab03ae..092e69952cf 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -619,7 +619,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string></string> + <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/avatars.html</string> </map> <key>AvatarBakedTextureUploadTimeout</key> <map> diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 7befc741e39..b0daf9f3c26 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -168,6 +168,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("about_land", "floater_about_land.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLand>); LLFloaterReg::add("appearance", "floater_my_appearance.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("auction", "floater_auction.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAuction>); + LLFloaterReg::add("avatar", "floater_avatar.xml", &LLFloaterReg::build<LLFloater>); LLFloaterReg::add("avatar_picker", "floater_avatar_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarPicker>); LLFloaterReg::add("avatar_textures", "floater_avatar_textures.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarTextures>); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index a28950f376b..fae3ee9081c 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1945,6 +1945,12 @@ void LLViewerWindow::initWorldUI() destinations->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); destinations->navigateTo(gSavedSettings.getString("DestinationGuideURL"), "text/html"); } + LLMediaCtrl* avatar_picker = LLFloaterReg::getInstance("avatar")->findChild<LLMediaCtrl>("avatar_picker_contents"); + if (avatar_picker) + { + avatar_picker->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); + avatar_picker->navigateTo(gSavedSettings.getString("AvatarPickerURL"), "text/html"); + } } // Destroy the UI diff --git a/indra/newview/skins/default/xui/en/floater_avatar.xml b/indra/newview/skins/default/xui/en/floater_avatar.xml new file mode 100644 index 00000000000..a0c1f4c0212 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_avatar.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="225" + can_minimize="true" + can_close="true" + user_resize="true" + can_resize="true" + min_height="230" + min_width="455" + max_height="230" + height="230" + layout="topleft" + name="Avatar" + single_instance="true" + help_topic="avatar" + save_rect="true" + title="Avatar Picker" + width="445"> + <web_browser + top="25" + height="200" + width="435" + follows="all" + name="avatar_picker_contents" + trusted_content="true"/> +</floater> diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml index 50a279c046b..9dd9338f37d 100644 --- a/indra/newview/skins/default/xui/en/floater_destinations.xml +++ b/indra/newview/skins/default/xui/en/floater_destinations.xml @@ -6,6 +6,8 @@ user_resize="true" can_resize="true" min_height="230" + min_width="525" + max_height="230" height="230" layout="topleft" name="Destinations" -- GitLab From 35d3fa12ba1b375a55c34680f9c8577ca3c4842c Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 7 Oct 2011 10:11:20 -0700 Subject: [PATCH 123/213] minor code cleanup --- indra/llui/llcommandmanager.cpp | 2 +- indra/llui/llfloater.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index b1147134c21..42aa9b333bb 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -139,7 +139,7 @@ bool LLCommandManager::load() if (!commandsParams.validateBlock()) { - llerrs << "Unable to validate commands param block from file: " << commands_file << llendl; + llerrs << "Invalid commands file: " << commands_file << llendl; return false; } diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index bc494e97f55..177344cde7c 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -840,9 +840,9 @@ void LLFloater::applyRectControl() if (mRectControl.size() > 1) { const LLRect& rect = getControlGroup()->getRect(mRectControl); - if (rect.getWidth() > 0 && rect.getHeight() > 0) + if (rect.notEmpty()) { - translate( rect.mLeft - getRect().mLeft, rect.mBottom - getRect().mBottom); + setOrigin(rect.mLeft, rect.mBottom); if (mResizable) { reshape(llmax(mMinWidth, rect.getWidth()), llmax(mMinHeight, rect.getHeight())); -- GitLab From 13a2431cb3ca24be1de51c041a046df6fe641b9e Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Fri, 7 Oct 2011 21:07:03 +0300 Subject: [PATCH 124/213] EXP-1255 FIXED (More spillover does not contain separator and "Open Landmarks" menuitem) - Added menu item "Open landmarks" as the last menu item in favorites menu --- indra/llui/lltoolbar.h | 2 + indra/newview/llfavoritesbar.cpp | 197 ++++++++++++------ indra/newview/llfavoritesbar.h | 14 ++ .../default/xui/en/panel_navigation_bar.xml | 18 +- .../newview/skins/default/xui/en/strings.xml | 2 + 5 files changed, 161 insertions(+), 72 deletions(-) diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 4fac0811304..e4534dea5f0 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -173,6 +173,8 @@ class LLToolBar LLToolBarButton* createButton(const LLCommandId& id); + bool hasButtons() { return !mButtons.empty(); } + protected: friend class LLUICtrlFactory; LLToolBar(const Params&); diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 6dcfa95a0eb..98de4188785 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -31,6 +31,7 @@ #include "llfocusmgr.h" #include "llinventory.h" #include "lllandmarkactions.h" +#include "lltoolbarview.h" #include "lltrans.h" #include "lluictrlfactory.h" #include "llmenugl.h" @@ -54,6 +55,7 @@ static LLDefaultChildRegistry::Register<LLFavoritesBarCtrl> r("favorites_bar"); const S32 DROP_DOWN_MENU_WIDTH = 250; +const S32 DROP_DOWN_MENU_TOP_PAD = 13; /** * Helper for LLFavoriteLandmarkButton and LLFavoriteLandmarkMenuItem. @@ -893,84 +895,155 @@ void LLFavoritesBarCtrl::showDropDownMenu() { if (mOverflowMenuHandle.isDead()) { - LLToggleableMenu::Params menu_p; - menu_p.name("favorites menu"); - menu_p.can_tear_off(false); - menu_p.visible(false); - menu_p.scrollable(true); - menu_p.max_scrollable_items = 10; - menu_p.preferred_width = DROP_DOWN_MENU_WIDTH; - - LLToggleableMenu* menu = LLUICtrlFactory::create<LLFavoriteLandmarkToggleableMenu>(menu_p); - mOverflowMenuHandle = menu->getHandle(); + createOverflowMenu(); } LLToggleableMenu* menu = (LLToggleableMenu*)mOverflowMenuHandle.get(); + if (menu && menu->toggleVisibility()) + { + if (mUpdateDropDownItems) + { + updateMenuItems(menu); + } + + menu->buildDrawLabels(); + menu->updateParent(LLMenuGL::sMenuContainer); + menu->setButtonRect(mMoreTextBox->getRect(), this); + positionAndShowMenu(menu); + } +} + +void LLFavoritesBarCtrl::createOverflowMenu() +{ + LLToggleableMenu::Params menu_p; + menu_p.name("favorites menu"); + menu_p.can_tear_off(false); + menu_p.visible(false); + menu_p.scrollable(true); + menu_p.max_scrollable_items = 10; + menu_p.preferred_width = DROP_DOWN_MENU_WIDTH; + + LLToggleableMenu* menu = LLUICtrlFactory::create<LLFavoriteLandmarkToggleableMenu>(menu_p); + mOverflowMenuHandle = menu->getHandle(); +} - if (menu) +void LLFavoritesBarCtrl::updateMenuItems(LLToggleableMenu* menu) +{ + menu->empty(); + + U32 widest_item = 0; + + for (S32 i = mFirstDropDownItem; i < mItems.count(); i++) { - if (!menu->toggleVisibility()) - return; + LLViewerInventoryItem* item = mItems.get(i); + const std::string& item_name = item->getName(); - U32 max_width = llmin(DROP_DOWN_MENU_WIDTH, getRect().getWidth()); - if (mUpdateDropDownItems) + LLFavoriteLandmarkMenuItem::Params item_params; + item_params.name(item_name); + item_params.label(item_name); + item_params.on_click.function(boost::bind(&LLFavoritesBarCtrl::onButtonClick, this, item->getUUID())); + + LLFavoriteLandmarkMenuItem *menu_item = LLUICtrlFactory::create<LLFavoriteLandmarkMenuItem>(item_params); + menu_item->initFavoritesBarPointer(this); + menu_item->setRightMouseDownCallback(boost::bind(&LLFavoritesBarCtrl::onButtonRightClick, this, item->getUUID(), _1, _2, _3, _4)); + menu_item->LLUICtrl::setMouseDownCallback(boost::bind(&LLFavoritesBarCtrl::onButtonMouseDown, this, item->getUUID(), _1, _2, _3, _4)); + menu_item->LLUICtrl::setMouseUpCallback(boost::bind(&LLFavoritesBarCtrl::onButtonMouseUp, this, item->getUUID(), _1, _2, _3, _4)); + menu_item->setLandmarkID(item->getUUID()); + + fitLabelWidth(menu_item); + + widest_item = llmax(widest_item, menu_item->getNominalWidth()); + + menu->addChild(menu_item); + } + + addOpenLandmarksMenuItem(menu); + mUpdateDropDownItems = false; +} + +void LLFavoritesBarCtrl::fitLabelWidth(LLMenuItemCallGL* menu_item) +{ + U32 max_width = llmin(DROP_DOWN_MENU_WIDTH, getRect().getWidth()); + std::string item_name = menu_item->getName(); + + // Check whether item name wider than menu + if (menu_item->getNominalWidth() > max_width) + { + S32 chars_total = item_name.length(); + S32 chars_fitted = 1; + menu_item->setLabel(LLStringExplicit("")); + S32 label_space = max_width - menu_item->getFont()->getWidth("...") - + menu_item->getNominalWidth();// This returns width of menu item with empty label (pad pixels) + + while (chars_fitted < chars_total + && menu_item->getFont()->getWidth(item_name, 0, chars_fitted) < label_space) { - menu->empty(); + chars_fitted++; + } + chars_fitted--; // Rolling back one char, that doesn't fit - U32 widest_item = 0; + menu_item->setLabel(item_name.substr(0, chars_fitted) + "..."); + } +} - for (S32 i = mFirstDropDownItem; i < mItems.count(); i++) - { - LLViewerInventoryItem* item = mItems.get(i); - const std::string& item_name = item->getName(); - - LLFavoriteLandmarkMenuItem::Params item_params; - item_params.name(item_name); - item_params.label(item_name); - - item_params.on_click.function(boost::bind( - &LLFavoritesBarCtrl::onButtonClick, this, - item->getUUID())); - LLFavoriteLandmarkMenuItem *menu_item = LLUICtrlFactory::create<LLFavoriteLandmarkMenuItem>(item_params); - menu_item->initFavoritesBarPointer(this); - menu_item->setRightMouseDownCallback(boost::bind(&LLFavoritesBarCtrl::onButtonRightClick, this, item->getUUID(), _1, _2, _3, _4)); - menu_item->LLUICtrl::setMouseDownCallback(boost::bind(&LLFavoritesBarCtrl::onButtonMouseDown, this, item->getUUID(), _1, _2, _3, _4)); - menu_item->LLUICtrl::setMouseUpCallback(boost::bind(&LLFavoritesBarCtrl::onButtonMouseUp, this, item->getUUID(), _1, _2, _3, _4)); - menu_item->setLandmarkID(item->getUUID()); - - // Check whether item name wider than menu - if (menu_item->getNominalWidth() > max_width) - { - S32 chars_total = item_name.length(); - S32 chars_fitted = 1; - menu_item->setLabel(LLStringExplicit("")); - S32 label_space = max_width - menu_item->getFont()->getWidth("...") - - menu_item->getNominalWidth();// This returns width of menu item with empty label (pad pixels) - - while (chars_fitted < chars_total - && menu_item->getFont()->getWidth(item_name, 0, chars_fitted) < label_space) - { - chars_fitted++; - } - chars_fitted--; // Rolling back one char, that doesn't fit +void LLFavoritesBarCtrl::addOpenLandmarksMenuItem(LLToggleableMenu* menu) +{ + std::string label_untrans = "Open landmarks"; + std::string label_transl; + bool translated = LLTrans::findString(label_transl, label_untrans); + + LLMenuItemCallGL::Params item_params; + item_params.name("open_my_landmarks"); + item_params.label(translated ? label_transl: label_untrans); + item_params.on_click.function(boost::bind(&LLFloaterSidePanelContainer::showPanel, "places", LLSD())); + LLMenuItemCallGL* menu_item = LLUICtrlFactory::create<LLMenuItemCallGL>(item_params); + + fitLabelWidth(menu_item); + + LLMenuItemSeparatorGL::Params sep_params; + sep_params.enabled_color=LLUIColorTable::instance().getColor("MenuItemEnabledColor"); + sep_params.disabled_color=LLUIColorTable::instance().getColor("MenuItemDisabledColor"); + sep_params.highlight_bg_color=LLUIColorTable::instance().getColor("MenuItemHighlightBgColor"); + sep_params.highlight_fg_color=LLUIColorTable::instance().getColor("MenuItemHighlightFgColor"); + LLMenuItemSeparatorGL* separator = LLUICtrlFactory::create<LLMenuItemSeparatorGL>(sep_params); + + menu->addChild(separator); + menu->addChild(menu_item); +} - menu_item->setLabel(item_name.substr(0, chars_fitted) - + "..."); - } - widest_item = llmax(widest_item, menu_item->getNominalWidth()); +void LLFavoritesBarCtrl::positionAndShowMenu(LLToggleableMenu* menu) +{ + U32 max_width = llmin(DROP_DOWN_MENU_WIDTH, getRect().getWidth()); - menu->addChild(menu_item); - } - mUpdateDropDownItems = false; + S32 menu_x = getRect().getWidth() - max_width; + S32 menu_y = getParent()->getRect().mBottom - DROP_DOWN_MENU_TOP_PAD; + + // the menu should be offset of the right edge of the window + // so it's no covered by buttons in the right-side toolbar. + LLToolBar* right_toolbar = gToolBarView->getChild<LLToolBar>("toolbar_right"); + if (right_toolbar && right_toolbar->hasButtons()) + { + S32 toolbar_top = 0; + + if (LLView* top_border_panel = right_toolbar->getChild<LLView>("button_panel")) + { + toolbar_top = top_border_panel->calcScreenRect().mTop; } - menu->buildDrawLabels(); - menu->updateParent(LLMenuGL::sMenuContainer); + // Calculating the bottom (in screen coord) of the drop down menu + S32 menu_top = getParent()->getRect().mBottom - DROP_DOWN_MENU_TOP_PAD; + S32 menu_bottom = menu_top - menu->getRect().getHeight(); + S32 menu_bottom_screen = 0; - menu->setButtonRect(mMoreTextBox->getRect(), this); + localPointToScreen(0, menu_bottom, &menu_top, &menu_bottom_screen); - LLMenuGL::showPopup(this, menu, getRect().getWidth() - max_width, 0); + if (menu_bottom_screen < toolbar_top) + { + menu_x -= right_toolbar->getRect().getWidth(); + } } + + LLMenuGL::showPopup(this, menu, menu_x, menu_y); } void LLFavoritesBarCtrl::onButtonClick(LLUUID item_id) diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index a41795a0807..1b11d6196e8 100644 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -34,6 +34,9 @@ #include "llinventoryobserver.h" #include "llinventorymodel.h" +class LLMenuItemCallGL; +class LLToggleableMenu; + class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver { public: @@ -132,6 +135,17 @@ class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver // finds an item by it's UUID in the items array LLInventoryModel::item_array_t::iterator findItemByUUID(LLInventoryModel::item_array_t& items, const LLUUID& id); + void createOverflowMenu(); + + void updateMenuItems(LLToggleableMenu* menu); + + // Fits menu item label width with favorites menu width + void fitLabelWidth(LLMenuItemCallGL* menu_item); + + void addOpenLandmarksMenuItem(LLToggleableMenu* menu); + + void positionAndShowMenu(LLToggleableMenu* menu); + BOOL mShowDragMarker; LLUICtrl* mLandingTab; LLUICtrl* mLastTab; diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index 21c9eb74371..bf9eeb6d265 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -60,9 +60,9 @@ layout="topleft" auto_resize="true" user_resize="true" - min_width="340" + min_width="480" name="navigation_layout_panel" - width="340"> + width="480"> <panel background_visible="false" follows="left|top|right" @@ -71,7 +71,7 @@ layout="topleft" left="0" name="navigation_panel" - width="340"> + width="480"> <pull_button follows="left|top" direction="down" @@ -118,7 +118,7 @@ mouse_opaque="false" name="location_combo" top_delta="0" - width="215"> + width="355"> <combo_list mouse_wheel_opaque="true"/> </location_input> @@ -149,9 +149,9 @@ layout="topleft" auto_resize="true" user_resize="true" - min_width="335" + min_width="315" name="favorites_layout_panel" - width="335"> + width="315"> <favorites_bar follows="left|right|top" font="SansSerifSmall" @@ -161,7 +161,7 @@ name="favorite" image_drag_indication="Accordion_ArrowOpened_Off" tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!" - width="331"> + width="311"> <label follows="left|top" height="15" @@ -177,14 +177,12 @@ <!-- More button actually is a text box. --> <more_button follows="left|bottom" - font.name="SansSerifSmall" - font.style="UNDERLINE" name=">>" tab_stop="false" tool_tip="Show more of My Favorites" top="15" width="50"> - More... + More ▼ </more_button> </favorites_bar> </layout_panel> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index f021fdd6a16..be1ed234fc2 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2051,6 +2051,8 @@ Returns a string with the requested data about the region <string name="Marketplace Error Unsellable Item">Error: This item can not be sold on the marketplace.</string> <string name="Marketplace Error Internal Import">Error: There was a problem with this item. Try again later.</string> + <string name="Open landmarks">Open landmarks</string> + <!-- use value="" because they have preceding spaces --> <string name="no_transfer" value=" (no transfer)" /> <string name="no_modify" value=" (no modify)" /> -- GitLab From fbe563fdf44c1843de29e189f05203fa4ab20d61 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 7 Oct 2011 12:03:29 -0700 Subject: [PATCH 125/213] adjusted toolbar padding per spec --- .../skins/default/xui/en/panel_toolbar_view.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 44da813f618..31a26dab7fd 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -41,10 +41,10 @@ <toolbar follows="left|top|bottom" button_panel.bg_opaque_image="Rounded_Rect_Right" name="toolbar_left" - height="500" width="30" left="0" - top="0" + top="10" + bottom="-10" side="left" button_display_mode="icons_only"> </toolbar> @@ -63,10 +63,10 @@ button_panel.bg_opaque_image="Rounded_Rect_Left" follows="right|top|bottom" name="toolbar_right" - height="500" width="30" left="0" - top="0" + top="10" + bottom="-10" side="right" button_display_mode="icons_only"> </toolbar> @@ -83,8 +83,8 @@ button_panel.bg_opaque_image="Rounded_Rect_Top" name="toolbar_bottom" height="30" - width="1024" - left="0" + left="40" + right="-40" top="0" side="bottom" follows="left|right|bottom" -- GitLab From ca2f043ffeb0b6f7c0a5ea171411c45f6dcc0bf4 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 7 Oct 2011 12:09:16 -0700 Subject: [PATCH 126/213] moved stand/stop flying buttons to above bottom toolbar --- indra/newview/skins/default/xui/en/main_view.xml | 9 --------- .../skins/default/xui/en/panel_toolbar_view.xml | 14 +++++++++++++- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index cf566d7d232..57baa7cdd39 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -90,15 +90,6 @@ top="0" visible="false" width="1024"/> - <panel bottom="500" - follows="left|right|bottom" - height="25" - left="0" - mouse_opaque="false" - tab_stop="false" - name="stand_stop_flying_container" - visible="false" - width="500"/> </layout_panel> <!--<layout_panel auto_resize="false" min_height="33" diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 31a26dab7fd..03d45887d42 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -52,7 +52,19 @@ <layout_panel name="non_toolbar_panel" auto_resize="true" user_resize="false" - mouse_opaque="false"/> + mouse_opaque="false" + height="100" + width="100"> + <panel bottom="100" + follows="left|right|bottom" + height="25" + left="0" + mouse_opaque="false" + tab_stop="false" + name="stand_stop_flying_container" + visible="false" + width="100"/> + </layout_panel> <layout_panel name="right_toolbar_panel" auto_resize="false" user_resize="false" -- GitLab From 3ba9bd536b036fda89d467729870cfac0c5727b8 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 7 Oct 2011 12:20:06 -0700 Subject: [PATCH 127/213] * "search" floater now only minimized after teleport if it is visible to begin with. * LLAgent now keeps track of whether or not the agent can build in the current parcel. * Hooked up is_enabled_function to build and speak commands. --- indra/newview/app_settings/commands.xml | 4 +++ indra/newview/llagent.cpp | 43 ++++++++++++++++++++++++- indra/newview/llagent.h | 9 ++++++ 3 files changed, 55 insertions(+), 1 deletion(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 8ee4b7d075b..a59642b2d81 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -37,6 +37,8 @@ tooltip_ref="Command_Build_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="build" + is_enabled_function="Agent.IsActionAllowed" + is_enabled_parameters="build" is_running_function="Floater.IsOpen" is_running_parameters="build" /> @@ -207,6 +209,8 @@ tooltip_ref="Command_Speak_Tooltip" execute_function="Floater.ToolbarToggle" execute_parameters="speak" + is_enabled_function="Agent.IsActionAllowed" + is_enabled_parameters="speak" is_running_function="Floater.IsOpen" is_running_parameters="speak" /> diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index ba421269856..ed29ac79609 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -71,6 +71,7 @@ #include "lltoolpie.h" #include "lltoolmgr.h" #include "lltrans.h" +#include "lluictrl.h" #include "llurlentry.h" #include "llviewercontrol.h" #include "llviewerdisplay.h" @@ -152,6 +153,34 @@ bool handleSlowMotionAnimation(const LLSD& newvalue) return true; } +// static +void LLAgent::parcelChangedCallback() +{ + bool can_edit = LLToolMgr::getInstance()->canEdit(); + + gAgent.mCanEditParcel = can_edit; +} + +// static +bool LLAgent::isActionAllowed(const LLSD& sdname) +{ + bool retval = false; + + const std::string& param = sdname.asString(); + + if (param == "build") + { + retval = gAgent.canEditParcel(); + } + else if (param == "speak") + { + retval = true; + } + + return retval; +} + + // ************************************************************ // Enabled this definition to compile a 'hacked' viewer that // locally believes the end user has godlike powers. @@ -183,6 +212,7 @@ LLAgent::LLAgent() : mbTeleportKeepsLookAt(false), mAgentAccess(new LLAgentAccess(gSavedSettings)), + mCanEditParcel(false), mTeleportSourceSLURL(new LLSLURL), mTeleportState( TELEPORT_NONE ), mRegionp(NULL), @@ -246,6 +276,10 @@ LLAgent::LLAgent() : mListener.reset(new LLAgentListener(*this)); mMoveTimer.stop(); + + LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback(boost::bind(&LLAgent::parcelChangedCallback)); + + LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsActionAllowed", boost::bind(&LLAgent::isActionAllowed, _2)); } // Requires gSavedSettings to be initialized. @@ -3361,7 +3395,14 @@ bool LLAgent::teleportCore(bool is_local) LLFloaterReg::hideInstance("region_info"); // minimize the Search floater (STORM-1474) - LLFloaterReg::getInstance("search")->setMinimized(TRUE); + { + LLFloater* instance = LLFloaterReg::getInstance("search"); + + if (instance && instance->getVisible()) + { + instance->setMinimized(TRUE); + } + } LLViewerParcelMgr::getInstance()->deselectLand(); LLViewerMediaFocus::getInstance()->clearFocus(); diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 5e23ced4243..1775a0235cc 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -575,6 +575,15 @@ class LLAgent : public LLOldEvents::LLObservable ** ** *******************************************************************************/ + // Build +public: + bool canEditParcel() const { return mCanEditParcel; } +private: + bool mCanEditParcel; + + static bool isActionAllowed(const LLSD& sdname); + static void parcelChangedCallback(); + /******************************************************************************** ** ** ** ACCESS -- GitLab From 3ce63ffea34daee10ea50a6ca9272d46f2715f05 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 7 Oct 2011 12:28:01 -0700 Subject: [PATCH 128/213] * Updated to no longer perform user_status marketplace query for DD. * Fixed setting to always display the inbox inventory panel. --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llviewermedia.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 092e69952cf..aa2ff646a86 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4246,7 +4246,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>0</integer> + <integer>1</integer> </map> <key>InventoryDisplayOutbox</key> <map> diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 13dbc5e3863..41b4dc01e8d 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1488,7 +1488,8 @@ void LLViewerMedia::setOpenIDCookie() new LLViewerMediaWebProfileResponder(raw_profile_url.getAuthority()), headers); - doOnetimeEarlyHTTPRequests(); + // FUI: No longer perform the user_status query + //doOnetimeEarlyHTTPRequests(); } } -- GitLab From 3a280f747dae737fd03bd4c2c886aa6231c0b703 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 7 Oct 2011 15:18:14 -0700 Subject: [PATCH 129/213] Button iconshg pullhg pullhg pull111 --- .../skins/default/textures/textures.xml | 46 +++++++++--------- .../textures/toolbar_icons/appearance.png | Bin 0 -> 1205 bytes .../textures/toolbar_icons/avatars.png | Bin 0 -> 1432 bytes .../default/textures/toolbar_icons/build.png | Bin 0 -> 1246 bytes .../default/textures/toolbar_icons/chat.png | Bin 0 -> 1277 bytes .../textures/toolbar_icons/destinations.png | Bin 0 -> 1297 bytes .../textures/toolbar_icons/gestures.png | Bin 0 -> 1675 bytes .../default/textures/toolbar_icons/howto.png | Bin 0 -> 1306 bytes .../textures/toolbar_icons/inventory.png | Bin 0 -> 1114 bytes .../default/textures/toolbar_icons/land.png | Bin 0 -> 1123 bytes .../default/textures/toolbar_icons/map.png | Bin 0 -> 1206 bytes .../textures/toolbar_icons/marketplace.png | Bin 0 -> 1311 bytes .../textures/toolbar_icons/mini_map.png | Bin 0 -> 1645 bytes .../default/textures/toolbar_icons/move.png | Bin 0 -> 1322 bytes .../textures/toolbar_icons/nearbyvoice.png | Bin 0 -> 1280 bytes .../default/textures/toolbar_icons/people.png | Bin 0 -> 1313 bytes .../default/textures/toolbar_icons/places.png | Bin 0 -> 1391 bytes .../textures/toolbar_icons/preferences.png | Bin 0 -> 1427 bytes .../textures/toolbar_icons/profile.png | Bin 0 -> 1180 bytes .../default/textures/toolbar_icons/search.png | Bin 0 -> 1406 bytes .../textures/toolbar_icons/snapshot.png | Bin 0 -> 1142 bytes .../default/textures/toolbar_icons/speak.png | Bin 0 -> 1253 bytes .../default/textures/toolbar_icons/view.png | Bin 0 -> 1618 bytes 23 files changed, 23 insertions(+), 23 deletions(-) create mode 100644 indra/newview/skins/default/textures/toolbar_icons/appearance.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/avatars.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/build.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/chat.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/destinations.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/gestures.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/howto.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/inventory.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/land.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/map.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/marketplace.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/mini_map.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/move.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/people.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/places.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/preferences.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/profile.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/search.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/snapshot.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/speak.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/view.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index a98ef58f501..0e4b354e0d6 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,29 +125,29 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> - <texture name="Command_AboutLand_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Appearance_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Avatar_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Build_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Chat_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Compass_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Destinations_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Gestures_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_HowTo_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Inventory_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Map_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Marketplace_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_MiniMap_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Move_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_People_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Places_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Preferences_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Profile_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Search_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Snapshot_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Speak_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_View_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> - <texture name="Command_Voice_Icon" file_name="taskpanel/TabIcon_Home_Off.png" preload="true" /> + <texture name="Command_AboutLand_Icon" file_name="toolbar_icons/land.png" preload="true" /> + <texture name="Command_Appearance_Icon" file_name="toolbar_icons/appearance.png" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="toolbar_icons/avatars.png" preload="true" /> + <texture name="Command_Build_Icon" file_name="toolbar_icons/build.png" preload="true" /> + <texture name="Command_Chat_Icon" file_name="toolbar_icons/chat.png" preload="true" /> + <texture name="Command_Compass_Icon" file_name="toolbar_icons/land.png" preload="true" /> + <texture name="Command_Destinations_Icon" file_name="toolbar_icons/destinations.png" preload="true" /> + <texture name="Command_Gestures_Icon" file_name="toolbar_icons/gestures.png" preload="true" /> + <texture name="Command_HowTo_Icon" file_name="toolbar_icons/howto.png" preload="true" /> + <texture name="Command_Inventory_Icon" file_name="toolbar_icons/inventory.png" preload="true" /> + <texture name="Command_Map_Icon" file_name="toolbar_icons/map.png" preload="true" /> + <texture name="Command_Marketplace_Icon" file_name="toolbar_icons/marketplace.png" preload="true" /> + <texture name="Command_MiniMap_Icon" file_name="toolbar_icons/mini_map.png" preload="true" /> + <texture name="Command_Move_Icon" file_name="toolbar_icons/move.png" preload="true" /> + <texture name="Command_People_Icon" file_name="toolbar_icons/people.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="toolbar_icons/places.png" preload="true" /> + <texture name="Command_Preferences_Icon" file_name="toolbar_icons/preferences.png" preload="true" /> + <texture name="Command_Profile_Icon" file_name="toolbar_icons/profile.png" preload="true" /> + <texture name="Command_Search_Icon" file_name="toolbar_icons/search.png" preload="true" /> + <texture name="Command_Snapshot_Icon" file_name="toolbar_icons/snapshot.png" preload="true" /> + <texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" /> + <texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" /> + <texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/appearance.png b/indra/newview/skins/default/textures/toolbar_icons/appearance.png new file mode 100644 index 0000000000000000000000000000000000000000..e6b13653885bb803839f1ececacd8f10a9b57fbe GIT binary patch literal 1205 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVix)zQt;#Kp<g(!|ox(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1PFwUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZns$CG!Lpb z1-Dxqaq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@iwptMMf`Nfi)6>N<q~cc6 zpa1{unN1m#xAG)03f_u}dhv+Ofk&u@_sH&xPwq5Eh<2=J`dFy&k5P<uCr8^>6I0jl z^--q(#ROz-?EkMZ;XcC=GlQS){PKF0zrVeGJ=eNiuArnKgZ<P~#*HjD!VO$^m%rUq z{qfP!#s57LE-&+~UeG4GHfm?l)%*MF{~vsE4@jEno0qc%tdr_^dZ3Mg*WmZh&(FXA zk2s*t@uR`_ow-0rc<5PXsSrk^4*8Dvf7ONmFf{%6@k2~4!JwA?k@%Bi*XG;T*Rim% z=(M*^G!fYU>-+or)2HjlPZKIS`sC!~aK@GA4;WN$PCF}=J>>vflD9%wdzGj@gDXSG zT1g*!?n&DH&Y5*ewWY!{4<B(*HR$0zH0`%z<KM;!cC$p4LyS2T4ltPZ)VRAJS6=`s ONIYHrT-G@yGywn^*`HJZ literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/avatars.png b/indra/newview/skins/default/textures/toolbar_icons/avatars.png new file mode 100644 index 0000000000000000000000000000000000000000..8fa0600cee51365850e9f4c7d282e37432d15d73 GIT binary patch literal 1432 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-+|<&=!otzj(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OqgUQklVEdbi=l3J8mmYU*Ll%J~r_Oewb7PpwWI=We! zxEcb@v&8Neh~5+|Zh`7G!l_pu=oo!a#3DsBObD2IKumbD1#;jCKQ#}S+KYh6x+qp6 zgn@yH$J50zq~g|^5N~hkK#_N6O!!qNu5fhfuGD#><aj1-;v11Wp3Om<^nNlgjpb~- z5GuYdXp;N`J)sM!3Xv%j+4DAW7Ah!Snwp_{G|+hF$uHK2efIdUU);uScWzGgxtiyt z=@!11<Noqjo|Te0zSe=Yfl(+XqWR(c<|tN?2Rw$Su6T+{h8E8Cdma%uWp~)>uXk<I z19imipWalX?0Km_$87hRUpE{YjTmmF82!w2XPM;uHqb0WK7Wb~%eCU2chmz#{JC2X zh2M}qAiZqu(h#lC-0ipBw?^r*|7I-MwD$AYD%<s|UNKMhmF_>jeX7^f*%!^?wWji| z(7kLg!*{gAYOh_c?)>xT7m0>$7M#GVsWH=MU#h3i%db`HA#41uWSEG(+;IPWePZ*j zyYK8mT^*km{ZyXY_-6Xc<x3~Xb{`d6W?bcEz^*65_rBrFt%n5_XNzwL-JI!@=KcQe z<BvD)d8AyKtnj!-L&Qtrx9IEgoiW@y*zQ)??DIeQBf~`Nw&2dYdD9g*vbILWHkb9e zDc=mz^nWtZBSqL-P~)}khSMQM4pQ6`1ou4u{`)+8^TG7_=f9tu#pA-aB1dUr#h!p? z8_qtwykREycgM}strMO_9yWW@u`APTcHK7X1hF00+jDD`1vq^EJ$wDXSwn)y>%U8j z?#%rxwbpU#%l|COn%S7goclPE<&jxEgL(mHOmyvjRtW}&<G(H+;3(Dxm6e{ZelF{r G5}E*$_zJE7 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/build.png b/indra/newview/skins/default/textures/toolbar_icons/build.png new file mode 100644 index 0000000000000000000000000000000000000000..e21ab3f0e449443ef5ac93f9282098fe34a121fc GIT binary patch literal 1246 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-+|<&=!ot<n(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O$kUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnrq&G!Lpb z1-DyVaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i-dz3sJOcw`kf)1dNX4x) zlh1p#1c)5_+9z;zRgyxJ(DcT$T2Wi2n-pG1-eOyO_<F|0?kxgM6B4=%qqd!HHB#cr zYq`kr|E`^@vx#VmnCy>2z2|d&->vS8n-+9x&7mDt4XHN;@95oNl4iY`X~y?=&6T$Y zWE&+uimUAo<jjc|Icn@0_)h0^)z{kkMhoA|CKpZKGX6ZfDQw!)*E-^^6X(CzW#O1{ zCT;U?rHdO>Jol-3?sB@DSSEbgWWKahlY)=T@yf-v(>h=7`j>J0+n%1kTnE4L9IjZz zyjJ8<Na)^&m33SPbJ*k)82t{YN_?-?bvhBXujBC#*{<bR7mD{x+?>63X2J6WYo5cE zs#DLuc)&kV=KSZp>|7u1pWV9xwAa0syY6O`wOTdy?_)N%oo=%kV=h^()?28+F|BtY zpWq?+d0{O()<tc5esNv%`mDbJipwfC>~(61ocPy%p*$lSL&nu(SK^=ZUI3Lip00i_ I>zopr0EN`Mg8%>k literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/chat.png b/indra/newview/skins/default/textures/toolbar_icons/chat.png new file mode 100644 index 0000000000000000000000000000000000000000..e0dbac495fcea3c9f804befcf18d44c1a306f184 GIT binary patch literal 1277 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-+|<&=!qUjq(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1PCvUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfVG!Lpb z1-Dxaaq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@iu3~5Y$H2f?=;`7ZQgJKk z&;S4S%%%*&%u^Xo|F8ca;G35Aj5SEf;SBqcI}T^qrvBnQa=+n+u)zLb-@m^P7ipfr z!;l%YcKv$u&)+|9o;q#XwP(+tPft%y7G^s6|HsG2XP=*+FK<)(>&vlEPfvemzB-?g z>wc>=M@oanzE!7A?FiS8k7M}sU$}X`eRbKUHCs%iR!nElVq^9PCh=qI=iBcW$mZbr z|L5al+Y9WR4#qnqe*OOKT>t;q*WM842|T~A+`9GZC_~93!y?|shwl9H?^0NHJu?OZ ze$_z!o{sbdC10jrGC6YM#1Gz-3szpdOusU?l`r%={r~sZ`s|S-OI-RC59oZ8c%hU$ zq5B>q??={4(@z>aSGypfuJBiCj>5tjydByNKR5*qOGP^-H_i}VHeYa>*2IH%cbCsq zQBiqTR9vjhu(QA6hmL@K>#kpX0`CuBXnCR(QI<I0Jb#}4gum<^=}Nb|_%|mQN=*4Y oxA6vJN58;amKC8J7+EA3T3ipuPUpK61}cy|UHx3vIVCg!03m?NHUIzs literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/destinations.png b/indra/newview/skins/default/textures/toolbar_icons/destinations.png new file mode 100644 index 0000000000000000000000000000000000000000..e2325f083ad37e13fe97eaa2b0aa7d31117b38ae GIT binary patch literal 1297 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi$*~QY((ZbNx(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OnfUQklVEdbi=l3J8mmYU*Ll%J~r_Oewb7PlCin_9Y9 zSeoE852`l>w_6Nw>eUB2MjsThND&Pa0;V1i6P|2=9C*S{%>$<PB4DyMewu8+z`)q* z>EaktaVzQ1|Nr*PrVQMAoNjJzjtWcJk33S)6WGu4=(I!k{iLf5MS@mrOs!wOeEIbI z`}_I7KR-Wzet-S{e{~-o9BgfBYRXzLM=Q)Wg6CoEj)I3N6Q2FgU{KkXc6OGff+-8{ zsgox;|Ni~`{ri6lh7%ildU`mT*zWEqOt$yA3^d~!v!<oOG&ZRXJZg2{-`$<e!u#vj z*VoY#9>wpkt7QtZ@hHl<zrVhock1u1b^V;SA1o~_emHz-=a-LTN`5CEr1P)(|G&T5 z0<))1o!XtS=I@V>k2z0-1z1EzMX@nV?O@orVcD`}*U!(lw|9>HGHJo}hOXBMi66hb zyqtaX=+V-jKYyC`%h~Q?5oV9N=6*pzL5zv*jkL{1HZJSTBp#-R6aMdTGz#PtYHLi~ zB6XK#!Srtrg8DBjWZe4MHD%d9Ce7HGS2I7PyjXsq#*FhA<EH6NM!J4iD`Hp<EpiC| z%dqR2_%;T&V>&EdGp`@GvWIC!Ktp@`b4|O}9v6`uHit9(N7z4VGI1C%IK^KyHwX@X Q1S+IFUHx3vIVCg!07?zj0{{R3 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/gestures.png b/indra/newview/skins/default/textures/toolbar_icons/gestures.png new file mode 100644 index 0000000000000000000000000000000000000000..2404bb4e25328057fa3b9f22490bceb0e6af0520 GIT binary patch literal 1675 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi$*~QY((ZbZ#(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OzjUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfYG!Lpb z1-DyFaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@ijuK}6&%nU+-_yl0q~g|^ zDbXI617(hXzyG)Hdh8UbEl<t1U);lUCTjK?l?h%NRU6uaIyhQ1I9@F^obS}SK%qEO ze15HNn11iH6`qq;T((`4V75>}R{GtuZTsBK3=3^b9~7Uv`Tx(k?|<~3_h?P^+VcP6 zj3wD7v$c!aPE5PL!sv;LI!7~$1^0~ywl`LAT=abY{Wq)H<ddzLpD%qf;=NF6HFw(S zr)IS?=YQXI=iSWYvfUp)-?`(x=IfTNTW2Oz3tkcW-6e23YxCV#Z(qMYz9+)Y!NkO- z#&==BoV3k1%jfv1bI%T4tE=lT)amkj^TmtnxbNN#x-r+;q^WDdr1Q`3pGe)T(z8Ay zz|Y@*^Ovf>z6&(Px+QC#?~Yj)Jb&4;xY(C3B@+xJvhC)-zjU#!Eo#k8Pp*y$oSfpe z^3v7p=DPmwZdPH35*d3$#kyUY6n8l&teAc><=5J^Yhz5LVvo;@TjQ-*)^Rc=%Hv$e zg_9{pKOaY%>}uP2^I^fAuxyiOP75cPN$_|*GHpMbC&<-WIy>Vji*TGo@3FF$^$KP# z9@D&*CP`F2ur5*xS$*|eja~c%50#)tg06wnKSm36AH7t)>Q~#*q^ln)Y=S~{1--gl zl=zO#s<4q;c=;t~$Qv!Q;w@3RvQ7`oOwFSOXQ@s0Tb>~9ELZAVwwt;AiIuf==+p~` zk~aP@n6h)Zt(?%QrVuULrc2zfUcL6@izwO|GxPM*O&U&b8n0LXOV$wCa5Km1M&2xG z>BlK5PL34^Kl1XNFtnd|Hm!c*jE91~O0iGNf<zWyeP|G|_F7%b`p}gjif^PpSJ*sB zT6a0X(5zz1-o1OTJS@A<&(<8bV~+mc#jH$>`){T^n)KZDK+SWxrw5XsIQ^+gYHI#1 zqFA~5+cKrqtGPED8}k>28rAEDgd8lqz{>L><Eeswz}?=HCr=tze|uBqa{IsFhXc3& zDpg2HKYsl9JKu);yt(zt<*Dobyei)t7ZcON!^?LrjC*F>)9S4C0-AC~KPFGv`AYth s<GQBZ3e0uQ0zVkmg>St3u%CgMA+_+h(Bl8s>p<0mr>mdKI;Vst05Thp6#xJL literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/howto.png b/indra/newview/skins/default/textures/toolbar_icons/howto.png new file mode 100644 index 0000000000000000000000000000000000000000..8594d7111333ede852f8c3ea8dc533c205533b5d GIT binary patch literal 1306 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi$*~QY((ZbTz(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O?oUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnv1@G!Lpb z1-Dx)aO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i7TN#sIRgV@pQnpsNX4zB zKmY&RGn+CfpHOgfa|=_jX7PQ;FR(e`;^t5C0t+M#oj7rT!6@VYzFH-Ro&Pg_7>jNE zuN}VbNlO&hm9q*g#XN0}_5c6H{(p3o+jaqyz%_=hn}2?Oe$F*1agKfczdy4kOgJ!c z?%dd^vuB^~OT5r8Z-1}phr%A9mao$0c`-aDJ;EC5>{}k_Ur}J2;OH^!bHkOzEeB_t z=f`<@dpF<w_U#*^g4Bu)O`V-DZ|f^0BqlyQAe0s_ae+D5%ggJteU^zIyVR%sYu4z< zwkvWpXm8kG`#X$(O4_T}ud|u0o>@<l*>zpQU{4#5g{7smBUi($BF<fGDawkhIXO8t zM^rq-Y~s{3Pd+XYR2B)y5twxPpWs_lL&J^rJNC3aTM=Kud+E|8CfE1dTe-#kfF^%q zj_Crr{O|hh+po*cVE&hQ_OAku$qFHft4G(YS<~Nm@$d8oe-VBeiv{l<Joq3bHHV|w z!H{>$$F!oNPghjEr`f2AsJ(jiD(3q7`1#Fe6$Cn%9xYumEmNVHfr*DfN643vdAGMc PsI>BQ^>bP0l+XkKM$*sz literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/inventory.png b/indra/newview/skins/default/textures/toolbar_icons/inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..ab3191255e1f6f73176259ec9c6e55a9de190f44 GIT binary patch literal 1114 zcmaJ=U1-xl9FL3WoE2n(s0f}JxCd>LYuviV)=`^w7M3}>;s(kzO>SFU^ReW%X7fb{ z!bB8&sO(AiqCTmhf<*-p6%}#lKn1}EA5?tsn}H06UgkP|um&!7|Ks=j{Xg$$dt1wj znsqf4MXgBhlrm(m^;h*0^4~pqqLXZEak2|{SUtF)IEadCRt|x*q4c5*QncZLhbT%> zG^1y`aF^UFs+PejK8E!So3JS=+U(hi+K({Ep<dmLF`sVSVt}s2n9c^7m+b`V(|3+I zsAHrptB&-m5shiy4x*k&1Pp`~;2C+-6}=cUrz?`Pf6Xyq4ubn*%<rJO<aUs-90VFz zKB)4IJZOY06t;%L;VmG<L!RS991I0vSQJ7c&x84oA>JIVN6bj6d0)heF?|@@BF7a9 z1-2ltmeb3@NF?HGghD}r2)e^2R=l9;)|C|`<f@KtW8E@=uc+j#K^$X9q`y-z>;+lV zoi7t980RTA2U*@vsSK3m|3eL90qx=p`V;Rzh28A1jkpYQtwBd6jq9oNUD;y7K?=5< ztYziPRc!CGu;unyHb`_d09jFW)3@jFvMi=e7b~WU(o&2e3aqYcViLkI6eK<w*&2s1 z$?u3XC7O6C-q@6sl1&0Eb0te1G?0nQT<s4RR^<AlVA#a7gdBYcX(`7tz+B3rUNM$L zvZCHRSF0FHB2|&gkzhE#v41tXd_|_mKQ4?dF%||NnPl1>GS>a4cYP;MVlpkov);?x zkDouA=>}>QU8I(eJ$d#tzWU12Tuar=P}P@#HSfL_HwOaX((TX1&7E&&>#64#_FU^| z*>hvj*sGJ%q0#DzV^h};jxe!kbo~UIzxy^Y@pu}{Ja~QQz90yN_>q0oz1~Bu+rFJ? z{rvUKqj%uN;q`P)UL8MP+B+JkqUnQ59zwY6vijlM`CYg4b+cFDSg}|<nWamm(l`v% z*4F0go`LS}?o%6ArsxAJh2@Xxd3yZjr`h@q(Z#t&@7&oXR5eefHoY&6O{G8juRWb? KlP>PqKl%$VQg2-V literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/land.png b/indra/newview/skins/default/textures/toolbar_icons/land.png new file mode 100644 index 0000000000000000000000000000000000000000..89ea7604a4210ea76ca3fc680ff50da6eb984166 GIT binary patch literal 1123 zcmaJ=OK1~87~WbNv>K6GsrBNxLhCF0NSY>D6Vo)C)~H)c8Z;;EW_OY<?LOR{HruM8 z^`ZwKMFmmO;zjVFD0nF1<0Obs^q_?zf`S(Gpsi39#X4J?>cO}$JM$0U_x;Z~-rm;g zu3TM75QICqjZfjd%2|tC_`iGf<Q}}$qC^ID=s8pnO-RIKJqtln74t9!MY(_fV;Clg za#BfWP)69vNxDjj4u-N-1G5Pt9JLKm>V^npVP4T9<j1=YNTA3Oa*tnN1S1Z+lx+hh z>=<ZEO9S0fNG79OLD=T7fC`ZaY_&(TI6Fel>T>w(T+<|&g`n;T`8%kL&<^6d34xzt zJQCB$fJT;LeGP#?U^DPCEJHJ1n)Q0v0O#{^3<Ksq5_>b{9GBu-=6qo*LUti!a5P;g z6sUra(#<^0hC(4n!|U~6gvaXFkZ5}}Yh6)+hn8e222yklIErFc??n+3NBTPj)tHyn zthqAbg3-2U&@9C`DHVZ&@PDYP&Z8}qf`8)ur?8doHz1vYmfmYhxN*64jw^$Un@~i$ znb!55VinuFbfjBdx&h)HejtdFqB-^~UJ$sXW+73NV3LoJSb<U$nM<&2fc5bWiBLm~ zWfM$uC>Reie5^5;;1fX~TjcV()T=@b6}j>suD>ML83onAo_T00eNb*ObrsB}%qgW~ z@s`w^<I1ID@s;G#I2hV#>|c#8Ug7C+j`L%SjrqZc8lH9&kF~AcI)$IaSdx#W?eXl7 znVD$0pICD2>GNkB7Nic!7bf3Ko!jJFb(k8My0Y`r)Y~T$-1xW~>|@J>vvp%zve|6a z`n^ZXYVs4yhCR_qrOz;yUkt<TbuXB~Bas7NcAx&h)wwp7Ro7IwT+^>c4t-y;)xGih z_3($WoAjg8Uw5r-I_ZCZ;KcdNnW3TAFYimOwa@S6MD6n8(OlD;r4{ckEv#MOTeQYi zp0B^w*ExLqb;pi$=ghay6H!L`c{Lcjf9U&k&7IVAw7GKCWOdJ_rXTKOGgs?Z^bp`7 Xu{>%wy^=;&I?q0tXyb1*cMkpnF7tJJ literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/map.png b/indra/newview/skins/default/textures/toolbar_icons/map.png new file mode 100644 index 0000000000000000000000000000000000000000..ed1049b7db7cf2a8d10f54aabcacfb58205f9b89 GIT binary patch literal 1206 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi)(9qn_*u}!t(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19ysMpQS(#*-+(Ez7jP*TV(0NU)5T9jFqn&MWJpQ`}&vQ;K- zx0vBH52`l>i(8=nFvqD^ALtl;P{bldG)xGXdO%EgvITPB2|qOtnA(eg$(rfIg?0u8 zMlDYl$B>F!Nq_$Tw`VqG;O@9^^<v{k*G7pW7g--gI>@jdNpJiiCGh{)qWR3LuC;J# zB|Lxh=+d3r*SG)rFi|=C$kC&!`f<CqY~QfqLVJI|zKBLV%Mm#TouZ$oL?={fii%F{ zxV3B7)ZgFU-)DN#ZOpJY?C-O)v%~*SY}h<G*t+NM<KzAL?tL<r6DLhFigb_O{pjiG z>C@8v=G%RLeSQ6W15<~OY;FG|7&bY2u>C72EXzB(OfE%0cw^(qQ>RWbU1<)sy~t(= z1dpetFA$P2&ESywBE8yCY}z#LPSc0{0t_qnf6)2#{r&y*`|JPD<4>8@*d?a0jU`Fo zzqC(p`|fJRs&5RhezTlWl2PD&-e@7*@pB>Dg5<gte=0S8GYjOiKeC!|)1bEJiq;JV aCLRWd^D?!&5{_K}l_Z|7elF{r5}E)pzNm`; literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/marketplace.png b/indra/newview/skins/default/textures/toolbar_icons/marketplace.png new file mode 100644 index 0000000000000000000000000000000000000000..62bad20be69817302e64799a0d12d19ca5a70ad3 GIT binary patch literal 1311 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsViy&C<-t+|k(8(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1ObbUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfXG!Lpb z1-Dy_aO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@ij!Z2RU|?XJ?CIhdQgJKk z&;S4S%%%*&%u^Y-J1$(knCT!ioBc??hvAb?Q?+?`{!cv6BWdhax@Bvu<2_X|=Bv$_ z6Rt}vtf&eIn7}pRn&R#3fDLXTAtiPb_O(9?b$TEy@Lkb*vSi2of9i~X{{H@Mc_EwA zVEw@Z@e20}zrVZN=^(D^9Q#}RM4rnhJB=i%#u<_)O#b}(`r26Guh`veg$<#Bfrio^ z`<b=Yu^wYH)(MM@jFdb-*Zw@iqWb^;Vz(z9<q}R!O$|`0VZYWX#_i<rr#)i*+gn?+ zbuVOFy@*S0n6)qe^fcX_iHV8(0<K?i-mA*+NLo_L%<-qVoL$8SW{>>`r*67#ZDn<; z=HHi--|p|PS6FV`xaZlUH!+NpSgKyzcl`hS-2ba~__~^7PfZ1;DJwpzNZ_2r+TAVp z_s7S_e&ONQ4_;jzW_xgQU0q`h-;v{mJ2gI^pKrhagXQDv>*MXOuZ`X={9=~UjP4DR zCDO|luGzAMVZ{VaPd_QO?>|33?{~1Yu3>xHe1-92Rz{Y)|6lC|pRS%L>batIgMo>M Y;kVF_qp~>x7ePgqr>mdKI;Vst09#1f2mk;8 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/mini_map.png b/indra/newview/skins/default/textures/toolbar_icons/mini_map.png new file mode 100644 index 0000000000000000000000000000000000000000..b66af223bb27c0b1f6a6de76d4009a740436b8f7 GIT binary patch literal 1645 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsViy&C<-t+|k_C(!|lw(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OVZUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnv1?G!Lpb z1-DzwaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i-WE7Pl!1Zip{I*uNX4x+ zA@LrU14Zs#+2RxB)~T>LNojJg*y@eb4@iVKH(Pe6?MV5&a#6cX^-Dz!jzfpy)OfQb zSnOEsP9)STO>H~0<j9t1bM{#%`CK$hd-d;oZML*?P05G9?{+?~dA|Gkyy_VSv(Iwz zJqkZ~K5pZtO`9G^NHy>T%q%}H$yAqWG}A*fUPI)cxR#*CaivlVncls7_j=vv4ACkz zDo=7fn%~98%UjE=&tuJTuq3eOs({EuucfbM&YY?J;s2U->*gJ;@>v@uuXOSK_vIU0 z9)H}SG}o_ts@K!w2?j5gOK6|!Oi-S1GDT}b96t}w2@$T=y4u>mvVY<dEc*Swn3|iv zKB*Y4H$6TjZ{37HQ~fGz=FR)~@#FK|yLVp?xT+j;lKa1Lf=d7LFRV<B>eklQQAM$O z(<kn1a$1~g79DOh^NpEQ?^}z^vXYW5fy*!7jgO9=eZbU=^Omfv?Dso)-y>zd&5e0x zVE#SgPm9w+bB&EPiHQe$w~8*2RyeAV_4@t${k|9cRD=SL9mqUie0pZIh|}eJi*_8o zm|=3nT3=V!*Hvj^V)Ma*(yFRk&KKI=+a^Cb5SPSP-0gJw^y$8xJ1q+>WacSw+TQr` zvu68-^vRo9a(_uEr<ay~<u0BPonuxt;RyGiqsDTMpHDgb*}P-NjiB&wag8&cz!2d7 zC2{(Ev}*AT?Gyf5>c-s<%5rnxUR<_p*|b%wRtfHnyWc9g=t8Ljd-bNxn>R~u<e#A! z>FdjT{?4%l%evQZ+q(7ZjTEC;H|O7b;@11FzB=#VNxL`uKS{CVoVywl9eq2q$bgIg zY+AAQx-89a94&2Ar%nx*>UC?nK5NVEw_y`KN*MonvnoEA;-WN>pO5cb<LAhwL7fvn z3)Ka#6evv3$$7KxYL+eg?X4R(Ch7~GR21uu+-RjM)_v$@$*e?auF0`lE;cjf&wqcg z_k8iZZ(JLTjvSehC%lvOf1OhcTgAqH4@UFva!$Mt9sh3pE1bX(ezNJW_!9FNPzB)W L>gTe~DWM4f(HVN$ literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/move.png b/indra/newview/skins/default/textures/toolbar_icons/move.png new file mode 100644 index 0000000000000000000000000000000000000000..585411078233ed9a823ef9e5cee535e65a8e9bea GIT binary patch literal 1322 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-(Ztxv(8$8o(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O_pUQklVEdbi=l3J8mmYU*Ll%J~r_Oewb7Pq*$S(-VS zJA%w}#O@Y|-V`iuf$DX{saGH97=2L0B1JSz2$*_6On9;da^ML+H4m8Di-5_R(a38q z0|VncPZ!6Kid#v4{{OdUHf7*8YM(e!aJp5U!avR<_6bZc_!5*38JS8;&t`IUJ*u;! z@do3G6p3SOVe8{!xu)#?_xO0f_us#Nuig04`1O%t2Xn_$|2Y<h!YKkG){l)kSi6-S z*j!GZKHdG}=g&^Y!@l3Ht`2{{bH|Q#pFe$ir+O<pFE4M}`}_OtyPt4v*gk3U<kO9p z9=TNK-rZIDR^hCE+@6S@oEx8?pYLyPZQaT|RfJ)q<}OExjcGYKYd$<bKY#x1?fLcm z!oPoie=p3*$=NtnJDiQdbm{(@pO;u;<&}#RnlA}Xi2wcOrm>uwnws^5v<W}fMsH`j zdgaQFMju;+X^f9@9crc}d@(mMxpH6+3zvRv?cao&#BS|hKi}WoT`rJvVt@VrbB!-1 ztNS;_BsfoUT)1%IM}@OM!F>!%rZzm>%zfnk#^mEdK|GJxZ}MIG@%Q(4wiRrSGsHXl z>P)V495UHk`@2lnW6!EpS~E48*TwJOCw9}+W0sKPqvd{cqx_~gI`DY4Jf9HD%)FrC v|JT>o-D21hmnhprdUCFMCb#Vqhr$7dnv`$<T9jE@K&6+btDnm{r-UW|`v>H3 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png new file mode 100644 index 0000000000000000000000000000000000000000..5bdcb22aa5e7698eada073b07bf7f15ab5452b9b GIT binary patch literal 1280 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi%(Am|=(b(D5(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19ysMiS?F%||+t~m9Al0t3)&}Ns^qRg_?6t|-MTm`U~tuk@D z#Sy1@P`xQw+yeE76HdMQK*#8VA{Hs4VM4&v17gCHEsz6G_^Elo)LsNk)<?vbxiBy= z0z<$tq~cc6pa1{unN1mlnWr*b<w;_w>~(oB$y~@K(7o`5dO`sIt^?=hT374E?Ws^! zQ(HDCqPeQ!(ffrtiV9^cNfYhs|Cux&>6f>!a|{Rwm^Q&N!8w5~G&Gd;%v|g54k;-q zasfS$KR-YJy#CLRkIPoC)|Q^_XluY@%#tP$kgV5H``|#Mv4h_2zrVjbvhBOSr}DEF zPxA!R#nLQGTJP<tEEavz)z-%L^7M55+4cYb{k^(2di%M<UxY>f_Vo0;pJ!89G=1*e zxi`<8>G^)Jnf?9#+TY)rfuQ$F$&qjG?pn(UILF2P`@Yz{-{RlDzo$<eIpPx46cP}? z!II><;F*0?RMh&$#AS!ho;`c+(4kM9hZPolW=)j1yCC^^U#q5;7T2FYKa14^{;?Yy z7c+>9i)$O?^a=Ug%xIM5KJvODA~Z76l0m}ldt;j&`zPHFubUp6LVW9DcW;wX`S<np w_0%OPf;ny189wqUTyrq%D7-M$oq>^!K`=Eu=Q__FZcv%z>FVdQ&MBb@0BGmN?f?J) literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/people.png b/indra/newview/skins/default/textures/toolbar_icons/people.png new file mode 100644 index 0000000000000000000000000000000000000000..7228ae8e2f17985e31bc955d3725f168f103067e GIT binary patch literal 1313 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-(Ztxv(8$@<(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OecUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnrq%G!Lpb z1-DzAaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i&JV8UVPIgK>gnPbQgJKk z&;S4S%%%*=oLQm^ey|J7cbLXt&E_I-$U$M^v}xNCuC5AYPdh(vFY}4-2LhaX9D&KN z_5Z{J-`?Kte{9OZ!PBsVsf#z^k+@!r#UFXzhCQ8E6%+(synA==gDlst-@n6|k6Jhs z^~>Au>&v@vZmzZR1}PC~Y3ar_0x2^#Z{Doy@$Tj2<>423tA2i3Djn8*ZjR+<hS-nO zbfc{tisbF<?);P&=1`D6(xSgFH8s^$LQ+yRY+cMw!N@;1H>b~Tc*N$ghEcd#T17+S z2kTu0Tid<b4!1=br2eFxnQ`&s_xJam`{itJ?aH~i>HmQx7Xre=!&#?HZcta#;5+cB zX2zZW%I<x0rca*ynqjH(lY*X(ju&lD`4}@w%xivpcxd8t@o+o;_J$)3J04tLAK(7} zF~j?Nd#m}4I*y(^sagH{+FDZ?hYOc4Zx+<pA+=(nZ%oV`wiD~>|Nr~TE-ybnETQDI z!)6XH2DVOy8H_!*p1)Wr_JlWOWAygCyX}>N><I_dJ9YPbdps%mkAID2)Al72HEfJ5 Z5)1+=^;Ht81q(rimZz(q%Q~loCIE;T(=`A9 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/places.png b/indra/newview/skins/default/textures/toolbar_icons/places.png new file mode 100644 index 0000000000000000000000000000000000000000..97d9fa066c430580aa5b92a9a45c2d75e2668752 GIT binary patch literal 1391 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVix%+bWs*vZn>(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O?oUQklVEdbi=l3J8mmYU*Ll%J~r_Oewb7PlBXnixA7 z8XMs>52`l>w_7Z5>eUB2MjsThND&Pa0;V1i6P|2=9C*S{%>$<PB4D!KyT|l40|Vn@ zPZ!6Kid#v4{{OdUHf0btJJ`xCmNLht^3#QWd3(86uU>q3c!_69^XAA4s^{n1+pC-C z=t!J+^Zwl{E2brX8>N;kxOCpZOD}$B5$oZQ3D*;T{QdoXa@?MZk1wvQ4Cb0`p8sw~ z`TKjZ3s&!IH0ZER{`KXm)va5+4sUpa_?JAan#gPP<Lm3|?LU50tbcxf{`x=t%yTU2 z{+L`bh>c<My}dR2`m*r#aZCTGGo+oJwN)&`Lv54eiN?3P5)L+HD=8`cY)R5kP&mNm z(aB_Jye&d_Z}szY)oyNXzD{hM+}zzog@qd*b^Uwq;Ji=ic9Zd014BcmkJ<{K_05{& zcI?=-@87SluWg;!_SXIVb#=OaJm2H4f3M!(-*3JqVq=ow!UOmA)&5qgxv0-_#9YmP zUQYGfTU!_J;Hmui>8aZSMj3~kuG0zvWvq{k9l|3UV%U5ZO#ct`yR61HUJv=oA0HAO zLsFK!{#E)qjFI=ElUawL_cBwqN3I8s>@5EK>+AEVS+i$0Zd{U=lcbcBoV@tK%a<#8 zr)WQZ{5YEJRQB}5ovdeF4bJc%;dIy|elyy-{GCm~lM{lTGpuUj4yP%|SXf(bWi|~@ zFzyfxuVg7HW4>_n>xm@$#sf!g>|pj>!T8KHhD|W|mZ4HH0}~Geg9z8;qS$50pd!%I L)z4*}Q$iB}&in<m literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/preferences.png b/indra/newview/skins/default/textures/toolbar_icons/preferences.png new file mode 100644 index 0000000000000000000000000000000000000000..df80d926b583a0fe3b25041f0ea024dc8ace6bb6 GIT binary patch literal 1427 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi-(Ztxv(AdD$(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O<nUQklVEdbi=l3J8mmYU*Ll%J~r_OewbPPZ7j;xrGc zHwC9#jNEYQ)dxC89~7}j5e*XprXCOzo@{{}c*0N31E%&OV6u+Lv3|qAz{Kw9;uunK zE9uYw|MtwG44iD7OodDW#Y}}f0^J9`G@orS{E(<1psTC<bw};*Z_KKyOV6ziUw?0& zL1L43Kn%ySwoZxVE-o%hxHveLtXi?+#QnY1+kL#fy;(huS5;T1FRJJj`1kYk^FW2a z|9^jfzrHc#`uh0&_nLn={L*n0H#9P0W8Ns+AuA`hkJ%;v{=UB|0Xe_d#qK`maCCY? zsi1%g^F~d9&-3kSfBo52`g&W#p@(N@o0mK2Rs8<;_V?A*;qn##|NUiO!Cjun`vz!m z{Cum@S7O1zm;dEEFqk}8yLa#3CCcu7F+YBMe0=!7#{-~4I32vWk1Aw@c+It~F8f|D z^We$J$+sKzEVh-ukMmdf&LiNhY~93~(lvj6JfF4oZWU?i**5D89zS{%)Ysj8o4?1F zSzTRScn#;L`}^ysPs{~*ieJH0xa0Q1oRkf$*-_0#74LvjT+2RPSsA=Jk!wMY!H&w$ z&pa30&AGvo)a15R-r&QH#C3bh-_K(TI3w7x*D+^?g~45pQzuTOJUWvN^y;nlH)RXj z?k~u=w>kZMrhv5XJ0rXGmW&%ec8lxxJ?z?gykEX~Pae;aR~CEOSbjJBcr(*Decpqv zt;_xA*Rif-d^8&<e)zx*=1O2ZuCDp}>no>0e=XZ4(MAjQj{b+I`+G8;3QBAEEPRut jaE<9vMv@mt0|PU|3y$)Q8WZHFfQm^^S3j3^P6<r_-XIgh literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/profile.png b/indra/newview/skins/default/textures/toolbar_icons/profile.png new file mode 100644 index 0000000000000000000000000000000000000000..32fe2bf8ace6f41fef05446d9ea0a14aa4afc05b GIT binary patch literal 1180 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVix%+bWs*vZA!(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1P3sUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnrq$G!Lpb z1-DzAaq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@i{_5=dlYxOzz|+Msq~cc6 zpa1{unN1mlnWr*b<w;@`T&JgJs2{f{K=HbOVB*8=JO>O`{qSeBDE{@uQa1N3+XTn^ z|AIM^7A;n9IMgA0b7uOvIhNJ$-b5NI1PgWa3p_SuWMnj(a^T<3&(FV4dh|%w?bxyP zjd#QyVjRNO)c*bT_4e-a_YyUG_g-D-bpNCg#|sz5?Ck7|=jYp3JG9!IFzV>+?A*9w z$BmZ$`SqG18q-pm_tpITB<bNB9vb@f=9bFO(kluy1oYe5#0%LXqawbr{`mQnY3BNg zPu?>W$_Qi&Ox@(zFm>wGkMH(YZ{1~OCDC={=+T?s-`w@Spb&7TV4ijTzP>v;hfbg7 rKBu%)MD2~`f<+yL7pA&1FtRZ$nI;^`QGe7LR9<+x`njxgN@xNA0G^t> literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/search.png b/indra/newview/skins/default/textures/toolbar_icons/search.png new file mode 100644 index 0000000000000000000000000000000000000000..bcb11e950d100f3cb33229367754ed0a5f7e9ada GIT binary patch literal 1406 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVix%+bWs*xAt4(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1OnfUQklVEdbi=l3J8mmYU*Ll%J~r_OewbPPaI@;WQ7b zHwCv_3~=hz2RcR{6tPGV4HE*U9uO0rY=Inj!cWZuruHIWvex=Ir<#F*@sp>EV@SoV zq$?M%r8zKhIppviDRMZ&d*pq?4?Y2T)<^w35eJ@XhaWKEo^qb$$UKJ}DIp;xc`>=X zg$oua96x#T<kyFX+sn=K@9Zdja$@4EN0TPi^6X$Z;p&i+nUQdz;?a+fm;V<w*w_F2 zQ&sT4&St{N2Hs{KL8eEqN?%`l>vE}_x#M+%#oO1{*I%yx|L-re%8&2w@85Uu;-2oP z$NBN&WCt@R-kJPIa!zzTJ3Bl5_rJftw=0~C-(NTPaB9GneYL;&oOvtxj?B3sVrFi7 z)}?5p-Yy%B2{ThuQ;sZj+$P<zKbiaVRPFG4KRH<f)*0@yIk8~-86BN73g`CM|F26n zb_sWP7nvf{@Tq>GQ_c;ZUEdxZ?KW57yYOF6L41+qA+9BRa&vNA98WT8)d<ga<Ucph zb~p2phYuc1u&(;@B56UIslqg-q}l}qR`T-my;4J`nuqXfG|IV~cL>hfWNDUvvq)qH zN3X*ipzrSA*jD;_XZrd1^%t*Q65{3H*&-|?B-HlmBjcmB5yC1OSKi;*sr=>R<Kx}` zIUBsE>zzFy`u7CWf-k{bJ{A2Jzs#@v^W!5=K*D1qp1TSuI_yV|Ih^4Uwk~}Y!l-xn zgJg@SvUJ(kS64Grq+9YN1Vkq03UJ)tS8FYrA)!&fkLjc2!DSQqdls(zW8u)i$guBT VZK+tNjufaw^mO%eS?83{1OTg_2l)U1 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/snapshot.png b/indra/newview/skins/default/textures/toolbar_icons/snapshot.png new file mode 100644 index 0000000000000000000000000000000000000000..d26da9b1d2c78f56bd473c3fad6a891734cb0036 GIT binary patch literal 1142 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi%(Am|=(b&Y*(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1P0rUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfWG!Lpb z1-Dy_aq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@ie(k<tKQK$Y@^o<wskoK& z=l_3uW>W@X=BW%<d6F((yTo*HjYCYY+I5FXjt+B99Y3yK|K|v&Nb>?Q0d6@1o9b_G zPS$fBJlxJNZ}4w<(3Xt~l}iPWiHVD+-``$e&pKtdT*vH&A4~$#OoieCw-aWxoIhz_ z_vZ#vk%3g&zn`C<OO|ZqVcE03>8L{6`}_N6FVa3TyRYHi-zHxhL&b-do}5M+8XBUr zcPyF|q;u}TF}6v;K|+n|s(4b~F+Wmw(BVDuZMIpypHsNE!7q8+sxJlC&dmJ1E$8N^ z8<#H!TdA5}jf;$oWQ|^v`_td@#yN|cZoviyW`=BY*QpHKHdTR20#8>zmvv4FO#mbB Bf?ogt literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/speak.png b/indra/newview/skins/default/textures/toolbar_icons/speak.png new file mode 100644 index 0000000000000000000000000000000000000000..10cd354c5c571d590bde78888ab06a7d753072a5 GIT binary patch literal 1253 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi%(Am|=(b&S((!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19yq1O_pUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnv1>G!Lpb z1-Dzwaq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@iUZU;smw|yX($mE;q~cc6 zpa1{unN1nE^*G%W7=qLs)^I*z`e>?P_gQ}WS%t!!8T04g&$zxWHhO>k|9>x!_shpS z<k;ES700|Pl-g4K{M^$27Y{r<+<tvh&V}9O@8>O${_^kd@AMs4j306-hlPdl^)RF+ zCLUfoud~ssp^S|&`L006M^$by1v90L3)j|0XYbjwXUWVNGyWxNuyyU+vExMU{e64; z60Cmx{r&y>y?gh*<lo;X>)3C);Ks+9#_7-g{`~x0{a^&MmQ`|QrexWd7Z)=fSnVe) zshew4S+uIL(UIZ8reKM<W0M}~HYTzE{`D)(w&ur&n8?VP%on_UCae3~sVFHe3J(dH z!o#Cny<k^x3lCEx%Yq+Yo}ZsDe{*m3ckT%dvuDrVv1G{--U&0Aj-2i|m+i3T-|Oq^ z<CZ97F($cA3O2j&^Np00RR4q@{S7nt)13}IUbN`{j0GaotK70ga~K%e82I-uGfqhP RQU@w{JYD@<);T3K0RYtX!<GO5 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/view.png b/indra/newview/skins/default/textures/toolbar_icons/view.png new file mode 100644 index 0000000000000000000000000000000000000000..5425af87e0e2624a0d4e35c16156a53318ae8364 GIT binary patch literal 1618 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVgY7`PS&&W5g*CQgQit_Dt)7S0w1E{<jvt}d<? z#)dGxF8Rr&xv6<2Fuf@Vy+%0of|5dR0nlcb)S}F?)D*X({9FaFm#s2!y2Z&2r+HAl zDY)HYfK#tN&@uX;h((HMm=G}afSB-P3*^8Perg^twHE=C_0_OF;tUK-$2?seLn>|^ z35oXzE)=<^!xrh^s_;d@=|c1G$6^v~8f)ZuN`5YSq#$bEw6I_4g+t4sl>uoH0z2i@ z%v{)XPlO6sNo|dKdhD3ldye9rYjfZIe|D$f-oE<<1y`$ttv($5d+z<5;`5gK-^ZEx zUS2bKgV8n4o0)RctFIhqRB7PZ!SSJi_W-*N(`ScA5voQ}oOfo;QkxjC!_dqu?ep)y z*}He|7Wq@MFyKbd(WJ6ox8yxx@$cR5$fm^=+V&{T-L!9?i4My@ztvamrj(UNK3u-O z`{?UcA3rYFu;6A{wtV^Zhw)4n?OX>h8W`EgI0gvq5wFS1D!R03^XAQNR;QkSzS7;w z+TC!zUbfdw|KQeFC04TGE{nEz*oNw~v>O-gtPxIbdANf|FFG>vXXiPdpp_+4OH?v* z|BCe=pPpkjTYfRWT*<;O0ayB?8Xq`r6iAzQ<KDf#hK|l;r=`E9dM&+oCnwKLve)gB zK<?J4m(fC<mNI<%>rIS>6W_RP-LvP-q0>urwnoi8s3bp~&sNUAaZA40?964gTO+>7 z@*U^Bf9;xG@yU}ZpOyx#?Ad7Gv~BO++9f3uPCw;(G09!t@J)XGg8lm&=NNNu-MaOq z(M+FBJTCQH*X0RRtx_vGk+yl?s#UAfJ$@XT!YP*Lzx48Ak6*E$6w|XZGCU&U;_9Y{ ztaS;Wcx{@Pb=q2n{l0-y_^p45aJ8P86x8W*=*rEDAGsb^9u$4Dtl_uS+&tmASu?FB zu`)5%2PZ2FMl=72F_0+H66rFv>z{u3ZEg9^7%>&yM|;GKHoX4&t9S3-y`e{n_&9}j zu-|p5uC5Z|xF*5V=Go(EHm}*lZnn=d^&PJ&-x#-^{%|m#;oQ_uH{JKuY5rJq`|UTI z@YUy?O2qfX<*VxG32-poy?eJ(ZhrjPw9QjH=Kg)Yy{zH$0frBZH>`G;ESlSYKqKJe k^f}40fB*l#D9^~oz<V#d;)5t(6R4E;boFyt=akR{0R7)@a{vGU literal 0 HcmV?d00001 -- GitLab From feabe29f356ca2bae5275a5cb0d772614166d2c5 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Fri, 7 Oct 2011 18:30:57 -0700 Subject: [PATCH 130/213] EXP-1300 : Completed the drawing of drop zones on toolbars when dragging tools --- indra/llui/lltoolbar.cpp | 4 ++ indra/llui/lltoolbar.h | 6 +- indra/newview/llfloatertoybox.cpp | 6 +- indra/newview/lltoolbarview.cpp | 69 ++++++++++--------- indra/newview/lltoolbarview.h | 7 +- indra/newview/skins/default/colors.xml | 4 ++ .../default/xui/en/panel_toolbar_view.xml | 12 ++-- .../skins/default/xui/en/widgets/toolbar.xml | 1 + 8 files changed, 63 insertions(+), 46 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 1f5fa5f361e..5f7afb07fc0 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -86,6 +86,7 @@ LLToolBar::Params::Params() pad_right("pad_right"), pad_bottom("pad_bottom"), pad_between("pad_between"), + min_girth("min_girth"), button_panel("button_panel") {} @@ -103,6 +104,7 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) mPadTop(p.pad_top), mPadBottom(p.pad_bottom), mPadBetween(p.pad_between), + mMinGirth(p.min_girth), mPopupMenuHandle(), mStartDragItemCallback(NULL), mHandleDragItemCallback(NULL), @@ -517,6 +519,8 @@ void LLToolBar::updateLayoutAsNeeded() S32 total_girth = cur_row // current row position... + max_row_girth // ...incremented by size of final row... + girth_pad_end; // ...plus padding reserved on end + total_girth = llmax(total_girth,mMinGirth); + max_row_length = llmax(max_row_length, row_running_length - mPadBetween + row_pad_end); resizeButtonsInRow(buttons_in_row, max_row_girth); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 4fac0811304..be0589f3c67 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -141,7 +141,8 @@ class LLToolBar pad_top, pad_right, pad_bottom, - pad_between; + pad_between, + min_girth; // get rid of this Multiple<LLCommandId::Params> commands; @@ -219,7 +220,8 @@ class LLToolBar mPadRight, mPadTop, mPadBottom, - mPadBetween; + mPadBetween, + mMinGirth; LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT]; diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index 58bb417b71f..609041803a4 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -62,9 +62,9 @@ BOOL LLFloaterToybox::postBuild() mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); mToolBar = getChild<LLToolBar>("toybox_toolbar"); - mToolBar->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); - mToolBar->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolBar->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); + mToolBar->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3)); + mToolBar->setHandleDragCallback(boost::bind(LLToolBarView::handleDragTool,_1,_2,_3,_4)); + mToolBar->setHandleDropCallback(boost::bind(LLToolBarView::handleDropTool,_1,_2,_3,_4)); LLCommandManager& cmdMgr = LLCommandManager::instance(); diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 95ed603bbfb..8c7dc53af08 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -43,6 +43,11 @@ LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); bool LLToolBarView::sDragStarted = false; +bool isToolDragged() +{ + return (LLToolDragAndDrop::getInstance()->getSource() == LLToolDragAndDrop::SOURCE_VIEWER); +} + LLToolBarView::Toolbar::Toolbar() : button_display_mode("button_display_mode"), commands("command") @@ -80,17 +85,17 @@ BOOL LLToolBarView::postBuild() mToolbarRight = getChild<LLToolBar>("toolbar_right"); mToolbarBottom = getChild<LLToolBar>("toolbar_bottom"); - mToolbarLeft->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); - mToolbarLeft->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarLeft->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); + mToolbarLeft->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3)); + mToolbarLeft->setHandleDragCallback(boost::bind(LLToolBarView::handleDragTool,_1,_2,_3,_4)); + mToolbarLeft->setHandleDropCallback(boost::bind(LLToolBarView::handleDropTool,_1,_2,_3,_4)); - mToolbarRight->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); - mToolbarRight->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarRight->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); + mToolbarRight->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3)); + mToolbarRight->setHandleDragCallback(boost::bind(LLToolBarView::handleDragTool,_1,_2,_3,_4)); + mToolbarRight->setHandleDropCallback(boost::bind(LLToolBarView::handleDropTool,_1,_2,_3,_4)); - mToolbarBottom->setStartDragCallback(boost::bind(LLToolBarView::startDragItem,_1,_2,_3)); - mToolbarBottom->setHandleDragCallback(boost::bind(LLToolBarView::handleDragItem,_1,_2,_3,_4)); - mToolbarBottom->setHandleDropCallback(boost::bind(LLToolBarView::handleDrop,_1,_2,_3,_4)); + mToolbarBottom->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3)); + mToolbarBottom->setHandleDragCallback(boost::bind(LLToolBarView::handleDragTool,_1,_2,_3,_4)); + mToolbarBottom->setHandleDropCallback(boost::bind(LLToolBarView::handleDropTool,_1,_2,_3,_4)); return TRUE; } @@ -306,37 +311,34 @@ void LLToolBarView::draw() mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this); } - // Debug draw - LLColor4 back_color = LLColor4::blue; - LLColor4 back_color_vert = LLColor4::red; - LLColor4 back_color_hori = LLColor4::yellow; - back_color[VALPHA] = 0.5f; - back_color_hori[VALPHA] = 0.5f; - back_color_vert[VALPHA] = 0.5f; - //gl_rect_2d(getLocalRect(), back_color, TRUE); - //gl_rect_2d(bottom_rect, back_color_hori, TRUE); - //gl_rect_2d(left_rect, back_color_vert, TRUE); - //gl_rect_2d(right_rect, back_color_vert, TRUE); + // Draw drop zones if drop of a tool is active + if (isToolDragged()) + { + LLColor4 drop_color = LLUIColorTable::instance().getColor( "ToolbarDropZoneColor" ); + gl_rect_2d(bottom_rect, drop_color, TRUE); + gl_rect_2d(left_rect, drop_color, TRUE); + gl_rect_2d(right_rect, drop_color, TRUE); + } LLUICtrl::draw(); } // ---------------------------------------- -// Drag and Drop hacks (under construction) +// Drag and Drop Handling // ---------------------------------------- -void LLToolBarView::startDragItem( S32 x, S32 y, const LLUUID& uuid) +void LLToolBarView::startDragTool( S32 x, S32 y, const LLUUID& uuid) { - //llinfos << "Merov debug: startDragItem() : x = " << x << ", y = " << y << llendl; + //llinfos << "Merov debug: startDragTool() : x = " << x << ", y = " << y << llendl; LLToolDragAndDrop::getInstance()->setDragStart( x, y ); sDragStarted = false; } -BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type) +BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type) { -// llinfos << "Merov debug: handleDragItem() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; +// llinfos << "Merov debug: handleDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; if (LLToolDragAndDrop::getInstance()->isOverThreshold( x, y )) { if (!sDragStarted) @@ -348,7 +350,7 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp gClipboard.setSourceObject(uuid,LLAssetType::AT_WIDGET); LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; LLUUID srcID; - //llinfos << "Merov debug: handleDragItem() : beginMultiDrag()" << llendl; + //llinfos << "Merov debug: handleDragTool() : beginMultiDrag()" << llendl; LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); sDragStarted = true; return TRUE; @@ -362,15 +364,15 @@ BOOL LLToolBarView::handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp return FALSE; } -BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) +BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) { LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; - //llinfos << "Merov debug : handleDrop. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; - + //llinfos << "Merov debug : handleDropTool. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; + LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - //llinfos << "Merov debug : handleDrop. Drop source is a widget -> drop it in place..." << llendl; + //llinfos << "Merov debug : handleDropTool. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); LLCommandId command_id(inv_item->getUUID()); @@ -399,8 +401,11 @@ BOOL LLToolBarView::handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolb llwarns << "Command couldn't be found in command manager" << llendl; } } - + stopDragTool(); return TRUE; } - +void LLToolBarView::stopDragTool() +{ + sDragStarted = false; +} diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index 414fcd87515..a0c526ac541 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -74,9 +74,10 @@ class LLToolBarView : public LLUICtrl static bool loadDefaultToolbars(); - static void startDragItem( S32 x, S32 y, const LLUUID& uuid); - static BOOL handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type); - static BOOL handleDrop( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar); + static void startDragTool( S32 x, S32 y, const LLUUID& uuid); + static BOOL handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type); + static BOOL handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar); + static void stopDragTool(); protected: friend class LLUICtrlFactory; diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index b5cc949ebfe..8baaa14595f 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -795,6 +795,10 @@ <color name="DirectChatColor" reference="LtOrange" /> + + <color + name="ToolbarDropZoneColor" + value=".48 .69 1 .5" /> <!-- Generic color names (legacy) --> <color diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 44da813f618..72890014817 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -41,10 +41,10 @@ <toolbar follows="left|top|bottom" button_panel.bg_opaque_image="Rounded_Rect_Right" name="toolbar_left" - height="500" + height="483" width="30" left="0" - top="0" + top="10" side="left" button_display_mode="icons_only"> </toolbar> @@ -63,10 +63,10 @@ button_panel.bg_opaque_image="Rounded_Rect_Left" follows="right|top|bottom" name="toolbar_right" - height="500" + height="483" width="30" left="0" - top="0" + top="10" side="right" button_display_mode="icons_only"> </toolbar> @@ -83,8 +83,8 @@ button_panel.bg_opaque_image="Rounded_Rect_Top" name="toolbar_bottom" height="30" - width="1024" - left="0" + width="944" + left="40" top="0" side="bottom" follows="left|right|bottom" diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 613dc667622..d36b0150059 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -4,6 +4,7 @@ pad_top="1" pad_bottom="1" pad_between="1" + min_girth="24" mouse_opaque="false" read_only="false"> <button_panel name="button_panel" -- GitLab From ec5ea33c8113a63e956c195ccf051b2a03979be9 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Sun, 9 Oct 2011 15:52:45 -0700 Subject: [PATCH 131/213] EXP-1300 : drop tool animation. First shot. Works but still a bit hacky and with some bugs (tools can be duplicated at times). --- indra/llui/llcommandmanager.cpp | 2 +- indra/llui/llcommandmanager.h | 11 +++-- indra/llui/lltoolbar.cpp | 83 ++++++++++++++++++++++++++++----- indra/llui/lltoolbar.h | 4 +- indra/newview/lltoolbarview.cpp | 9 ++-- 5 files changed, 89 insertions(+), 20 deletions(-) diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index 1b87f20d12a..d8e035a3203 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -41,7 +41,7 @@ // LLCommandId class // -const LLCommandId LLCommandId::null("null command"); +const LLCommandId LLCommandId::null = LLCommandId(); // // LLCommand class diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 8f9f956ec7e..fdad7cd1b5a 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -50,6 +50,12 @@ class LLCommandId {} }; + LLCommandId() + : mName("null command") + { + mUUID = LLUUID::generateNewID(mName); + } + LLCommandId(const std::string& name) : mName(name) { @@ -62,10 +68,9 @@ class LLCommandId mUUID = LLUUID::generateNewID(p.name); } - LLCommandId(const LLUUID& uuid) - : mName(""), + LLCommandId(const std::string& name, const LLUUID& uuid) + : mName(name), mUUID(uuid) - { } diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 5f7afb07fc0..6332b2674ad 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -33,6 +33,7 @@ #include "llcommandmanager.h" #include "llmenugl.h" #include "lltrans.h" +#include "llinventory.h" // uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit // thanks, MSVC! @@ -113,6 +114,8 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; + mDraggedCommand = LLCommandId::null; + mRank = 0; } LLToolBar::~LLToolBar() @@ -203,17 +206,24 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) { LLCommand * command = LLCommandManager::instance().getCommand(commandId); if (!command) return false; - + llinfos << "Merov debug : addCommand, " << commandId.name() << ", " << commandId.uuid() << llendl; + // Create the button and do the things that don't need ordering LLToolBarButton* button = createButton(commandId); mButtonPanel->addChild(button); - mButtonMap.insert(std::make_pair(commandId, button)); + LLCommandId temp_command = commandId; + if (commandId.name() == "Drag Tool") + { + temp_command = LLCommandId("Drag Tool"); + } + mButtonMap.insert(std::make_pair(temp_command.uuid(), button)); + // Insert the command and button in the right place in their respective lists if ((rank >= mButtonCommands.size()) || (rank < 0)) { // In that case, back load - mButtonCommands.push_back(commandId); + mButtonCommands.push_back(temp_command); mButtons.push_back(button); } else @@ -228,7 +238,7 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) rank--; } // ...then insert - mButtonCommands.insert(it_command,commandId); + mButtonCommands.insert(it_command,temp_command); mButtons.insert(it_button,button); } @@ -241,14 +251,20 @@ bool LLToolBar::removeCommand(const LLCommandId& commandId) { if (!hasCommand(commandId)) return false; + llinfos << "Merov debug : removeCommand, " << commandId.name() << ", " << commandId.uuid() << llendl; // First erase the map record - command_id_map::iterator it = mButtonMap.find(commandId); + LLCommandId temp_command = commandId; + if (commandId.name() == "Drag Tool") + { + temp_command = LLCommandId("Drag Tool"); + } + command_id_map::iterator it = mButtonMap.find(temp_command.uuid()); mButtonMap.erase(it); // Now iterate on the commands and buttons to identify the relevant records std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); command_id_list_t::iterator it_command = mButtonCommands.begin(); - while (*it_command != commandId) + while (*it_command != temp_command) { ++it_button; ++it_command; @@ -276,7 +292,12 @@ bool LLToolBar::hasCommand(const LLCommandId& commandId) const { if (commandId != LLCommandId::null) { - command_id_map::const_iterator it = mButtonMap.find(commandId); + LLCommandId temp_command = commandId; + if (commandId.name() == "Drag Tool") + { + temp_command = LLCommandId("Drag Tool"); + } + command_id_map::const_iterator it = mButtonMap.find(temp_command.uuid()); return (it != mButtonMap.end()); } @@ -289,7 +310,12 @@ bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) if (commandId != LLCommandId::null) { - command_id_map::iterator it = mButtonMap.find(commandId); + LLCommandId temp_command = commandId; + if (commandId.name() == "Drag Tool") + { + temp_command = LLCommandId("Drag Tool"); + } + command_id_map::iterator it = mButtonMap.find(temp_command.uuid()); if (it != mButtonMap.end()) { it->second->setEnabled(enabled); @@ -507,7 +533,7 @@ void LLToolBar::updateLayoutAsNeeded() button_rect.setLeftTopAndSize(cur_row, panel_rect.mTop - cur_start, button_clamped_width, button->getRect().getHeight()); } button->setShape(button_rect); - + buttons_in_row.push_back(button); row_running_length += button_length + mPadBetween; @@ -592,6 +618,12 @@ void LLToolBar::draw() } } } + // HACK!!! + if (!mDragAndDropTarget) + { + removeCommand(mDraggedCommand); + mDraggedCommand = LLCommandId::null; + } updateLayoutAsNeeded(); // rect may have shifted during layout @@ -622,7 +654,12 @@ void LLToolBar::createButtons() LLToolBarButton* button = createButton(command_id); mButtons.push_back(button); mButtonPanel->addChild(button); - mButtonMap.insert(std::make_pair(command_id, button)); + LLCommandId temp_command = command_id; + if (command_id.name() == "Drag Tool") + { + temp_command = LLCommandId("Drag Tool"); + } + mButtonMap.insert(std::make_pair(temp_command.uuid(), button)); } mNeedsLayout = true; } @@ -713,7 +750,31 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, *accept = (handled ? ACCEPT_YES_SINGLE : ACCEPT_NO); // We'll use that flag to change the visual aspect of the toolbar target on draw() - mDragAndDropTarget = handled; + mDragAndDropTarget = false; + + // HACK!!! + if (!isReadOnly() && handled) + { + if (!drop) + { + LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; + LLAssetType::EType type = inv_item->getType(); + if (type == LLAssetType::AT_WIDGET) + { + mRank = getRankFromPosition(x, y); + mDraggedCommand = LLCommandId("Drag Tool",inv_item->getUUID()); + removeCommand(mDraggedCommand); + addCommand(mDraggedCommand,mRank); + mDragAndDropTarget = true; + } + } + else + { + removeCommand(mDraggedCommand); + mDraggedCommand = LLCommandId::null; + } + + } return handled; } diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index be0589f3c67..9e48dee608e 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -184,6 +184,8 @@ class LLToolBar tool_handledrag_callback_t mHandleDragItemCallback; tool_handledrop_callback_t mHandleDropCallback; bool mDragAndDropTarget; + int mRank; + LLCommandId mDraggedCommand; public: // Methods used in loading and saving toolbar settings @@ -205,7 +207,7 @@ class LLToolBar typedef std::list<LLToolBarButton*> toolbar_button_list; toolbar_button_list mButtons; command_id_list_t mButtonCommands; - typedef std::map<LLCommandId, LLToolBarButton*> command_id_map; + typedef std::map<LLUUID, LLToolBarButton*> command_id_map; command_id_map mButtonMap; LLToolBarEnums::ButtonType mButtonType; diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 8c7dc53af08..44b244f1636 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -375,7 +375,7 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t //llinfos << "Merov debug : handleDropTool. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); - LLCommandId command_id(inv_item->getUUID()); + LLCommandId command_id("",inv_item->getUUID()); LLCommand* command = mgr.getCommand(command_id); if (command) { @@ -387,9 +387,10 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t } // Suppress the command from the toolbars (including the one it's dropped in, // this will handle move position). - gToolBarView->mToolbarLeft->removeCommand(command->id()); - gToolBarView->mToolbarRight->removeCommand(command->id()); - gToolBarView->mToolbarBottom->removeCommand(command->id()); + llinfos << "Merov debug : handleDropTool, " << command_id.name() << ", " << command_id.uuid() << llendl; + gToolBarView->mToolbarLeft->removeCommand(command_id); + gToolBarView->mToolbarRight->removeCommand(command_id); + gToolBarView->mToolbarBottom->removeCommand(command_id); // Now insert it in the toolbar at the detected rank if (!toolbar->isReadOnly()) { -- GitLab From 9273459251a6c59f8fabc50d9eef0b78e092e6fd Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Mon, 10 Oct 2011 17:09:46 +0300 Subject: [PATCH 132/213] EXP-1285 FIXED Chiclets moved to the upper right of the viewer window. - Floaters dock to chiclets at the bottom. - Floaters docking region limited to non-toolbar view. - Chiclet bar is positioned between the right toolbar and the minimized floaters stacked at the top left corner by default. --- indra/llui/lldockcontrol.cpp | 2 +- indra/newview/CMakeLists.txt | 2 + indra/newview/llagent.cpp | 6 +- indra/newview/llchiclet.cpp | 12 +- indra/newview/llchicletbar.cpp | 340 ++++++++++++++++++ indra/newview/llchicletbar.h | 99 +++++ indra/newview/llimfloater.cpp | 19 +- indra/newview/llimfloater.h | 2 - indra/newview/llimview.cpp | 8 +- indra/newview/llimview.h | 2 - indra/newview/llscriptfloater.cpp | 31 +- indra/newview/llscriptfloater.h | 2 - indra/newview/llsyswellwindow.cpp | 16 +- indra/newview/llsyswellwindow.h | 5 - indra/newview/llviewerwindow.cpp | 14 +- .../default/xui/en/panel_chiclet_bar.xml | 176 +++++++++ .../default/xui/en/panel_toolbar_view.xml | 24 +- 17 files changed, 680 insertions(+), 80 deletions(-) create mode 100644 indra/newview/llchicletbar.cpp create mode 100644 indra/newview/llchicletbar.h create mode 100644 indra/newview/skins/default/xui/en/panel_chiclet_bar.xml diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp index 6e39fcd714f..6397bbd0dec 100644 --- a/indra/llui/lldockcontrol.cpp +++ b/indra/llui/lldockcontrol.cpp @@ -92,7 +92,7 @@ void LLDockControl::setDock(LLView* dockWidget) void LLDockControl::getAllowedRect(LLRect& rect) { - rect = mDockableFloater->getRootView()->getRect(); + rect = mDockableFloater->getRootView()->getChild<LLView>("non_toolbar_panel")->getRect(); } void LLDockControl::repositionDockable() diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 97ccfeac29e..6cbd76bc71a 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -118,6 +118,7 @@ set(viewer_SOURCE_FILES llchatitemscontainerctrl.cpp llchatmsgbox.cpp llchiclet.cpp + llchicletbar.cpp llclassifiedinfo.cpp llclassifiedstatsresponder.cpp llcofwearables.cpp @@ -684,6 +685,7 @@ set(viewer_HEADER_FILES llchatitemscontainerctrl.h llchatmsgbox.h llchiclet.h + llchicletbar.h llclassifiedinfo.h llclassifiedstatsresponder.h llcofwearables.h diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 31a73c8c317..10aa67c78f2 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -36,10 +36,10 @@ #include "llagentwearables.h" #include "llagentui.h" #include "llanimationstates.h" -#include "llbottomtray.h" #include "llcallingcard.h" #include "llcapabilitylistener.h" #include "llchannelmanager.h" +#include "llchicletbar.h" #include "llconsole.h" #include "llenvmanager.h" #include "llfirstuse.h" @@ -1874,7 +1874,7 @@ void LLAgent::endAnimationUpdateUI() LLPanelTopInfoBar::getInstance()->setVisible(TRUE); } - LLBottomTray::getInstance()->onMouselookModeOut(); + LLChicletBar::getInstance()->setVisible(TRUE); LLPanelStandStopFlying::getInstance()->setVisible(TRUE); @@ -1978,7 +1978,7 @@ void LLAgent::endAnimationUpdateUI() LLPanelTopInfoBar::getInstance()->setVisible(FALSE); - LLBottomTray::getInstance()->onMouselookModeIn(); + LLChicletBar::getInstance()->setVisible(FALSE); LLPanelStandStopFlying::getInstance()->setVisible(FALSE); diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 245157923dd..a0763749032 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -29,7 +29,7 @@ #include "llagent.h" #include "llavataractions.h" -#include "llbottomtray.h" +#include "llchicletbar.h" #include "lleventtimer.h" #include "llgroupactions.h" #include "lliconctrl.h" @@ -214,10 +214,10 @@ void LLSysWellChiclet::updateWidget(bool is_window_empty) { mButton->setEnabled(!is_window_empty); - LLSD params; - params["well_empty"] = is_window_empty; - params["well_name"] = getName(); - notifyParent(params); + if (LLChicletBar::instanceExists()) + { + LLChicletBar::getInstance()->showWellButton(getName(), !is_window_empty); + } } // virtual BOOL LLSysWellChiclet::handleRightMouseDown(S32 x, S32 y, MASK mask) @@ -297,7 +297,7 @@ void LLIMWellChiclet::createMenu() void LLIMWellChiclet::messageCountChanged(const LLSD& session_data) { const LLUUID& session_id = session_data["session_id"]; - const S32 counter = LLBottomTray::getInstance()->getTotalUnreadIMCount(); + const S32 counter = LLChicletBar::getInstance()->getTotalUnreadIMCount(); const bool im_not_visible = !LLFloaterReg::instanceVisible("im_container") && !LLFloaterReg::instanceVisible("impanel", session_id); diff --git a/indra/newview/llchicletbar.cpp b/indra/newview/llchicletbar.cpp new file mode 100644 index 00000000000..a17e1d13f57 --- /dev/null +++ b/indra/newview/llchicletbar.cpp @@ -0,0 +1,340 @@ +/** + * @file llchicletbar.cpp + * @brief LLChicletBar class implementation + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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" // must be first include + +#include "llchicletbar.h" + +// library includes +#include "llfloaterreg.h" +#include "lllayoutstack.h" + +// newview includes +#include "llchiclet.h" +#include "llimfloater.h" // for LLIMFloater +#include "llsyswellwindow.h" + +namespace +{ + const std::string& PANEL_CHICLET_NAME = "chiclet_list_panel"; + + S32 get_panel_min_width(LLLayoutStack* stack, LLView* panel) + { + S32 minimal_width = 0; + llassert(stack); + if ( stack && panel && panel->getVisible() ) + { + stack->getPanelMinSize(panel->getName(), &minimal_width); + } + return minimal_width; + } + + S32 get_panel_max_width(LLLayoutStack* stack, LLPanel* panel) + { + S32 max_width = 0; + llassert(stack); + if ( stack && panel && panel->getVisible() ) + { + stack->getPanelMaxSize(panel->getName(), &max_width); + } + return max_width; + } + + S32 get_curr_width(LLUICtrl* ctrl) + { + S32 cur_width = 0; + if ( ctrl && ctrl->getVisible() ) + { + cur_width = ctrl->getRect().getWidth(); + } + return cur_width; + } +} + +LLChicletBar::LLChicletBar(const LLSD&) +: mChicletPanel(NULL), + mToolbarStack(NULL) +{ + // Firstly add our self to IMSession observers, so we catch session events + // before chiclets do that. + LLIMMgr::getInstance()->addSessionObserver(this); + + buildFromFile("panel_chiclet_bar.xml"); +} + +LLChicletBar::~LLChicletBar() +{ + if (!LLSingleton<LLIMMgr>::destroyed()) + { + LLIMMgr::getInstance()->removeSessionObserver(this); + } +} + +LLIMChiclet* LLChicletBar::createIMChiclet(const LLUUID& session_id) +{ + LLIMChiclet::EType im_chiclet_type = LLIMChiclet::getIMSessionType(session_id); + + switch (im_chiclet_type) + { + case LLIMChiclet::TYPE_IM: + return getChicletPanel()->createChiclet<LLIMP2PChiclet>(session_id); + case LLIMChiclet::TYPE_GROUP: + return getChicletPanel()->createChiclet<LLIMGroupChiclet>(session_id); + case LLIMChiclet::TYPE_AD_HOC: + return getChicletPanel()->createChiclet<LLAdHocChiclet>(session_id); + case LLIMChiclet::TYPE_UNKNOWN: + break; + } + + return NULL; +} + +//virtual +void LLChicletBar::sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) +{ + if (!getChicletPanel()) return; + + LLIMModel::LLIMSession* session = LLIMModel::getInstance()->findIMSession(session_id); + if (!session) return; + + // no need to spawn chiclets for participants in P2P calls called through Avaline + if (session->isP2P() && session->isOtherParticipantAvaline()) return; + + if (getChicletPanel()->findChiclet<LLChiclet>(session_id)) return; + + LLIMChiclet* chiclet = createIMChiclet(session_id); + if(chiclet) + { + chiclet->setIMSessionName(name); + chiclet->setOtherParticipantId(other_participant_id); + + LLIMFloater::onIMChicletCreated(session_id); + + } + else + { + llwarns << "Could not create chiclet" << llendl; + } +} + +//virtual +void LLChicletBar::sessionRemoved(const LLUUID& session_id) +{ + if(getChicletPanel()) + { + // IM floater should be closed when session removed and associated chiclet closed + LLIMFloater* iMfloater = LLFloaterReg::findTypedInstance<LLIMFloater>("impanel", session_id); + if (iMfloater != NULL) + { + iMfloater->closeFloater(); + } + + getChicletPanel()->removeChiclet(session_id); + } +} + +void LLChicletBar::sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id) +{ + //this is only needed in case of outgoing ad-hoc/group chat sessions + LLChicletPanel* chiclet_panel = getChicletPanel(); + if (chiclet_panel) + { + //it should be ad-hoc im chiclet or group im chiclet + LLChiclet* chiclet = chiclet_panel->findChiclet<LLChiclet>(old_session_id); + if (chiclet) chiclet->setSessionId(new_session_id); + } +} + +S32 LLChicletBar::getTotalUnreadIMCount() +{ + return getChicletPanel()->getTotalUnreadIMCount(); +} + +BOOL LLChicletBar::postBuild() +{ + mToolbarStack = getChild<LLLayoutStack>("toolbar_stack"); + mChicletPanel = getChild<LLChicletPanel>("chiclet_list"); + + showWellButton("im_well", !LLIMWellWindow::getInstance()->isWindowEmpty()); + showWellButton("notification_well", !LLNotificationWellWindow::getInstance()->isWindowEmpty()); + + return TRUE; +} + +void LLChicletBar::showWellButton(const std::string& well_name, bool visible) +{ + LLView * panel = findChild<LLView>(well_name + "_panel"); + if (!panel) return; + + panel->setVisible(visible); +} + +void LLChicletBar::log(LLView* panel, const std::string& descr) +{ + if (NULL == panel) return; + LLView* layout = panel->getParent(); + LL_DEBUGS("Chiclet Bar Rects") << descr << ": " + << "panel: " << panel->getName() + << ", rect: " << panel->getRect() + << " layout: " << layout->getName() + << ", rect: " << layout->getRect() + << LL_ENDL; +} + +void LLChicletBar::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + static S32 debug_calling_number = 0; + lldebugs << "**************************************** " << ++debug_calling_number << llendl; + + S32 current_width = getRect().getWidth(); + S32 delta_width = width - current_width; + lldebugs << "Reshaping: " + << ", width: " << width + << ", cur width: " << current_width + << ", delta_width: " << delta_width + << ", called_from_parent: " << called_from_parent + << llendl; + + if (mChicletPanel) log(mChicletPanel, "before"); + + // Difference between chiclet bar width required to fit its children and the actual width. (see EXT-991) + // Positive value means that chiclet bar is not wide enough. + // Negative value means that there is free space. + static S32 extra_shrink_width = 0; + bool should_be_reshaped = true; + + if (mChicletPanel && mToolbarStack) + { + // Firstly, update layout stack to ensure we deal with correct panel sizes. + { + BOOL saved_anim = mToolbarStack->getAnimate(); + // Set chiclet panel to be autoresized by default. + mToolbarStack->updatePanelAutoResize(PANEL_CHICLET_NAME, TRUE); + // Disable animation to prevent layout updating in several frames. + mToolbarStack->setAnimate(FALSE); + // Force the updating of layout to reset panels collapse factor. + mToolbarStack->updateLayout(); + // Restore animate state. + mToolbarStack->setAnimate(saved_anim); + } + + // chiclet bar is narrowed + if (delta_width < 0) + { + if (extra_shrink_width > 0) // not enough space + { + extra_shrink_width += llabs(delta_width); + should_be_reshaped = false; + } + else + { + extra_shrink_width = processWidthDecreased(delta_width); + + // increase new width to extra_shrink_width value to not reshape less than chiclet bar minimum + width += extra_shrink_width; + } + } + // chiclet bar is widened + else + { + if (extra_shrink_width > delta_width) + { + // Still not enough space. + // Only subtract the delta from the required delta and don't reshape. + extra_shrink_width -= delta_width; + should_be_reshaped = false; + } + else if (extra_shrink_width > 0) + { + // If we have some extra shrink width let's reduce delta_width & width + delta_width -= extra_shrink_width; + width -= extra_shrink_width; + extra_shrink_width = 0; + } + } + } + + if (should_be_reshaped) + { + lldebugs << "Reshape all children with width: " << width << llendl; + LLPanel::reshape(width, height, called_from_parent); + } + + if (mChicletPanel) log(mChicletPanel, "after"); +} + +S32 LLChicletBar::processWidthDecreased(S32 delta_width) +{ + bool still_should_be_processed = true; + + const S32 chiclet_panel_shrink_headroom = getChicletPanelShrinkHeadroom(); + + // Decreasing width of chiclet panel. + if (chiclet_panel_shrink_headroom > 0) + { + // we have some space to decrease chiclet panel + S32 shrink_by = llmin(-delta_width, chiclet_panel_shrink_headroom); + + lldebugs << "delta_width: " << delta_width + << ", panel_delta_min: " << chiclet_panel_shrink_headroom + << ", shrink_by: " << shrink_by + << llendl; + + // is chiclet panel wide enough to process resizing? + delta_width += chiclet_panel_shrink_headroom; + + still_should_be_processed = delta_width < 0; + + lldebugs << "Shrinking chiclet panel by " << shrink_by << " px" << llendl; + mChicletPanel->getParent()->reshape(mChicletPanel->getParent()->getRect().getWidth() - shrink_by, mChicletPanel->getParent()->getRect().getHeight()); + log(mChicletPanel, "after processing panel decreasing via chiclet panel"); + + lldebugs << "RS_CHICLET_PANEL" + << ", delta_width: " << delta_width + << llendl; + } + + S32 extra_shrink_width = 0; + + if (still_should_be_processed) + { + extra_shrink_width = -delta_width; + llwarns << "There is no enough width to reshape all children: " + << extra_shrink_width << llendl; + } + + return extra_shrink_width; +} + +S32 LLChicletBar::getChicletPanelShrinkHeadroom() const +{ + static const S32 min_width = mChicletPanel->getMinWidth(); + const S32 cur_width = mChicletPanel->getParent()->getRect().getWidth(); + + S32 shrink_headroom = cur_width - min_width; + llassert(shrink_headroom >= 0); // the panel cannot get narrower than the minimum + return shrink_headroom; +} diff --git a/indra/newview/llchicletbar.h b/indra/newview/llchicletbar.h new file mode 100644 index 00000000000..224dfbb6470 --- /dev/null +++ b/indra/newview/llchicletbar.h @@ -0,0 +1,99 @@ +/** +* @file llchicletbar.h +* @brief LLChicletBar class header file +* +* $LicenseInfo:firstyear=2011&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2011, 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_LLCHICLETBAR_H +#define LL_LLCHICLETBAR_H + +#include "llpanel.h" +#include "llimview.h" + +class LLChicletPanel; +class LLIMChiclet; +class LLLayoutPanel; +class LLLayoutStack; + +class LLChicletBar + : public LLSingleton<LLChicletBar> + , public LLPanel + , public LLIMSessionObserver +{ + LOG_CLASS(LLChicletBar); + friend class LLSingleton<LLChicletBar>; +public: + ~LLChicletBar(); + + BOOL postBuild(); + + LLChicletPanel* getChicletPanel() { return mChicletPanel; } + + // LLIMSessionObserver observe triggers + virtual void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id); + virtual void sessionRemoved(const LLUUID& session_id); + void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id); + + S32 getTotalUnreadIMCount(); + + /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent); + + /** + * Creates IM Chiclet based on session type (IM chat or Group chat) + */ + LLIMChiclet* createIMChiclet(const LLUUID& session_id); + + /** + * Shows/hides panel with specified well button (IM or Notification) + * + * @param well_name - name of the well panel to be processed. + * @param visible - a flag specifying whether a button should be shown or hidden. + */ + void showWellButton(const std::string& well_name, bool visible); + +private: + /** + * Updates child controls size and visibility when it is necessary to reduce total width. + * + * @param delta_width - value by which chiclet bar should be shrunk. It is a negative value. + * @returns positive value which chiclet bar can not process when it reaches its minimal width. + * Zero if there was enough space to process delta_width. + */ + S32 processWidthDecreased(S32 delta_width); + + /** helper function to log debug messages */ + void log(LLView* panel, const std::string& descr); + + /** + * @return difference between current chiclet panel width and the minimum. + */ + S32 getChicletPanelShrinkHeadroom() const; + +protected: + LLChicletBar(const LLSD& key = LLSD()); + + LLChicletPanel* mChicletPanel; + LLLayoutStack* mToolbarStack; +}; + +#endif // LL_LLCHICLETBAR_H diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 14d85246e94..f5cda52d444 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -34,9 +34,9 @@ #include "llappviewer.h" #include "llavatarnamecache.h" #include "llbutton.h" -#include "llbottomtray.h" #include "llchannelmanager.h" #include "llchiclet.h" +#include "llchicletbar.h" #include "llfloaterreg.h" #include "llimfloatercontainer.h" // to replace separate IM Floaters with multifloater container #include "llinventoryfunctions.h" @@ -117,14 +117,14 @@ void LLIMFloater::onFocusLost() { LLIMModel::getInstance()->resetActiveSessionID(); - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(mSessionID, false); + LLChicletBar::getInstance()->getChicletPanel()->setChicletToggleState(mSessionID, false); } void LLIMFloater::onFocusReceived() { LLIMModel::getInstance()->setActiveSessionID(mSessionID); - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(mSessionID, true); + LLChicletBar::getInstance()->getChicletPanel()->setChicletToggleState(mSessionID, true); if (getVisible()) { @@ -444,7 +444,7 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id) if (floater->getDockControl() == NULL) { LLChiclet* chiclet = - LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLChiclet>( + LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLChiclet>( session_id); if (chiclet == NULL) { @@ -452,11 +452,11 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id) } else { - LLBottomTray::getInstance()->getChicletPanel()->scrollToChiclet(chiclet); + LLChicletBar::getInstance()->getChicletPanel()->scrollToChiclet(chiclet); } floater->setDockControl(new LLDockControl(chiclet, floater, floater->getDockTongue(), - LLDockControl::TOP, boost::bind(&LLIMFloater::getAllowedRect, floater, _1))); + LLDockControl::BOTTOM)); } // window is positioned, now we can show it. @@ -466,11 +466,6 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id) return floater; } -void LLIMFloater::getAllowedRect(LLRect& rect) -{ - rect = gViewerWindow->getWorldViewRectScaled(); -} - void LLIMFloater::setDocked(bool docked, bool pop_on_undock) { // update notification channel state @@ -522,7 +517,7 @@ void LLIMFloater::setVisible(BOOL visible) if(!visible) { - LLIMChiclet* chiclet = LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(mSessionID); + LLIMChiclet* chiclet = LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(mSessionID); if(chiclet) { chiclet->setToggleState(false); diff --git a/indra/newview/llimfloater.h b/indra/newview/llimfloater.h index 8a3020ea10a..f7cd35b5eb2 100644 --- a/indra/newview/llimfloater.h +++ b/indra/newview/llimfloater.h @@ -145,8 +145,6 @@ class LLIMFloater : public LLTransientDockableFloater static void* createPanelIMControl(void* userdata); static void* createPanelGroupControl(void* userdata); static void* createPanelAdHocControl(void* userdata); - // gets a rect that bounds possible positions for the LLIMFloater on a screen (EXT-1111) - void getAllowedRect(LLRect& rect); // Add the "User is typing..." indicator. void addTypingIndicator(const LLIMInfo* im_info); diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 46025337361..441ea2923d1 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -1675,11 +1675,6 @@ LLCallDialog::~LLCallDialog() LLUI::removePopup(this); } -void LLCallDialog::getAllowedRect(LLRect& rect) -{ - rect = gViewerWindow->getWorldViewRectScaled(); -} - BOOL LLCallDialog::postBuild() { if (!LLDockableFloater::postBuild()) @@ -1690,8 +1685,7 @@ BOOL LLCallDialog::postBuild() setDockControl(new LLDockControl( anchor_panel, this, - getDockTongue(), LLDockControl::TOP, - boost::bind(&LLCallDialog::getAllowedRect, this, _1))); + getDockTongue(), LLDockControl::TOP)); return TRUE; } diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h index 0ee56c80704..93b604d36aa 100644 --- a/indra/newview/llimview.h +++ b/indra/newview/llimview.h @@ -508,8 +508,6 @@ class LLCallDialog : public LLDockableFloater virtual bool lifetimeHasExpired(); virtual void onLifetimeExpired(); - virtual void getAllowedRect(LLRect& rect); - /** * Sets icon depend on session. * diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp index 170e23e4c5d..85a7e752715 100644 --- a/indra/newview/llscriptfloater.cpp +++ b/indra/newview/llscriptfloater.cpp @@ -28,9 +28,9 @@ #include "llscriptfloater.h" #include "llagentcamera.h" -#include "llbottomtray.h" #include "llchannelmanager.h" #include "llchiclet.h" +#include "llchicletbar.h" #include "llfloaterreg.h" #include "lllslconstants.h" #include "llnotifications.h" @@ -95,7 +95,7 @@ bool LLScriptFloater::toggle(const LLUUID& notification_id) show(notification_id); } - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(notification_id, true); + LLChicletBar::getInstance()->getChicletPanel()->setChicletToggleState(notification_id, true); return true; } @@ -131,11 +131,6 @@ void LLScriptFloater::setNotificationId(const LLUUID& id) mObjectId = notification_id_to_object_id(id); } -void LLScriptFloater::getAllowedRect(LLRect& rect) -{ - rect = gViewerWindow->getWorldViewRectScaled(); -} - void LLScriptFloater::createForm(const LLUUID& notification_id) { // delete old form @@ -211,7 +206,7 @@ void LLScriptFloater::setVisible(BOOL visible) if(!visible) { - LLIMChiclet* chiclet = LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(getNotificationId()); + LLIMChiclet* chiclet = LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(getNotificationId()); if(chiclet) { chiclet->setToggleState(false); @@ -224,7 +219,7 @@ void LLScriptFloater::onMouseDown() if(getNotificationId().notNull()) { // Remove new message icon - LLIMChiclet* chiclet = LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(getNotificationId()); + LLIMChiclet* chiclet = LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(getNotificationId()); if (chiclet == NULL) { llerror("Dock chiclet for LLScriptFloater doesn't exist", 0); @@ -267,7 +262,7 @@ void LLScriptFloater::onFocusLost() { if(getNotificationId().notNull()) { - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(getNotificationId(), false); + LLChicletBar::getInstance()->getChicletPanel()->setChicletToggleState(getNotificationId(), false); } } @@ -276,7 +271,7 @@ void LLScriptFloater::onFocusReceived() // first focus will be received before setObjectId() call - don't toggle chiclet if(getNotificationId().notNull()) { - LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(getNotificationId(), true); + LLChicletBar::getInstance()->getChicletPanel()->setChicletToggleState(getNotificationId(), true); } } @@ -284,7 +279,7 @@ void LLScriptFloater::dockToChiclet(bool dock) { if (getDockControl() == NULL) { - LLChiclet* chiclet = LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLChiclet>(getNotificationId()); + LLChiclet* chiclet = LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLChiclet>(getNotificationId()); if (chiclet == NULL) { llwarns << "Dock chiclet for LLScriptFloater doesn't exist" << llendl; @@ -292,7 +287,7 @@ void LLScriptFloater::dockToChiclet(bool dock) } else { - LLBottomTray::getInstance()->getChicletPanel()->scrollToChiclet(chiclet); + LLChicletBar::getInstance()->getChicletPanel()->scrollToChiclet(chiclet); } // Stop saving position while we dock floater @@ -300,7 +295,7 @@ void LLScriptFloater::dockToChiclet(bool dock) setSavePosition(false); setDockControl(new LLDockControl(chiclet, this, getDockTongue(), - LLDockControl::TOP, boost::bind(&LLScriptFloater::getAllowedRect, this, _1))); + LLDockControl::BOTTOM)); setDocked(dock); @@ -352,7 +347,7 @@ void LLScriptFloaterManager::onAddNotification(const LLUUID& notification_id) script_notification_map_t::const_iterator it = findUsingObjectId(object_id); if(it != mNotifications.end()) { - LLIMChiclet* chiclet = LLBottomTray::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(it->first); + LLIMChiclet* chiclet = LLChicletBar::getInstance()->getChicletPanel()->findChiclet<LLIMChiclet>(it->first); if(chiclet) { // Pass the new_message icon state further. @@ -375,11 +370,11 @@ void LLScriptFloaterManager::onAddNotification(const LLUUID& notification_id) // Create inventory offer chiclet for offer type notifications if( OBJ_GIVE_INVENTORY == obj_type ) { - LLBottomTray::instance().getChicletPanel()->createChiclet<LLInvOfferChiclet>(notification_id); + LLChicletBar::instance().getChicletPanel()->createChiclet<LLInvOfferChiclet>(notification_id); } else { - LLBottomTray::getInstance()->getChicletPanel()->createChiclet<LLScriptChiclet>(notification_id); + LLChicletBar::getInstance()->getChicletPanel()->createChiclet<LLScriptChiclet>(notification_id); } LLIMWellWindow::getInstance()->addObjectRow(notification_id, set_new_message); @@ -413,7 +408,7 @@ void LLScriptFloaterManager::onRemoveNotification(const LLUUID& notification_id) } // remove related chiclet - LLBottomTray::getInstance()->getChicletPanel()->removeChiclet(notification_id); + LLChicletBar::getInstance()->getChicletPanel()->removeChiclet(notification_id); LLIMWellWindow::getInstance()->removeObjectRow(notification_id); diff --git a/indra/newview/llscriptfloater.h b/indra/newview/llscriptfloater.h index 8e959a3d0e2..70451194b38 100644 --- a/indra/newview/llscriptfloater.h +++ b/indra/newview/llscriptfloater.h @@ -185,8 +185,6 @@ class LLScriptFloater : public LLDockableFloater */ void createForm(const LLUUID& object_id); - /*virtual*/ void getAllowedRect(LLRect& rect); - /** * Hide all notification toasts. */ diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index cb49976e5f5..ffe864e2207 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -35,16 +35,17 @@ #include "llfloaterreg.h" #include "llnotifications.h" -#include "llbottomtray.h" #include "llscriptfloater.h" #include "llviewercontrol.h" #include "llviewerwindow.h" #include "llchiclet.h" +#include "llchicletbar.h" #include "lltoastpanel.h" #include "llnotificationmanager.h" #include "llnotificationsutil.h" #include "llspeakers.h" +#include "lltoolbarview.h" //--------------------------------------------------------------------------------- LLSysWellWindow::LLSysWellWindow(const LLSD& key) : LLTransientDockableFloater(NULL, true, key), @@ -139,15 +140,6 @@ void LLSysWellWindow::initChannel() } } -//--------------------------------------------------------------------------------- -void LLSysWellWindow::getAllowedRect(LLRect& rect) -{ - rect = gViewerWindow->getWorldViewRectScaled(); -} - -//--------------------------------------------------------------------------------- - - //--------------------------------------------------------------------------------- void LLSysWellWindow::setVisible(BOOL visible) { @@ -156,8 +148,8 @@ void LLSysWellWindow::setVisible(BOOL visible) if (NULL == getDockControl() && getDockTongue().notNull()) { setDockControl(new LLDockControl( - LLBottomTray::getInstance()->getChild<LLView>(getAnchorViewName()), this, - getDockTongue(), LLDockControl::TOP, boost::bind(&LLSysWellWindow::getAllowedRect, this, _1))); + LLChicletBar::getInstance()->getChild<LLView>(getAnchorViewName()), this, + getDockTongue(), LLDockControl::BOTTOM)); } } diff --git a/indra/newview/llsyswellwindow.h b/indra/newview/llsyswellwindow.h index 9f8ab018108..52e53705059 100644 --- a/indra/newview/llsyswellwindow.h +++ b/indra/newview/llsyswellwindow.h @@ -76,11 +76,6 @@ class LLSysWellWindow : public LLTransientDockableFloater static const S32 MIN_WINDOW_WIDTH = 318; protected: - - // gets a rect that bounds possible positions for the SysWellWindow on a screen (EXT-1111) - void getAllowedRect(LLRect& rect); - - // init Window's channel virtual void initChannel(); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 665b31a427e..85f74c9fdd5 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -84,6 +84,7 @@ // newview includes #include "llagent.h" #include "llbox.h" +#include "llchicletbar.h" #include "llconsole.h" #include "llviewercontrol.h" #include "llcylinder.h" @@ -1848,13 +1849,12 @@ void LLViewerWindow::initWorldUI() //getRootView()->sendChildToFront(gFloaterView); //getRootView()->sendChildToFront(gSnapshotFloaterView); - // new bottom panel - LLPanel* bottom_tray_container = getRootView()->getChild<LLPanel>("bottom_tray_container"); - LLBottomTray* bottom_tray = LLBottomTray::getInstance(); - bottom_tray->setShape(bottom_tray_container->getLocalRect()); - bottom_tray->setFollowsAll(); - bottom_tray_container->addChild(bottom_tray); - bottom_tray_container->setVisible(TRUE); + LLPanel* chiclet_container = getRootView()->getChild<LLPanel>("chiclet_container"); + LLChicletBar* chiclet_bar = LLChicletBar::getInstance(); + chiclet_bar->setShape(chiclet_container->getLocalRect()); + chiclet_bar->setFollowsAll(); + chiclet_container->addChild(chiclet_bar); + chiclet_container->setVisible(TRUE); LLRect morph_view_rect = full_window; morph_view_rect.stretch( -STATUS_BAR_HEIGHT ); diff --git a/indra/newview/skins/default/xui/en/panel_chiclet_bar.xml b/indra/newview/skins/default/xui/en/panel_chiclet_bar.xml new file mode 100644 index 00000000000..355a76e05f9 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_chiclet_bar.xml @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel + background_visible="false" + chrome="true" + follows="left|top|right" + height="30" + layout="topleft" + mouse_opaque="false" + name="chiclet_bar" + width="1310"> + <layout_stack + border_size="0" + clip="false" + follows="all" + height="30" + layout="topleft" + left="0" + mouse_opaque="false" + name="toolbar_stack" + orientation="horizontal" + top="0" + width="1310"> + <layout_panel + follows="left|right" + height="30" + layout="topleft" + min_width="95" + mouse_opaque="false" + name="chiclet_list_panel" + top="0" + user_resize="false" + width="189"> + <chiclet_panel + chiclet_padding="4" + follows="left|right" + height="24" + layout="topleft" + left="1" + min_width="95" + mouse_opaque="false" + name="chiclet_list" + top="7" + width="189"> + <button + auto_resize="true" + follows="right" + height="29" + image_hover_selected="SegmentedBtn_Left_Over" + image_hover_unselected="SegmentedBtn_Left_Over" + image_overlay="Arrow_Small_Left" + image_pressed="SegmentedBtn_Left_Press" + image_pressed_selected="SegmentedBtn_Left_Press" + image_selected="SegmentedBtn_Left_Off" + image_unselected="SegmentedBtn_Left_Off" + layout="topleft" + name="chicklet_left_scroll_button" + tab_stop="false" + top="-28" + visible="false" + width="7" /> + <button + auto_resize="true" + follows="right" + height="29" + image_hover_selected="SegmentedBtn_Right_Over" + image_hover_unselected="SegmentedBtn_Right_Over" + image_overlay="Arrow_Small_Right" + image_pressed="SegmentedBtn_Right_Press" + image_pressed_selected="SegmentedBtn_Right_Press" + image_selected="SegmentedBtn_Right_Off" + image_unselected="SegmentedBtn_Right_Off" + layout="topleft" + name="chicklet_right_scroll_button" + tab_stop="false" + top="-28" + visible="false" + width="7" /> + </chiclet_panel> + </layout_panel> + <layout_panel auto_resize="false" + user_resize="false" + width="4" + min_width="4"/> + <layout_panel + auto_resize="false" + follows="right" + height="28" + layout="topleft" + min_height="28" + min_width="37" + name="im_well_panel" + top="0" + user_resize="false" + width="37"> + <chiclet_im_well + follows="right" + height="28" + layout="topleft" + left="0" + max_displayed_count="99" + name="im_well" + top="0" + width="35"> + <!-- +Emulate 4 states of button by background images, see details in EXT-3147. The same should be for notification_well button +xml attribute Description +image_unselected "Unlit" - there are no new messages +image_selected "Unlit" + "Selected" - there are no new messages and the Well is open +image_pressed "Lit" - there are new messages +image_pressed_selected "Lit" + "Selected" - there are new messages and the Well is open + --> + <button + auto_resize="true" + follows="right" + halign="center" + height="23" + image_overlay="Unread_IM" + image_overlay_alignment="center" + image_pressed="WellButton_Lit" + image_pressed_selected="WellButton_Lit_Selected" + image_selected="PushButton_Press" + label_color="Black" + left="0" + name="Unread IM messages" + tool_tip="Conversations" + width="34"> + <init_callback + function="Button.SetDockableFloaterToggle" + parameter="im_well_window" /> + </button> + </chiclet_im_well> + </layout_panel> + <layout_panel + auto_resize="false" + follows="right" + height="28" + layout="topleft" + min_height="28" + min_width="37" + name="notification_well_panel" + top="0" + user_resize="false" + width="37"> + <chiclet_notification + follows="right" + height="23" + layout="topleft" + left="0" + max_displayed_count="99" + name="notification_well" + top="5" + width="35"> + <button + auto_resize="true" + bottom_pad="3" + follows="right" + halign="center" + height="23" + image_overlay="Notices_Unread" + image_overlay_alignment="center" + image_pressed="WellButton_Lit" + image_pressed_selected="WellButton_Lit_Selected" + image_selected="PushButton_Press" + label_color="Black" + left="0" + name="Unread" + tool_tip="Notifications" + width="34"> + <init_callback + function="Button.SetDockableFloaterToggle" + parameter="notification_well_window" /> + </button> + </chiclet_notification> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 5475fcd2454..3c69a0cb6cc 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -64,14 +64,32 @@ user_resize="false" mouse_opaque="false" height="100" - width="100"> + width="200"> <view top="0" follows="all" height="100" left="0" mouse_opaque="false" name="floater_snap_region" - width="100"/> + width="200"/> + <view top="0" + follows="left|top|bottom" + height="100" + left="0" + mouse_opaque="false" + name="minimized_floaters_region" + width="160"/> + <panel follows="left|top|right" + layout="topleft" + height="30" + left_pad="10" + mouse_opaque="false" + name="chiclet_container" + tab_stop="false" + top="0" + bg_visible="false" + width="20"> + </panel> <panel bottom="100" follows="left|right|bottom" height="25" @@ -80,7 +98,7 @@ tab_stop="false" name="stand_stop_flying_container" visible="false" - width="100"/> + width="200"/> </layout_panel> <layout_panel name="right_toolbar_panel" auto_resize="false" -- GitLab From e61569d71422931e0d1f8d7e2f6e4db13d8b03ba Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 14:08:14 -0700 Subject: [PATCH 133/213] added compound LLSD parsing to param blocks reviewed by Leslie --- indra/llui/llnotifications.cpp | 72 +++----- indra/llui/llsdparam.cpp | 255 ++++++++++++++------------- indra/llui/llsdparam.h | 66 +++---- indra/llui/tests/llurlentry_stub.cpp | 2 +- indra/llui/tests/llurlentry_test.cpp | 1 - indra/llui/tests/llurlmatch_test.cpp | 4 +- indra/llxuixml/llinitparam.cpp | 52 +++--- indra/llxuixml/llinitparam.h | 155 +++++++++------- indra/llxuixml/llxuiparser.cpp | 50 +++--- indra/llxuixml/llxuiparser.h | 36 ++-- indra/newview/llappviewer.cpp | 47 ++--- 11 files changed, 376 insertions(+), 364 deletions(-) diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp index ffe5908a9d7..8f7025a9a66 100644 --- a/indra/llui/llnotifications.cpp +++ b/indra/llui/llnotifications.cpp @@ -46,6 +46,7 @@ #include <algorithm> #include <boost/regex.hpp> +#include <boost/foreach.hpp> const std::string NOTIFICATION_PERSIST_VERSION = "0.93"; @@ -416,23 +417,17 @@ LLNotificationTemplate::LLNotificationTemplate(const LLNotificationTemplate::Par mSoundEffect = LLUUID(LLUI::sSettingGroups["config"]->getString(p.sound)); } - for(LLInitParam::ParamIterator<LLNotificationTemplate::UniquenessContext>::const_iterator it = p.unique.contexts.begin(), - end_it = p.unique.contexts.end(); - it != end_it; - ++it) + BOOST_FOREACH(const LLNotificationTemplate::UniquenessContext& context, p.unique.contexts) { - mUniqueContext.push_back(it->value); + mUniqueContext.push_back(context.value); } lldebugs << "notification \"" << mName << "\": tag count is " << p.tags.size() << llendl; - for(LLInitParam::ParamIterator<LLNotificationTemplate::Tag>::const_iterator it = p.tags.begin(), - end_it = p.tags.end(); - it != end_it; - ++it) + BOOST_FOREACH(const LLNotificationTemplate::Tag& tag, p.tags) { - lldebugs << " tag \"" << std::string(it->value) << "\"" << llendl; - mTags.push_back(it->value); + lldebugs << " tag \"" << std::string(tag.value) << "\"" << llendl; + mTags.push_back(tag.value); } mForm = LLNotificationFormPtr(new LLNotificationForm(p.name, p.form_ref.form)); @@ -1397,14 +1392,12 @@ void replaceFormText(LLNotificationForm::Params& form, const std::string& patter { form.ignore.text = replace; } - for (LLInitParam::ParamIterator<LLNotificationForm::FormElement>::iterator it = form.form_elements.elements.begin(), - end_it = form.form_elements.elements.end(); - it != end_it; - ++it) + + BOOST_FOREACH(LLNotificationForm::FormElement& element, form.form_elements.elements) { - if (it->button.isChosen() && it->button.text() == pattern) + if (element.button.isChosen() && element.button.text() == pattern) { - it->button.text = replace; + element.button.text = replace; } } } @@ -1453,48 +1446,42 @@ bool LLNotifications::loadTemplates() mTemplates.clear(); - for(LLInitParam::ParamIterator<LLNotificationTemplate::GlobalString>::const_iterator it = params.strings.begin(), end_it = params.strings.end(); - it != end_it; - ++it) + BOOST_FOREACH(LLNotificationTemplate::GlobalString& string, params.strings) { - mGlobalStrings[it->name] = it->value; + mGlobalStrings[string.name] = string.value; } std::map<std::string, LLNotificationForm::Params> form_templates; - for(LLInitParam::ParamIterator<LLNotificationTemplate::Template>::const_iterator it = params.templates.begin(), end_it = params.templates.end(); - it != end_it; - ++it) + BOOST_FOREACH(LLNotificationTemplate::Template& notification_template, params.templates) { - form_templates[it->name] = it->form; + form_templates[notification_template.name] = notification_template.form; } - for(LLInitParam::ParamIterator<LLNotificationTemplate::Params>::iterator it = params.notifications.begin(), end_it = params.notifications.end(); - it != end_it; - ++it) + BOOST_FOREACH(LLNotificationTemplate::Params& notification, params.notifications) { - if (it->form_ref.form_template.isChosen()) + if (notification.form_ref.form_template.isChosen()) { // replace form contents from template - it->form_ref.form = form_templates[it->form_ref.form_template.name]; - if(it->form_ref.form_template.yes_text.isProvided()) + notification.form_ref.form = form_templates[notification.form_ref.form_template.name]; + if(notification.form_ref.form_template.yes_text.isProvided()) { - replaceFormText(it->form_ref.form, "$yestext", it->form_ref.form_template.yes_text); + replaceFormText(notification.form_ref.form, "$yestext", notification.form_ref.form_template.yes_text); } - if(it->form_ref.form_template.no_text.isProvided()) + if(notification.form_ref.form_template.no_text.isProvided()) { - replaceFormText(it->form_ref.form, "$notext", it->form_ref.form_template.no_text); + replaceFormText(notification.form_ref.form, "$notext", notification.form_ref.form_template.no_text); } - if(it->form_ref.form_template.cancel_text.isProvided()) + if(notification.form_ref.form_template.cancel_text.isProvided()) { - replaceFormText(it->form_ref.form, "$canceltext", it->form_ref.form_template.cancel_text); + replaceFormText(notification.form_ref.form, "$canceltext", notification.form_ref.form_template.cancel_text); } - if(it->form_ref.form_template.ignore_text.isProvided()) + if(notification.form_ref.form_template.ignore_text.isProvided()) { - replaceFormText(it->form_ref.form, "$ignoretext", it->form_ref.form_template.ignore_text); + replaceFormText(notification.form_ref.form, "$ignoretext", notification.form_ref.form_template.ignore_text); } } - mTemplates[it->name] = LLNotificationTemplatePtr(new LLNotificationTemplate(*it)); + mTemplates[notification.name] = LLNotificationTemplatePtr(new LLNotificationTemplate(notification)); } return true; @@ -1517,12 +1504,9 @@ bool LLNotifications::loadVisibilityRules() mVisibilityRules.clear(); - for(LLInitParam::ParamIterator<LLNotificationVisibilityRule::Rule>::iterator it = params.rules.begin(), - end_it = params.rules.end(); - it != end_it; - ++it) + BOOST_FOREACH(LLNotificationVisibilityRule::Rule& rule, params.rules) { - mVisibilityRules.push_back(LLNotificationVisibilityRulePtr(new LLNotificationVisibilityRule(*it))); + mVisibilityRules.push_back(LLNotificationVisibilityRulePtr(new LLNotificationVisibilityRule(rule))); } return true; diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index 4b69360e330..83bed3e7456 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -34,6 +34,7 @@ static LLInitParam::Parser::parser_read_func_map_t sReadFuncs; static LLInitParam::Parser::parser_write_func_map_t sWriteFuncs; static LLInitParam::Parser::parser_inspect_func_map_t sInspectFuncs; +static const LLSD NO_VALUE_MARKER; // // LLParamSDParser @@ -60,29 +61,32 @@ LLParamSDParser::LLParamSDParser() } // special case handling of U32 due to ambiguous LLSD::assign overload -bool LLParamSDParser::writeU32Param(LLParamSDParser::parser_t& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) +bool LLParamSDParser::writeU32Param(LLParamSDParser::parser_t& parser, const void* val_ptr, parser_t::name_stack_t& name_stack) { LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLSD* sd_to_write = sdparser.getSDWriteNode(name_stack); - if (!sd_to_write) return false; + LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); + sd_to_write.assign((S32)*((const U32*)val_ptr)); - sd_to_write->assign((S32)*((const U32*)val_ptr)); return true; } -bool LLParamSDParser::writeFlag(LLParamSDParser::parser_t& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) +bool LLParamSDParser::writeFlag(LLParamSDParser::parser_t& parser, const void* val_ptr, parser_t::name_stack_t& name_stack) { LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLSD* sd_to_write = sdparser.getSDWriteNode(name_stack); - if (!sd_to_write) return false; + LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); return true; } +void LLParamSDParser::submit(LLInitParam::BaseBlock& block, const LLSD& sd, LLInitParam::Parser::name_stack_t& name_stack) +{ + mCurReadSD = &sd; + block.submitValue(name_stack, *this); +} void LLParamSDParser::readSD(const LLSD& sd, LLInitParam::BaseBlock& block, bool silent) { @@ -90,7 +94,8 @@ void LLParamSDParser::readSD(const LLSD& sd, LLInitParam::BaseBlock& block, bool mNameStack.clear(); setParseSilently(silent); - readSDValues(sd, block); + LLParamSDParserUtilities::readSDValues(boost::bind(&LLParamSDParser::submit, this, boost::ref(block), _1, _2), sd, mNameStack); + //readSDValues(sd, block); } void LLParamSDParser::writeSD(LLSD& sd, const LLInitParam::BaseBlock& block) @@ -100,43 +105,6 @@ void LLParamSDParser::writeSD(LLSD& sd, const LLInitParam::BaseBlock& block) block.serializeBlock(*this); } -const LLSD NO_VALUE_MARKER; - -void LLParamSDParser::readSDValues(const LLSD& sd, LLInitParam::BaseBlock& block) -{ - if (sd.isMap()) - { - for (LLSD::map_const_iterator it = sd.beginMap(); - it != sd.endMap(); - ++it) - { - mNameStack.push_back(make_pair(it->first, newParseGeneration())); - readSDValues(it->second, block); - mNameStack.pop_back(); - } - } - else if (sd.isArray()) - { - for (LLSD::array_const_iterator it = sd.beginArray(); - it != sd.endArray(); - ++it) - { - mNameStack.back().second = newParseGeneration(); - readSDValues(*it, block); - } - } - else if (sd.isUndefined()) - { - mCurReadSD = &NO_VALUE_MARKER; - block.submitValue(mNameStack, *this); - } - else - { - mCurReadSD = &sd; - block.submitValue(mNameStack, *this); - } -} - /*virtual*/ std::string LLParamSDParser::getCurrentElementName() { std::string full_name = "sd"; @@ -150,81 +118,6 @@ void LLParamSDParser::readSDValues(const LLSD& sd, LLInitParam::BaseBlock& block return full_name; } -LLSD* LLParamSDParser::getSDWriteNode(const parser_t::name_stack_t& name_stack) -{ - //TODO: implement nested LLSD writing - LLSD* sd_to_write = mWriteRootSD; - bool new_traversal = false; - for (name_stack_t::const_iterator it = name_stack.begin(), prev_it = mNameStack.begin(); - it != name_stack.end(); - ++it) - { - bool new_array_entry = false; - if (prev_it == mNameStack.end()) - { - new_traversal = true; - } - else - { - if (!new_traversal // have not diverged yet from previous trace - && prev_it->first == it->first // names match - && prev_it->second != it->second) // versions differ - { - // name stacks match, but version numbers differ in last place. - // create a different entry at this point using an LLSD array - new_array_entry = true; - } - if (prev_it->first != it->first // names differ - || prev_it->second != it->second) // versions differ - { - // at this point we have diverged from our last trace - // so any elements referenced here are new - new_traversal = true; - } - } - - LLSD* child_sd = it->first.empty() ? sd_to_write : &(*sd_to_write)[it->first]; - - if (child_sd->isArray()) - { - if (new_traversal) - { - // write to new element at end - sd_to_write = &(*child_sd)[child_sd->size()]; - } - else - { - // write to last of existing elements, or first element if empty - sd_to_write = &(*child_sd)[llmax(0, child_sd->size() - 1)]; - } - } - else - { - if (new_array_entry && !child_sd->isArray()) - { - // copy child contents into first element of an array - LLSD new_array = LLSD::emptyArray(); - new_array.append(*child_sd); - // assign array to slot that previously held the single value - *child_sd = new_array; - // return next element in that array - sd_to_write = &((*child_sd)[1]); - } - else - { - sd_to_write = child_sd; - } - } - if (prev_it != mNameStack.end()) - { - ++prev_it; - } - } - mNameStack = name_stack; - - //llinfos << ll_pretty_print_sd(*mWriteRootSD) << llendl; - return sd_to_write; -} bool LLParamSDParser::readFlag(Parser& parser, void* val_ptr) { @@ -312,3 +205,125 @@ bool LLParamSDParser::readSD(Parser& parser, void* val_ptr) *((LLSD*)val_ptr) = *self.mCurReadSD; return true; } + +// static +LLSD& LLParamSDParserUtilities::getSDWriteNode(LLSD& input, LLInitParam::Parser::name_stack_range_t& name_stack_range) +{ + LLSD* sd_to_write = &input; + + for (LLInitParam::Parser::name_stack_t::iterator it = name_stack_range.first; + it != name_stack_range.second; + ++it) + { + bool new_traversal = it->second; + + LLSD* child_sd = it->first.empty() ? sd_to_write : &(*sd_to_write)[it->first]; + + if (child_sd->isArray()) + { + if (new_traversal) + { + // write to new element at end + sd_to_write = &(*child_sd)[child_sd->size()]; + } + else + { + // write to last of existing elements, or first element if empty + sd_to_write = &(*child_sd)[llmax(0, child_sd->size() - 1)]; + } + } + else + { + if (new_traversal + && child_sd->isDefined() + && !child_sd->isArray()) + { + // copy child contents into first element of an array + LLSD new_array = LLSD::emptyArray(); + new_array.append(*child_sd); + // assign array to slot that previously held the single value + *child_sd = new_array; + // return next element in that array + sd_to_write = &((*child_sd)[1]); + } + else + { + sd_to_write = child_sd; + } + } + it->second = false; + } + + return *sd_to_write; +} + +//static +void LLParamSDParserUtilities::readSDValues(read_sd_cb_t cb, const LLSD& sd, LLInitParam::Parser::name_stack_t& stack) +{ + if (sd.isMap()) + { + for (LLSD::map_const_iterator it = sd.beginMap(); + it != sd.endMap(); + ++it) + { + stack.push_back(make_pair(it->first, true)); + readSDValues(cb, it->second, stack); + stack.pop_back(); + } + } + else if (sd.isArray()) + { + for (LLSD::array_const_iterator it = sd.beginArray(); + it != sd.endArray(); + ++it) + { + stack.back().second = true; + readSDValues(cb, *it, stack); + } + } + else if (sd.isUndefined()) + { + if (!cb.empty()) + { + cb(NO_VALUE_MARKER, stack); + } + } + else + { + if (!cb.empty()) + { + cb(sd, stack); + } + } +} + +namespace LLInitParam +{ + // LLSD specialization + // block param interface + bool ParamValue<LLSD, TypeValues<LLSD>, false>::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name) + { + LLSD& sd = LLParamSDParserUtilities::getSDWriteNode(mValue, name_stack); + + LLSD::String string; + + if (p.readValue<LLSD::String>(string)) + { + sd = string; + return true; + } + return false; + } + + //static + void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeElement(Parser& p, const LLSD& sd, Parser::name_stack_t& name_stack) + { + p.writeValue<LLSD::String>(sd.asString(), name_stack); + } + + void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t name_stack, const BaseBlock* diff_block) const + { + // read from LLSD value and serialize out to parser (which could be LLSD, XUI, etc) + LLParamSDParserUtilities::readSDValues(boost::bind(&serializeElement, boost::ref(p), _1, _2), mValue); + } +} diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h index a371c28f68e..265993ffb5b 100644 --- a/indra/llui/llsdparam.h +++ b/indra/llui/llsdparam.h @@ -29,6 +29,15 @@ #define LL_LLSDPARAM_H #include "llinitparam.h" +#include "boost/function.hpp" + +struct LLParamSDParserUtilities +{ + static LLSD& getSDWriteNode(LLSD& input, LLInitParam::Parser::name_stack_range_t& name_stack_range); + + typedef boost::function<void (const LLSD&, LLInitParam::Parser::name_stack_t&)> read_sd_cb_t; + static void readSDValues(read_sd_cb_t cb, const LLSD& sd, LLInitParam::Parser::name_stack_t& stack = LLInitParam::Parser::name_stack_t()); +}; class LLParamSDParser : public LLInitParam::Parser @@ -45,25 +54,22 @@ typedef LLInitParam::Parser parser_t; /*virtual*/ std::string getCurrentElementName(); private: - void readSDValues(const LLSD& sd, LLInitParam::BaseBlock& block); + void submit(LLInitParam::BaseBlock& block, const LLSD& sd, LLInitParam::Parser::name_stack_t& name_stack); template<typename T> - static bool writeTypedValue(Parser& parser, const void* val_ptr, const parser_t::name_stack_t& name_stack) + static bool writeTypedValue(Parser& parser, const void* val_ptr, parser_t::name_stack_t& name_stack) { LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLSD* sd_to_write = sdparser.getSDWriteNode(name_stack); - if (!sd_to_write) return false; + LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); - sd_to_write->assign(*((const T*)val_ptr)); + sd_to_write.assign(*((const T*)val_ptr)); return true; } - LLSD* getSDWriteNode(const parser_t::name_stack_t& name_stack); - - static bool writeU32Param(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); - static bool writeFlag(Parser& parser, const void* value_ptr, const parser_t::name_stack_t& name_stack); + static bool writeU32Param(Parser& parser, const void* value_ptr, parser_t::name_stack_t& name_stack); + static bool writeFlag(Parser& parser, const void* value_ptr, parser_t::name_stack_t& name_stack); static bool readFlag(Parser& parser, void* val_ptr); static bool readS32(Parser& parser, void* val_ptr); @@ -85,29 +91,29 @@ typedef LLInitParam::Parser parser_t; template<typename T> class LLSDParamAdapter : public T +{ +public: + LLSDParamAdapter() {} + LLSDParamAdapter(const LLSD& sd) { - public: - LLSDParamAdapter() {} - LLSDParamAdapter(const LLSD& sd) - { - LLParamSDParser parser; - parser.readSD(sd, *this); - } - - operator LLSD() const - { - LLParamSDParser parser; - LLSD sd; - parser.writeSD(sd, *this); - return sd; - } + LLParamSDParser parser; + parser.readSD(sd, *this); + } + + operator LLSD() const + { + LLParamSDParser parser; + LLSD sd; + parser.writeSD(sd, *this); + return sd; + } - LLSDParamAdapter(const T& val) - : T(val) - { - T::operator=(val); - } - }; + LLSDParamAdapter(const T& val) + : T(val) + { + T::operator=(val); + } +}; #endif // LL_LLSDPARAM_H diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp index d5221232601..c8303bfc894 100644 --- a/indra/llui/tests/llurlentry_stub.cpp +++ b/indra/llui/tests/llurlentry_stub.cpp @@ -124,7 +124,7 @@ namespace LLInitParam { descriptor.mCurrentBlockPtr = this; } - bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation){ return true; } + bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_value, S32 max_value) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } diff --git a/indra/llui/tests/llurlentry_test.cpp b/indra/llui/tests/llurlentry_test.cpp index 2f814f4200c..c1fb050206a 100644 --- a/indra/llui/tests/llurlentry_test.cpp +++ b/indra/llui/tests/llurlentry_test.cpp @@ -72,7 +72,6 @@ S32 LLUIImage::getHeight() const namespace LLInitParam { - S32 Parser::sNextParseGeneration = 0; BlockDescriptor::BlockDescriptor() {} ParamDescriptor::ParamDescriptor(param_handle_t p, merge_func_t merge_func, diff --git a/indra/llui/tests/llurlmatch_test.cpp b/indra/llui/tests/llurlmatch_test.cpp index fb6a2eabf10..9dbccf125a3 100644 --- a/indra/llui/tests/llurlmatch_test.cpp +++ b/indra/llui/tests/llurlmatch_test.cpp @@ -66,8 +66,6 @@ namespace LLInitParam BaseBlock::BaseBlock() {} BaseBlock::~BaseBlock() {} - S32 Parser::sNextParseGeneration = 0; - BlockDescriptor::BlockDescriptor() {} ParamDescriptor::ParamDescriptor(param_handle_t p, merge_func_t merge_func, @@ -98,7 +96,7 @@ namespace LLInitParam mEnclosingBlockOffset = 0x7FFFffff & ((U32)(my_addr - block_addr)); } - bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation){ return true; } + bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_count, S32 max_count) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } diff --git a/indra/llxuixml/llinitparam.cpp b/indra/llxuixml/llinitparam.cpp index 99016205c85..2520502cf1f 100644 --- a/indra/llxuixml/llinitparam.cpp +++ b/indra/llxuixml/llinitparam.cpp @@ -62,7 +62,6 @@ namespace LLInitParam mInspectFunc(inspect_func), mMinCount(min_count), mMaxCount(max_count), - mGeneration(0), mUserData(NULL) {} @@ -75,7 +74,6 @@ namespace LLInitParam mInspectFunc(NULL), mMinCount(0), mMaxCount(0), - mGeneration(0), mUserData(NULL) {} @@ -87,8 +85,6 @@ namespace LLInitParam // // Parser // - S32 Parser::sNextParseGeneration = 0; - Parser::~Parser() {} @@ -162,9 +158,9 @@ namespace LLInitParam return (param_address - baseblock_address); } - bool BaseBlock::submitValue(const Parser::name_stack_t& name_stack, Parser& p, bool silent) + bool BaseBlock::submitValue(Parser::name_stack_t& name_stack, Parser& p, bool silent) { - if (!deserializeBlock(p, std::make_pair(name_stack.begin(), name_stack.end()), -1)) + if (!deserializeBlock(p, std::make_pair(name_stack.begin(), name_stack.end()), true)) { if (!silent) { @@ -213,8 +209,7 @@ namespace LLInitParam // each param descriptor remembers its serial number // so we can inspect the same param under different names // and see that it has the same number - (*it)->mGeneration = parser.newParseGeneration(); - name_stack.push_back(std::make_pair("", (*it)->mGeneration)); + name_stack.push_back(std::make_pair("", true)); serialize_func(*param, parser, name_stack, diff_param); name_stack.pop_back(); } @@ -250,12 +245,7 @@ namespace LLInitParam continue; } - if (!duplicate) - { - it->second->mGeneration = parser.newParseGeneration(); - } - - name_stack.push_back(std::make_pair(it->first, it->second->mGeneration)); + name_stack.push_back(std::make_pair(it->first, !duplicate)); const Param* diff_param = diff_block ? diff_block->getParamFromHandle(param_handle) : NULL; serialize_func(*param, parser, name_stack, diff_param); name_stack.pop_back(); @@ -278,8 +268,7 @@ namespace LLInitParam ParamDescriptor::inspect_func_t inspect_func = (*it)->mInspectFunc; if (inspect_func) { - (*it)->mGeneration = parser.newParseGeneration(); - name_stack.push_back(std::make_pair("", (*it)->mGeneration)); + name_stack.push_back(std::make_pair("", true)); inspect_func(*param, parser, name_stack, (*it)->mMinCount, (*it)->mMaxCount); name_stack.pop_back(); } @@ -307,11 +296,7 @@ namespace LLInitParam } } - if (!duplicate) - { - it->second->mGeneration = parser.newParseGeneration(); - } - name_stack.push_back(std::make_pair(it->first, it->second->mGeneration)); + name_stack.push_back(std::make_pair(it->first, !duplicate)); inspect_func(*param, parser, name_stack, it->second->mMinCount, it->second->mMaxCount); name_stack.pop_back(); } @@ -320,16 +305,18 @@ namespace LLInitParam return true; } - bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 parent_generation) + bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool ignored) { BlockDescriptor& block_data = mostDerivedBlockDescriptor(); - bool names_left = name_stack.first != name_stack.second; + bool names_left = name_stack_range.first != name_stack_range.second; - S32 parse_generation = name_stack.first == name_stack.second ? -1 : name_stack.first->second; + bool new_name = names_left + ? name_stack_range.first->second + : true; if (names_left) { - const std::string& top_name = name_stack.first->first; + const std::string& top_name = name_stack_range.first->first; ParamDescriptor::deserialize_func_t deserialize_func = NULL; Param* paramp = NULL; @@ -341,9 +328,18 @@ namespace LLInitParam paramp = getParamFromHandle(found_it->second->mParamHandle); deserialize_func = found_it->second->mDeserializeFunc; - Parser::name_stack_range_t new_name_stack(name_stack.first, name_stack.second); + Parser::name_stack_range_t new_name_stack(name_stack_range.first, name_stack_range.second); ++new_name_stack.first; - return deserialize_func(*paramp, p, new_name_stack, parse_generation); + if (deserialize_func(*paramp, p, new_name_stack, new_name)) + { + // value is no longer new, we know about it now + name_stack_range.first->second = false; + return true; + } + else + { + return false; + } } } @@ -355,7 +351,7 @@ namespace LLInitParam Param* paramp = getParamFromHandle((*it)->mParamHandle); ParamDescriptor::deserialize_func_t deserialize_func = (*it)->mDeserializeFunc; - if (deserialize_func && deserialize_func(*paramp, p, name_stack, parse_generation)) + if (deserialize_func && deserialize_func(*paramp, p, name_stack_range, new_name)) { return true; } diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 1a131d15a3f..9245f588d95 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -214,13 +214,13 @@ namespace LLInitParam } }; - typedef std::vector<std::pair<std::string, S32> > name_stack_t; - typedef std::pair<name_stack_t::const_iterator, name_stack_t::const_iterator> name_stack_range_t; - typedef std::vector<std::string> possible_values_t; + typedef std::vector<std::pair<std::string, bool> > name_stack_t; + typedef std::pair<name_stack_t::iterator, name_stack_t::iterator> name_stack_range_t; + typedef std::vector<std::string> possible_values_t; typedef bool (*parser_read_func_t)(Parser& parser, void* output); - typedef bool (*parser_write_func_t)(Parser& parser, const void*, const name_stack_t&); - typedef boost::function<void (const name_stack_t&, S32, S32, const possible_values_t*)> parser_inspect_func_t; + typedef bool (*parser_write_func_t)(Parser& parser, const void*, name_stack_t&); + typedef boost::function<void (name_stack_t&, S32, S32, const possible_values_t*)> parser_inspect_func_t; typedef std::map<const std::type_info*, parser_read_func_t, CompareTypeID> parser_read_func_map_t; typedef std::map<const std::type_info*, parser_write_func_t, CompareTypeID> parser_write_func_map_t; @@ -228,7 +228,6 @@ namespace LLInitParam Parser(parser_read_func_map_t& read_map, parser_write_func_map_t& write_map, parser_inspect_func_map_t& inspect_map) : mParseSilently(false), - mParseGeneration(sNextParseGeneration), mParserReadFuncs(&read_map), mParserWriteFuncs(&write_map), mParserInspectFuncs(&inspect_map) @@ -245,7 +244,7 @@ namespace LLInitParam return false; } - template <typename T> bool writeValue(const T& param, const name_stack_t& name_stack) + template <typename T> bool writeValue(const T& param, name_stack_t& name_stack) { parser_write_func_map_t::iterator found_it = mParserWriteFuncs->find(&typeid(T)); if (found_it != mParserWriteFuncs->end()) @@ -256,7 +255,7 @@ namespace LLInitParam } // dispatch inspection to registered inspection functions, for each parameter in a param block - template <typename T> bool inspectValue(const name_stack_t& name_stack, S32 min_count, S32 max_count, const possible_values_t* possible_values) + template <typename T> bool inspectValue(name_stack_t& name_stack, S32 min_count, S32 max_count, const possible_values_t* possible_values) { parser_inspect_func_map_t::iterator found_it = mParserInspectFuncs->find(&typeid(T)); if (found_it != mParserInspectFuncs->end()) @@ -272,10 +271,6 @@ namespace LLInitParam virtual void parserError(const std::string& message); void setParseSilently(bool silent) { mParseSilently = silent; } - S32 getParseGeneration() { return mParseGeneration; } - S32 newParseGeneration() { return mParseGeneration = ++sNextParseGeneration; } - - protected: template <typename T> void registerParserFuncs(parser_read_func_t read_func, parser_write_func_t write_func = NULL) @@ -296,9 +291,6 @@ namespace LLInitParam parser_read_func_map_t* mParserReadFuncs; parser_write_func_map_t* mParserWriteFuncs; parser_inspect_func_map_t* mParserInspectFuncs; - S32 mParseGeneration; - - static S32 sNextParseGeneration; }; class BaseBlock; @@ -341,7 +333,7 @@ namespace LLInitParam }; typedef bool(*merge_func_t)(Param&, const Param&, bool); - typedef bool(*deserialize_func_t)(Param&, Parser&, const Parser::name_stack_range_t&, S32); + typedef bool(*deserialize_func_t)(Param&, Parser&, const Parser::name_stack_range_t&, bool); typedef void(*serialize_func_t)(const Param&, Parser&, Parser::name_stack_t&, const Param* diff_param); typedef void(*inspect_func_t)(const Param&, Parser&, Parser::name_stack_t&, S32 min_count, S32 max_count); typedef bool(*validation_func_t)(const Param*); @@ -366,7 +358,6 @@ namespace LLInitParam validation_func_t mValidationFunc; S32 mMinCount; S32 mMaxCount; - S32 mGeneration; S32 mNumRefs; UserData* mUserData; }; @@ -447,7 +438,7 @@ namespace LLInitParam BaseBlock(); virtual ~BaseBlock(); - bool submitValue(const Parser::name_stack_t& name_stack, Parser& p, bool silent=false); + bool submitValue(Parser::name_stack_t& name_stack, Parser& p, bool silent=false); param_handle_t getHandleFromParam(const Param* param) const; bool validateBlock(bool emit_errors = true) const; @@ -473,7 +464,7 @@ namespace LLInitParam S32 getLastChangeVersion() const { return mChangeVersion; } - bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation); + bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool new_name); void serializeBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const; bool inspectBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), S32 min_count = 0, S32 max_count = S32_MAX) const; @@ -593,8 +584,7 @@ namespace LLInitParam mKeyVersion(0), mValidatedVersion(-1), mValidated(false) - { - } + {} void setValue(value_assignment_t val) { @@ -672,11 +662,11 @@ namespace LLInitParam bool isProvided() const { return Param::anyProvided(); } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack_range, bool new_name) { self_t& typed_param = static_cast<self_t&>(param); // no further names in stack, attempt to parse value now - if (name_stack.first == name_stack.second) + if (name_stack_range.first == name_stack_range.second) { if (parser.readValue(typed_param.getValue())) { @@ -715,7 +705,7 @@ namespace LLInitParam if (!name_stack.empty()) { - name_stack.back().second = parser.newParseGeneration(); + name_stack.back().second = true; } std::string key = typed_param.getValueName(); @@ -811,11 +801,11 @@ namespace LLInitParam } } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack_range, bool new_name) { self_t& typed_param = static_cast<self_t&>(param); // attempt to parse block... - if(typed_param.deserializeBlock(parser, name_stack, generation)) + if(typed_param.deserializeBlock(parser, name_stack_range, new_name)) { typed_param.clearValueName(); typed_param.enclosingBlock().paramChanged(param, true); @@ -851,7 +841,7 @@ namespace LLInitParam if (!name_stack.empty()) { - name_stack.back().second = parser.newParseGeneration(); + name_stack.back().second = true; } std::string key = typed_param.getValueName(); @@ -943,7 +933,7 @@ namespace LLInitParam public: typedef TypedParam<VALUE_TYPE, NAME_VALUE_LOOKUP, true, false> self_t; typedef ParamValue<VALUE_TYPE, NAME_VALUE_LOOKUP> param_value_t; - typedef typename std::vector<param_value_t> container_t; + typedef typename std::vector<param_value_t> container_t; typedef const container_t& value_assignment_t; typedef VALUE_TYPE value_t; @@ -970,12 +960,12 @@ namespace LLInitParam bool isProvided() const { return Param::anyProvided(); } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, bool new_name) { self_t& typed_param = static_cast<self_t&>(param); value_t value; // no further names in stack, attempt to parse value now - if (name_stack.first == name_stack.second) + if (name_stack_range.first == name_stack_range.second) { // attempt to read value directly if (parser.readValue(value)) @@ -1015,7 +1005,7 @@ namespace LLInitParam ++it) { std::string key = it->getValue(); - name_stack.back().second = parser.newParseGeneration(); + name_stack.back().second = true; if(key.empty()) // not parsed via name values, write out value directly @@ -1132,8 +1122,7 @@ namespace LLInitParam typedef NAME_VALUE_LOOKUP name_value_lookup_t; TypedParam(BlockDescriptor& block_descriptor, const char* name, value_assignment_t value, ParamDescriptor::validation_func_t validate_func, S32 min_count, S32 max_count) - : Param(block_descriptor.mCurrentBlockPtr), - mLastParseGeneration(0) + : Param(block_descriptor.mCurrentBlockPtr) { std::copy(value.begin(), value.end(), back_inserter(mValues)); @@ -1153,13 +1142,12 @@ namespace LLInitParam bool isProvided() const { return Param::anyProvided(); } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack_range, bool new_name) { self_t& typed_param = static_cast<self_t&>(param); bool new_value = false; - if (generation != typed_param.mLastParseGeneration - || typed_param.mValues.empty()) + if (new_name || typed_param.mValues.empty()) { new_value = true; typed_param.mValues.push_back(value_t()); @@ -1168,12 +1156,8 @@ namespace LLInitParam param_value_t& value = typed_param.mValues.back(); // attempt to parse block... - if(value.deserializeBlock(parser, name_stack, generation)) + if(value.deserializeBlock(parser, name_stack_range, new_name)) { - if (new_value) - { // successfully parsed new value, let's keep it - typed_param.mLastParseGeneration = generation; - } typed_param.enclosingBlock().paramChanged(param, true); typed_param.setProvided(true); return true; @@ -1187,11 +1171,6 @@ namespace LLInitParam // try to parse a per type named value if (name_value_lookup_t::getValueFromName(name, value.getValue())) { - if (new_value) - { // successfully parsed new value, let's keep it - typed_param.mLastParseGeneration = generation; - } - typed_param.mValues.back().setValueName(name); typed_param.mValues.back().mKeyVersion = value.getLastChangeVersion(); typed_param.enclosingBlock().paramChanged(param, true); @@ -1219,7 +1198,7 @@ namespace LLInitParam it != end_it; ++it) { - name_stack.back().second = parser.newParseGeneration(); + name_stack.back().second = true; std::string key = it->getValueName(); if (!key.empty() && it->mKeyVersion == it->getLastChangeVersion()) @@ -1317,8 +1296,6 @@ namespace LLInitParam } container_t mValues; - - S32 mLastParseGeneration; }; template <typename DERIVED_BLOCK> @@ -1625,9 +1602,9 @@ namespace LLInitParam } } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, S32 generation) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack_range, bool new_name) { - if (name_stack.first == name_stack.second) + if (name_stack_range.first == name_stack_range.second) { //std::string message = llformat("Deprecated value %s ignored", getName().c_str()); //parser.parserWarning(message); @@ -1669,18 +1646,16 @@ namespace LLInitParam typedef Block<DERIVED_BLOCK, BASE_BLOCK> super_t; BatchBlock() - : mLastParseGeneration(-1) {} - bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation) + bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool new_name) { - if (generation != mLastParseGeneration) + if (new_name) { // reset block *static_cast<DERIVED_BLOCK*>(this) = defaultBatchValue(); - mLastParseGeneration = generation; } - return super_t::deserializeBlock(p, name_stack, generation); + return super_t::deserializeBlock(p, name_stack_range, new_name); } bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) @@ -1688,7 +1663,6 @@ namespace LLInitParam if (overwrite) { *static_cast<DERIVED_BLOCK*>(this) = defaultBatchValue(); - mLastParseGeneration = -1; // merge individual parameters into destination return super_t::mergeBlock(super_t::selfBlockDescriptor(), other, overwrite); } @@ -1700,19 +1674,20 @@ namespace LLInitParam static DERIVED_BLOCK default_value; return default_value; } - - S32 mLastParseGeneration; }; + // FIXME: this specialization is not currently used, as it only matches against the BatchBlock base class + // and not the derived class with the actual params template<typename DERIVED_BLOCK, typename BASE_BLOCK, typename NAME_VALUE_LOOKUP> class ParamValue <BatchBlock<DERIVED_BLOCK, BASE_BLOCK>, NAME_VALUE_LOOKUP, true> - : public Param, + : public NAME_VALUE_LOOKUP, protected BatchBlock<DERIVED_BLOCK, BASE_BLOCK> { + public: typedef BatchBlock<DERIVED_BLOCK, BASE_BLOCK> block_t; typedef const BatchBlock<DERIVED_BLOCK, BASE_BLOCK>& value_assignment_t; @@ -1734,7 +1709,6 @@ namespace LLInitParam void setValue(value_assignment_t val) { *this = val; - block_t::mLastParseGeneration = -1; } value_assignment_t getValue() const @@ -1764,6 +1738,59 @@ namespace LLInitParam mutable bool mValidated; // lazy validation flag }; + template <> + class ParamValue <LLSD, + TypeValues<LLSD>, + false> + : public TypeValues<LLSD>, + public BaseBlock + { + public: + typedef ParamValue<LLSD, TypeValues<LLSD>, false> self_t; + typedef const LLSD& value_assignment_t; + + ParamValue() + : mKeyVersion(0), + mValidatedVersion(-1), + mValidated(false) + {} + + ParamValue(value_assignment_t other) + : mValue(other), + mKeyVersion(0), + mValidatedVersion(-1), + mValidated(false) + {} + + void setValue(value_assignment_t val) { mValue = val; } + + value_assignment_t getValue() const { return mValue; } + LLSD& getValue() { return mValue; } + + operator value_assignment_t() const { return mValue; } + value_assignment_t operator()() const { return mValue; } + + S32 mKeyVersion; + + // block param interface + bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool new_name); + void serializeBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const; + bool inspectBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), S32 min_count = 0, S32 max_count = S32_MAX) const + { + //TODO: implement LLSD params as schema type Any + return true; + } + + protected: + mutable S32 mValidatedVersion; + mutable bool mValidated; // lazy validation flag + + private: + static void serializeElement(Parser& p, const LLSD& sd, Parser::name_stack_t& name_stack); + + LLSD mValue; + }; + template<typename T> class CustomParamValue : public Block<ParamValue<T, TypeValues<T> > >, @@ -1790,11 +1817,11 @@ namespace LLInitParam mValidated(false) {} - bool deserializeBlock(Parser& parser, Parser::name_stack_range_t name_stack, S32 generation) + bool deserializeBlock(Parser& parser, Parser::name_stack_range_t name_stack_range, bool new_name) { derived_t& typed_param = static_cast<derived_t&>(*this); // try to parse direct value T - if (name_stack.first == name_stack.second) + if (name_stack_range.first == name_stack_range.second) { if(parser.readValue(typed_param.mValue)) { @@ -1808,7 +1835,7 @@ namespace LLInitParam } // fall back on parsing block components for T - return typed_param.BaseBlock::deserializeBlock(parser, name_stack, generation); + return typed_param.BaseBlock::deserializeBlock(parser, name_stack_range, new_name); } void serializeBlock(Parser& parser, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index c60f656c2ca..1bb550d98fa 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -513,7 +513,6 @@ static LLInitParam::Parser::parser_inspect_func_map_t sXUIInspectFuncs; // LLXUIParser::LLXUIParser() : Parser(sXUIReadFuncs, sXUIWriteFuncs, sXUIInspectFuncs), - mLastWriteGeneration(-1), mCurReadDepth(0) { if (sXUIReadFuncs.empty()) @@ -583,7 +582,7 @@ bool LLXUIParser::readXUIImpl(LLXMLNodePtr nodep, LLInitParam::BaseBlock& block) if (!text_contents.empty()) { mCurReadNode = nodep; - mNameStack.push_back(std::make_pair(std::string("value"), newParseGeneration())); + mNameStack.push_back(std::make_pair(std::string("value"), true)); // child nodes are not necessarily valid parameters (could be a child widget) // so don't complain once we've recursed if (!block.submitValue(mNameStack, *this, true)) @@ -618,7 +617,7 @@ bool LLXUIParser::readXUIImpl(LLXMLNodePtr nodep, LLInitParam::BaseBlock& block) // since there is no widget named "rect" if (child_name.find(".") == std::string::npos) { - mNameStack.push_back(std::make_pair(child_name, newParseGeneration())); + mNameStack.push_back(std::make_pair(child_name, true)); num_tokens_pushed++; } else @@ -654,7 +653,7 @@ bool LLXUIParser::readXUIImpl(LLXMLNodePtr nodep, LLInitParam::BaseBlock& block) // copy remaining tokens on to our running token list for(tokenizer::iterator token_to_push = name_token_it; token_to_push != name_tokens.end(); ++token_to_push) { - mNameStack.push_back(std::make_pair(*token_to_push, newParseGeneration())); + mNameStack.push_back(std::make_pair(*token_to_push, true)); num_tokens_pushed++; } } @@ -704,7 +703,7 @@ bool LLXUIParser::readAttributes(LLXMLNodePtr nodep, LLInitParam::BaseBlock& blo // copy remaining tokens on to our running token list for(tokenizer::iterator token_to_push = name_tokens.begin(); token_to_push != name_tokens.end(); ++token_to_push) { - mNameStack.push_back(std::make_pair(*token_to_push, newParseGeneration())); + mNameStack.push_back(std::make_pair(*token_to_push, true)); num_tokens_pushed++; } @@ -728,7 +727,7 @@ void LLXUIParser::writeXUI(LLXMLNodePtr node, const LLInitParam::BaseBlock &bloc } // go from a stack of names to a specific XML node -LLXMLNodePtr LLXUIParser::getNode(const name_stack_t& stack) +LLXMLNodePtr LLXUIParser::getNode(name_stack_t& stack) { name_stack_t name_stack; for (name_stack_t::const_iterator it = stack.begin(); @@ -781,7 +780,7 @@ bool LLXUIParser::readFlag(Parser& parser, void* val_ptr) return self.mCurReadNode == DUMMY_NODE; } -bool LLXUIParser::writeFlag(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeFlag(Parser& parser, const void* val_ptr, name_stack_t& stack) { // just create node LLXUIParser& self = static_cast<LLXUIParser&>(parser); @@ -798,7 +797,7 @@ bool LLXUIParser::readBoolValue(Parser& parser, void* val_ptr) return success; } -bool LLXUIParser::writeBoolValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeBoolValue(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -817,7 +816,7 @@ bool LLXUIParser::readStringValue(Parser& parser, void* val_ptr) return true; } -bool LLXUIParser::writeStringValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeStringValue(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -855,7 +854,7 @@ bool LLXUIParser::readU8Value(Parser& parser, void* val_ptr) return self.mCurReadNode->getByteValue(1, (U8*)val_ptr); } -bool LLXUIParser::writeU8Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeU8Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -879,7 +878,7 @@ bool LLXUIParser::readS8Value(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeS8Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeS8Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -903,7 +902,7 @@ bool LLXUIParser::readU16Value(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeU16Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeU16Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -927,7 +926,7 @@ bool LLXUIParser::readS16Value(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeS16Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeS16Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -945,7 +944,7 @@ bool LLXUIParser::readU32Value(Parser& parser, void* val_ptr) return self.mCurReadNode->getUnsignedValue(1, (U32*)val_ptr); } -bool LLXUIParser::writeU32Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeU32Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -963,7 +962,7 @@ bool LLXUIParser::readS32Value(Parser& parser, void* val_ptr) return self.mCurReadNode->getIntValue(1, (S32*)val_ptr); } -bool LLXUIParser::writeS32Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeS32Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -981,7 +980,7 @@ bool LLXUIParser::readF32Value(Parser& parser, void* val_ptr) return self.mCurReadNode->getFloatValue(1, (F32*)val_ptr); } -bool LLXUIParser::writeF32Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeF32Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -999,7 +998,7 @@ bool LLXUIParser::readF64Value(Parser& parser, void* val_ptr) return self.mCurReadNode->getDoubleValue(1, (F64*)val_ptr); } -bool LLXUIParser::writeF64Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeF64Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -1023,7 +1022,7 @@ bool LLXUIParser::readColor4Value(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeColor4Value(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeColor4Value(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -1050,7 +1049,7 @@ bool LLXUIParser::readUIColorValue(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeUIColorValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeUIColorValue(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -1079,7 +1078,7 @@ bool LLXUIParser::readUUIDValue(Parser& parser, void* val_ptr) return false; } -bool LLXUIParser::writeUUIDValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeUUIDValue(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); LLXMLNodePtr node = self.getNode(stack); @@ -1098,7 +1097,7 @@ bool LLXUIParser::readSDValue(Parser& parser, void* val_ptr) return true; } -bool LLXUIParser::writeSDValue(Parser& parser, const void* val_ptr, const name_stack_t& stack) +bool LLXUIParser::writeSDValue(Parser& parser, const void* val_ptr, name_stack_t& stack) { LLXUIParser& self = static_cast<LLXUIParser&>(parser); @@ -1207,7 +1206,6 @@ const char* NO_VALUE_MARKER = "no_value"; LLSimpleXUIParser::LLSimpleXUIParser(LLSimpleXUIParser::element_start_callback_t element_cb) : Parser(sSimpleXUIReadFuncs, sSimpleXUIWriteFuncs, sSimpleXUIInspectFuncs), - mLastWriteGeneration(-1), mCurReadDepth(0), mElementCB(element_cb) { @@ -1338,7 +1336,7 @@ void LLSimpleXUIParser::startElement(const char *name, const char **atts) { // compound attribute if (child_name.find(".") == std::string::npos) { - mNameStack.push_back(std::make_pair(child_name, newParseGeneration())); + mNameStack.push_back(std::make_pair(child_name, true)); num_tokens_pushed++; mScope.push_back(child_name); } @@ -1365,7 +1363,7 @@ void LLSimpleXUIParser::startElement(const char *name, const char **atts) // copy remaining tokens on to our running token list for(tokenizer::iterator token_to_push = name_token_it; token_to_push != name_tokens.end(); ++token_to_push) { - mNameStack.push_back(std::make_pair(*token_to_push, newParseGeneration())); + mNameStack.push_back(std::make_pair(*token_to_push, true)); num_tokens_pushed++; } mScope.push_back(mNameStack.back().first); @@ -1398,7 +1396,7 @@ bool LLSimpleXUIParser::readAttributes(const char **atts) // copy remaining tokens on to our running token list for(tokenizer::iterator token_to_push = name_tokens.begin(); token_to_push != name_tokens.end(); ++token_to_push) { - mNameStack.push_back(std::make_pair(*token_to_push, newParseGeneration())); + mNameStack.push_back(std::make_pair(*token_to_push, true)); num_tokens_pushed++; } @@ -1420,7 +1418,7 @@ bool LLSimpleXUIParser::processText() LLStringUtil::trim(mTextContents); if (!mTextContents.empty()) { - mNameStack.push_back(std::make_pair(std::string("value"), newParseGeneration())); + mNameStack.push_back(std::make_pair(std::string("value"), true)); mCurAttributeValueBegin = mTextContents.c_str(); mOutputStack.back().first->submitValue(mNameStack, *this, mParseSilently); mNameStack.pop_back(); diff --git a/indra/llxuixml/llxuiparser.h b/indra/llxuixml/llxuiparser.h index 42a79b4100b..e0402523dae 100644 --- a/indra/llxuixml/llxuiparser.h +++ b/indra/llxuixml/llxuiparser.h @@ -133,23 +133,23 @@ LOG_CLASS(LLXUIParser); static bool readSDValue(Parser& parser, void* val_ptr); //writer helper functions - static bool writeFlag(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeBoolValue(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeStringValue(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeU8Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeS8Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeU16Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeS16Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeU32Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeS32Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeF32Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeF64Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeColor4Value(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeUIColorValue(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeUUIDValue(Parser& parser, const void* val_ptr, const name_stack_t&); - static bool writeSDValue(Parser& parser, const void* val_ptr, const name_stack_t&); - - LLXMLNodePtr getNode(const name_stack_t& stack); + static bool writeFlag(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeBoolValue(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeStringValue(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeU8Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeS8Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeU16Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeS16Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeU32Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeS32Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeF32Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeF64Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeColor4Value(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeUIColorValue(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeUUIDValue(Parser& parser, const void* val_ptr, name_stack_t&); + static bool writeSDValue(Parser& parser, const void* val_ptr, name_stack_t&); + + LLXMLNodePtr getNode(name_stack_t& stack); private: Parser::name_stack_t mNameStack; @@ -159,7 +159,6 @@ LOG_CLASS(LLXUIParser); typedef std::map<S32, LLXMLNodePtr> out_nodes_t; out_nodes_t mOutNodes; - S32 mLastWriteGeneration; LLXMLNodePtr mLastWrittenChild; S32 mCurReadDepth; std::string mCurFileName; @@ -226,7 +225,6 @@ LOG_CLASS(LLSimpleXUIParser); Parser::name_stack_t mNameStack; struct XML_ParserStruct* mParser; - S32 mLastWriteGeneration; LLXMLNodePtr mLastWrittenChild; S32 mCurReadDepth; std::string mCurFileName; diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index fa0b392f1b6..5077a0a596b 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -109,6 +109,7 @@ // Third party library includes #include <boost/bind.hpp> +#include <boost/foreach.hpp> #if LL_WINDOWS @@ -2041,42 +2042,37 @@ bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, llerrs << "Invalid settings location list" << llendl; } - for(LLInitParam::ParamIterator<SettingsGroup>::const_iterator it = mSettingsLocationList->groups.begin(), end_it = mSettingsLocationList->groups.end(); - it != end_it; - ++it) + BOOST_FOREACH(const SettingsGroup& group, mSettingsLocationList->groups) { // skip settings groups that aren't the one we requested - if (it->name() != location_key) continue; + if (group.name() != location_key) continue; - ELLPath path_index = (ELLPath)it->path_index(); + ELLPath path_index = (ELLPath)group.path_index(); if(path_index <= LL_PATH_NONE || path_index >= LL_PATH_LAST) { llerrs << "Out of range path index in app_settings/settings_files.xml" << llendl; return false; } - LLInitParam::ParamIterator<SettingsFile>::const_iterator file_it, end_file_it; - for (file_it = it->files.begin(), end_file_it = it->files.end(); - file_it != end_file_it; - ++file_it) + BOOST_FOREACH(const SettingsFile& file, group.files) { - llinfos << "Attempting to load settings for the group " << file_it->name() + llinfos << "Attempting to load settings for the group " << file.name() << " - from location " << location_key << llendl; - LLControlGroup* settings_group = LLControlGroup::getInstance(file_it->name); + LLControlGroup* settings_group = LLControlGroup::getInstance(file.name); if(!settings_group) { - llwarns << "No matching settings group for name " << file_it->name() << llendl; + llwarns << "No matching settings group for name " << file.name() << llendl; continue; } std::string full_settings_path; - if (file_it->file_name_setting.isProvided() - && gSavedSettings.controlExists(file_it->file_name_setting)) + if (file.file_name_setting.isProvided() + && gSavedSettings.controlExists(file.file_name_setting)) { // try to find filename stored in file_name_setting control - full_settings_path = gSavedSettings.getString(file_it->file_name_setting); + full_settings_path = gSavedSettings.getString(file.file_name_setting); if (full_settings_path.empty()) { continue; @@ -2090,16 +2086,16 @@ bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, else { // by default, use specified file name - full_settings_path = gDirUtilp->getExpandedFilename((ELLPath)path_index, file_it->file_name()); + full_settings_path = gDirUtilp->getExpandedFilename((ELLPath)path_index, file.file_name()); } - if(settings_group->loadFromFile(full_settings_path, set_defaults, file_it->persistent)) + if(settings_group->loadFromFile(full_settings_path, set_defaults, file.persistent)) { // success! llinfos << "Loaded settings file " << full_settings_path << llendl; } else { // failed to load - if(file_it->required) + if(file.required) { llerrs << "Error: Cannot load required settings file from: " << full_settings_path << llendl; return false; @@ -2122,20 +2118,15 @@ bool LLAppViewer::loadSettingsFromDirectory(const std::string& location_key, std::string LLAppViewer::getSettingsFilename(const std::string& location_key, const std::string& file) { - for(LLInitParam::ParamIterator<SettingsGroup>::const_iterator it = mSettingsLocationList->groups.begin(), end_it = mSettingsLocationList->groups.end(); - it != end_it; - ++it) + BOOST_FOREACH(const SettingsGroup& group, mSettingsLocationList->groups) { - if (it->name() == location_key) + if (group.name() == location_key) { - LLInitParam::ParamIterator<SettingsFile>::const_iterator file_it, end_file_it; - for (file_it = it->files.begin(), end_file_it = it->files.end(); - file_it != end_file_it; - ++file_it) + BOOST_FOREACH(const SettingsFile& settings_file, group.files) { - if (file_it->name() == file) + if (settings_file.name() == file) { - return file_it->file_name; + return settings_file.file_name; } } } -- GitLab From da3c7da7a585ea14a5a494ac7f36e7714bc86ab8 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 15:04:00 -0700 Subject: [PATCH 134/213] side toolbar buttons are now squares again --- indra/llui/lltoolbar.h | 4 ++-- indra/newview/skins/default/xui/en/widgets/toolbar.xml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 9e48dee608e..84fa7ec0df5 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -47,8 +47,8 @@ class LLToolBarButton : public LLButton public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { - Optional<LLUI::RangeS32> button_width; - Optional<S32> desired_height; + Optional<LLUI::RangeS32::Params> button_width; + Optional<S32> desired_height; Params() : button_width("button_width"), diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index d36b0150059..60e7c34d84c 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -33,9 +33,9 @@ image_pressed="PushButton_Press" image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" - desired_height="35" - button_width.min="35" - button_width.max="35" + desired_height="38" + button_width.min="38" + button_width.max="38" follows="left|top" label="" chrome="true" -- GitLab From 0526d673093b2279777dc8be5aae9cc33cb1c822 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 15:31:25 -0700 Subject: [PATCH 135/213] EXP-1312 FIX Floaters should appear in region not covered by toolbars moved floater snap region to middle of toolbars and constrained floaters to that snap region also made toybox floater pass all drag and drop events along to toolbar --- indra/llui/llfloater.cpp | 2 +- indra/newview/llfloatertoybox.cpp | 11 +++++++++++ indra/newview/llfloatertoybox.h | 5 +++++ indra/newview/skins/default/xui/en/main_view.xml | 7 ------- .../skins/default/xui/en/panel_toolbar_view.xml | 7 +++++++ 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index cc49238a0b4..cba14e21c30 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -2549,7 +2549,7 @@ void LLFloaterView::adjustToFitScreen(LLFloater* floater, BOOL allow_partial_out } // move window fully onscreen - if (floater->translateIntoRect( getLocalRect(), allow_partial_outside )) + if (floater->translateIntoRect( getSnapRect(), allow_partial_outside )) { floater->clearSnapTarget(); } diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index 609041803a4..fa600229110 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -120,5 +120,16 @@ void LLFloaterToybox::onBtnRestoreDefaults() LLToolBarView::loadDefaultToolbars(); } +BOOL LLFloaterToybox::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg) +{ + S32 local_x = x - mToolBar->getRect().mLeft; + S32 local_y = y - mToolBar->getRect().mBottom; + return mToolBar->handleDragAndDrop(local_x, local_y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg); +} + // eof diff --git a/indra/newview/llfloatertoybox.h b/indra/newview/llfloatertoybox.h index f7245506c59..f0a6cf1a8be 100644 --- a/indra/newview/llfloatertoybox.h +++ b/indra/newview/llfloatertoybox.h @@ -43,6 +43,11 @@ class LLFloaterToybox : public LLFloater // virtuals BOOL postBuild(); void draw(); + /*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg); protected: void onBtnRestoreDefaults(); diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 57baa7cdd39..96d070ae509 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -74,13 +74,6 @@ user_resize="false" name="hud container" width="500"> - <view top="0" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="floater_snap_region" - width="500"/> <panel follows="left|top" height="19" left="0" diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 03d45887d42..bc96bfbab58 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -55,6 +55,13 @@ mouse_opaque="false" height="100" width="100"> + <view top="0" + follows="all" + height="100" + left="0" + mouse_opaque="false" + name="floater_snap_region" + width="100"/> <panel bottom="100" follows="left|right|bottom" height="25" -- GitLab From fba3f5dfd6ab51debd97c2c0e635ddcad388bcfe Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 10 Oct 2011 15:44:31 -0700 Subject: [PATCH 136/213] Added picks command and icon. Changed toolbar button text layout to halign left. --- indra/newview/app_settings/commands.xml | 10 ++++ .../skins/default/textures/textures.xml | 45 +++++++++--------- .../default/textures/toolbar_icons/picks.png | Bin 0 -> 1368 bytes .../skins/default/xui/en/floater_toybox.xml | 1 + .../newview/skins/default/xui/en/strings.xml | 2 + .../skins/default/xui/en/widgets/toolbar.xml | 2 + 6 files changed, 38 insertions(+), 22 deletions(-) create mode 100644 indra/newview/skins/default/textures/toolbar_icons/picks.png diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index dab57d44bd3..f5581baa193 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -152,6 +152,16 @@ is_running_function="Floater.IsOpen" is_running_parameters="people" /> + <command name="picks" + available_in_toybox="true" + icon="Command_Picks_Icon" + label_ref="Command_Picks_Label" + tooltip_ref="Command_Picks_Tooltip" + execute_function="Floater.ToolbarToggle" + execute_parameters="picks" + is_running_function="Floater.IsOpen" + is_running_parameters="picks" + /> <command name="places" available_in_toybox="true" icon="Command_Places_Icon" diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 0e4b354e0d6..e7fb836f451 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -125,29 +125,30 @@ with the same filename but different name <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> - <texture name="Command_AboutLand_Icon" file_name="toolbar_icons/land.png" preload="true" /> - <texture name="Command_Appearance_Icon" file_name="toolbar_icons/appearance.png" preload="true" /> - <texture name="Command_Avatar_Icon" file_name="toolbar_icons/avatars.png" preload="true" /> - <texture name="Command_Build_Icon" file_name="toolbar_icons/build.png" preload="true" /> - <texture name="Command_Chat_Icon" file_name="toolbar_icons/chat.png" preload="true" /> - <texture name="Command_Compass_Icon" file_name="toolbar_icons/land.png" preload="true" /> + <texture name="Command_AboutLand_Icon" file_name="toolbar_icons/land.png" preload="true" /> + <texture name="Command_Appearance_Icon" file_name="toolbar_icons/appearance.png" preload="true" /> + <texture name="Command_Avatar_Icon" file_name="toolbar_icons/avatars.png" preload="true" /> + <texture name="Command_Build_Icon" file_name="toolbar_icons/build.png" preload="true" /> + <texture name="Command_Chat_Icon" file_name="toolbar_icons/chat.png" preload="true" /> + <texture name="Command_Compass_Icon" file_name="toolbar_icons/land.png" preload="true" /> <texture name="Command_Destinations_Icon" file_name="toolbar_icons/destinations.png" preload="true" /> - <texture name="Command_Gestures_Icon" file_name="toolbar_icons/gestures.png" preload="true" /> - <texture name="Command_HowTo_Icon" file_name="toolbar_icons/howto.png" preload="true" /> - <texture name="Command_Inventory_Icon" file_name="toolbar_icons/inventory.png" preload="true" /> - <texture name="Command_Map_Icon" file_name="toolbar_icons/map.png" preload="true" /> - <texture name="Command_Marketplace_Icon" file_name="toolbar_icons/marketplace.png" preload="true" /> - <texture name="Command_MiniMap_Icon" file_name="toolbar_icons/mini_map.png" preload="true" /> - <texture name="Command_Move_Icon" file_name="toolbar_icons/move.png" preload="true" /> - <texture name="Command_People_Icon" file_name="toolbar_icons/people.png" preload="true" /> - <texture name="Command_Places_Icon" file_name="toolbar_icons/places.png" preload="true" /> - <texture name="Command_Preferences_Icon" file_name="toolbar_icons/preferences.png" preload="true" /> - <texture name="Command_Profile_Icon" file_name="toolbar_icons/profile.png" preload="true" /> - <texture name="Command_Search_Icon" file_name="toolbar_icons/search.png" preload="true" /> - <texture name="Command_Snapshot_Icon" file_name="toolbar_icons/snapshot.png" preload="true" /> - <texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" /> - <texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" /> - <texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" /> + <texture name="Command_Gestures_Icon" file_name="toolbar_icons/gestures.png" preload="true" /> + <texture name="Command_HowTo_Icon" file_name="toolbar_icons/howto.png" preload="true" /> + <texture name="Command_Inventory_Icon" file_name="toolbar_icons/inventory.png" preload="true" /> + <texture name="Command_Map_Icon" file_name="toolbar_icons/map.png" preload="true" /> + <texture name="Command_Marketplace_Icon" file_name="toolbar_icons/marketplace.png" preload="true" /> + <texture name="Command_MiniMap_Icon" file_name="toolbar_icons/mini_map.png" preload="true" /> + <texture name="Command_Move_Icon" file_name="toolbar_icons/move.png" preload="true" /> + <texture name="Command_People_Icon" file_name="toolbar_icons/people.png" preload="true" /> + <texture name="Command_Picks_Icon" file_name="toolbar_icons/picks.png" preload="true" /> + <texture name="Command_Places_Icon" file_name="toolbar_icons/places.png" preload="true" /> + <texture name="Command_Preferences_Icon" file_name="toolbar_icons/preferences.png" preload="true" /> + <texture name="Command_Profile_Icon" file_name="toolbar_icons/profile.png" preload="true" /> + <texture name="Command_Search_Icon" file_name="toolbar_icons/search.png" preload="true" /> + <texture name="Command_Snapshot_Icon" file_name="toolbar_icons/snapshot.png" preload="true" /> + <texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" /> + <texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" /> + <texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/picks.png b/indra/newview/skins/default/textures/toolbar_icons/picks.png new file mode 100644 index 0000000000000000000000000000000000000000..4499bf562b5ce3fc093f253cad9e0ce09ff5cd11 GIT binary patch literal 1368 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xRe+5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40$*Ra!Fk2dfC2`Yennz|zM-Cher_(vUtrb6B|)hOXJA!b98y`3svneE zoL^d$42+L7Wte7Q*x|Pbq!8#DEB~TQV5B7Gxa237=BDPAc)Hjs0cG@3GE=OaOe{>? z+)SLEoQzD(EDQ~uoL$T;oSiM)T+K}_%q`4eW?<6`RPX9!>g?j`<Y;7Q=xX3-X71?X zXl!O?Y3XEQU}Or@>zP+vl9-pA3bQv8XfIT+GhV$`&PAz-CHX}m`T04p6cCV+Uy@&( zkzb(T9BiuKo0y!L2jYXG2jW|o)S}F?)D*X({9FZa_*!LRvESLv)Wpfi!o<+r$N=PT z3v)v^X9H7n0~Z$qS0@*szae^4$O$ujpkwqwi32IIz=VJ)5X6KheIN&(c~bL$Ii?7h zHP$CBabRFz?C^AP45_%4^ymM7duF4Al#~|3*2Wtm9ZMT#aCXdR`WUHD$2!U7I=h&| zafby`^78j9et&!Gy}$ndzpvll-@jk}?#|9h6DMBensWKjD)w&08sqeHb9gWPk>_nV zBBmd=hh<6I0!K|vO~d_le}6Gv{`2+q^~Lx1*Y9u3iC_{CFnMums&@NDnMaIA9-d&@ zo_E*E`ND$p^X>PuYsT#;c&M~MTxG%@o!w<`Z<#9WoNr%Wr<@_6ljHEEjaT|m;-lN! za=rfo9TBh6zVJnIk^}RBh$_xSGiS_*P-$S8A;Z*g!{5t`>j>Lw_FXSbciHhYH!M5f zw(<O2>*fF7+}!-{c)$Gjc{Y_nl4^V<H-p%8q%Ll}0JP)YzvGMzasODBEa7Yu6lwo+ zoOe>E*8~F|o_5n0YJYxwOy<}7YQf87DgUB(y@B%r!)4vxwr&Z^jmr;6%;^!CeY)XF z>YP;{cW|`0Hm>`{=o@|M$CXV657^f?R_3Zs5PR_SX>FIkqO#l0CQhD)8S)+cL0JNU d3<?JrwjEh*zU#}bU|><l;OXk;vd$@?2>|@G=$!xn literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 653788bd3c5..90b7e906a5d 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -74,6 +74,7 @@ image_color="ButtonImageColor" image_color_disabled="ButtonImageColor" flash_color="ButtonUnselectedFgColor" + halign="left" hover_glow_amount="0.15" display_pressed_state="false" /> </toolbar> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index f021fdd6a16..d12dda88be4 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3668,6 +3668,7 @@ Try enclosing path to the editor with double quotes. <string name="Command_MiniMap_Label">Mini-map</string> <string name="Command_Move_Label">Move</string> <string name="Command_People_Label">People</string> + <string name="Command_Picks_Label">Picks</string> <string name="Command_Places_Label">Places</string> <string name="Command_Preferences_Label">Preferences</string> <string name="Command_Profile_Label">Profile</string> @@ -3692,6 +3693,7 @@ Try enclosing path to the editor with double quotes. <string name="Command_MiniMap_Tooltip">Show nearby people</string> <string name="Command_Move_Tooltip">Moving your avatar</string> <string name="Command_People_Tooltip">Friends, groups, and nearby people</string> + <string name="Command_Picks_Tooltip">Favorite places</string> <string name="Command_Places_Tooltip">Places you've saved</string> <string name="Command_Preferences_Tooltip">Preferences</string> <string name="Command_Profile_Tooltip">Edit or view your profile</string> diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 60e7c34d84c..09967de7cc2 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -14,6 +14,7 @@ background_opaque="true"/> <button_icon_and_text imgoverlay_label_space="7" label_color_selected="White" + halign="left" image_pressed="PushButton_Press" image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" @@ -38,6 +39,7 @@ button_width.max="38" follows="left|top" label="" + halign="left" chrome="true" use_ellipses="true" auto_resize="true" -- GitLab From a07c3559b6d22ef62e8deab56780d74ac72501e1 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Mon, 10 Oct 2011 15:53:44 -0700 Subject: [PATCH 137/213] Mac build fix --- indra/llui/llsdparam.cpp | 9 ++++++--- indra/llui/llsdparam.h | 3 ++- indra/llxuixml/llinitparam.h | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index 83bed3e7456..da50c0ff399 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -66,7 +66,8 @@ bool LLParamSDParser::writeU32Param(LLParamSDParser::parser_t& parser, const voi LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); + parser_t::name_stack_range_t range(name_stack.begin(), name_stack.end()); + LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, range); sd_to_write.assign((S32)*((const U32*)val_ptr)); return true; @@ -77,7 +78,8 @@ bool LLParamSDParser::writeFlag(LLParamSDParser::parser_t& parser, const void* v LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); + parser_t::name_stack_range_t range(name_stack.begin(), name_stack.end()); + LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, range); return true; } @@ -324,6 +326,7 @@ namespace LLInitParam void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t name_stack, const BaseBlock* diff_block) const { // read from LLSD value and serialize out to parser (which could be LLSD, XUI, etc) - LLParamSDParserUtilities::readSDValues(boost::bind(&serializeElement, boost::ref(p), _1, _2), mValue); + Parser::name_stack_t stack; + LLParamSDParserUtilities::readSDValues(boost::bind(&serializeElement, boost::ref(p), _1, _2), mValue, stack); } } diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h index 265993ffb5b..784358d0389 100644 --- a/indra/llui/llsdparam.h +++ b/indra/llui/llsdparam.h @@ -62,7 +62,8 @@ typedef LLInitParam::Parser parser_t; LLParamSDParser& sdparser = static_cast<LLParamSDParser&>(parser); if (!sdparser.mWriteRootSD) return false; - LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, std::make_pair(name_stack.begin(), name_stack.end())); + LLInitParam::Parser::name_stack_range_t range(name_stack.begin(), name_stack.end()); + LLSD& sd_to_write = LLParamSDParserUtilities::getSDWriteNode(*sdparser.mWriteRootSD, range); sd_to_write.assign(*((const T*)val_ptr)); return true; diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 9245f588d95..06140d09319 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -960,7 +960,7 @@ namespace LLInitParam bool isProvided() const { return Param::anyProvided(); } - static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack, bool new_name) + static bool deserializeParam(Param& param, Parser& parser, const Parser::name_stack_range_t& name_stack_range, bool new_name) { self_t& typed_param = static_cast<self_t&>(param); value_t value; -- GitLab From 2d34dab6a3d3f4b8ad78aee941800fe8f5f27bd1 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 16:54:55 -0700 Subject: [PATCH 138/213] fixed toolbar serialization --- indra/llxuixml/llxuiparser.cpp | 26 ++++++++------------------ indra/llxuixml/llxuiparser.h | 2 +- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index 1bb550d98fa..aee8fa8d8f8 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -729,22 +729,11 @@ void LLXUIParser::writeXUI(LLXMLNodePtr node, const LLInitParam::BaseBlock &bloc // go from a stack of names to a specific XML node LLXMLNodePtr LLXUIParser::getNode(name_stack_t& stack) { - name_stack_t name_stack; - for (name_stack_t::const_iterator it = stack.begin(); - it != stack.end(); - ++it) - { - if (!it->first.empty()) - { - name_stack.push_back(*it); - } - } - LLXMLNodePtr out_node = mWriteRootNode; - name_stack_t::const_iterator next_it = name_stack.begin(); - for (name_stack_t::const_iterator it = name_stack.begin(); - it != name_stack.end(); + name_stack_t::iterator next_it = stack.begin(); + for (name_stack_t::iterator it = stack.begin(); + it != stack.end(); it = next_it) { ++next_it; @@ -753,17 +742,18 @@ LLXMLNodePtr LLXUIParser::getNode(name_stack_t& stack) continue; } - out_nodes_t::iterator found_it = mOutNodes.lower_bound(it->second); + out_nodes_t::iterator found_it = mOutNodes.find(it->first); // node with this name not yet written - if (found_it == mOutNodes.end() || mOutNodes.key_comp()(found_it->first, it->second)) + if (found_it == mOutNodes.end() || it->second) { // make an attribute if we are the last element on the name stack - bool is_attribute = next_it == name_stack.end(); + bool is_attribute = next_it == stack.end(); LLXMLNodePtr new_node = new LLXMLNode(it->first.c_str(), is_attribute); out_node->addChild(new_node); - mOutNodes.insert(found_it, std::make_pair(it->second, new_node)); + mOutNodes[it->first] = new_node; out_node = new_node; + it->second = false; } else { diff --git a/indra/llxuixml/llxuiparser.h b/indra/llxuixml/llxuiparser.h index e0402523dae..d7cd2569672 100644 --- a/indra/llxuixml/llxuiparser.h +++ b/indra/llxuixml/llxuiparser.h @@ -157,7 +157,7 @@ LOG_CLASS(LLXUIParser); // Root of the widget XML sub-tree, for example, "line_editor" LLXMLNodePtr mWriteRootNode; - typedef std::map<S32, LLXMLNodePtr> out_nodes_t; + typedef std::map<std::string, LLXMLNodePtr> out_nodes_t; out_nodes_t mOutNodes; LLXMLNodePtr mLastWrittenChild; S32 mCurReadDepth; -- GitLab From 068035959804d6a16a41ddb2ef62da00dceb2689 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 17:03:12 -0700 Subject: [PATCH 139/213] converted bad toolbars.xml file from error to warning --- indra/newview/lltoolbarview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 44b244f1636..a0e080b783a 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -152,7 +152,7 @@ bool LLToolBarView::loadToolbars(bool force_default) LLXMLNodePtr root; if(!LLXMLNode::parseFile(toolbar_file, root, NULL)) { - llerrs << "Unable to load toolbars from file: " << toolbar_file << llendl; + llwarns << "Unable to load toolbars from file: " << toolbar_file << llendl; return false; } if(!root->hasName("toolbars")) -- GitLab From fd03ae299bfaf83789e511912d99d204c0833e7f Mon Sep 17 00:00:00 2001 From: Leyla Farazha <leyla@lindenlab.com> Date: Mon, 10 Oct 2011 17:08:51 -0700 Subject: [PATCH 140/213] EXP-1274 Create floater for "Avatar Picker" content EXP-1299 Nearby Voice floater can't be closed by clicking the sidebar button again. EXP-1306 Prompt text to "Change your avatar" and "Destinations" floaters get pushed down one line when the floater dialog gets resized to minimum width --- indra/llui/llfloater.cpp | 21 +++++--- indra/llui/llfloater.h | 2 +- indra/llui/llresizehandle.cpp | 12 ----- indra/llui/llresizehandle.h | 7 +-- indra/newview/CMakeLists.txt | 2 + indra/newview/llcallfloater.cpp | 19 ++----- indra/newview/llcallfloater.h | 2 +- indra/newview/llfloateravatar.cpp | 54 +++++++++++++++++++ indra/newview/llfloateravatar.h | 43 +++++++++++++++ indra/newview/llfloaterdestinations.cpp | 1 + indra/newview/llnearbychatbar.cpp | 7 ++- indra/newview/llviewerfloaterreg.cpp | 3 +- .../skins/default/xui/en/floater_avatar.xml | 6 +-- .../default/xui/en/floater_destinations.xml | 5 +- 14 files changed, 132 insertions(+), 52 deletions(-) create mode 100644 indra/newview/llfloateravatar.cpp create mode 100644 indra/newview/llfloateravatar.h diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index c28bcc2ec9f..f85e46e28d8 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -459,15 +459,24 @@ void LLFloater::layoutResizeCtrls() mResizeHandle[3]->setRect(rect); } -void LLFloater::enableResizeCtrls(bool enable) +void LLFloater::enableResizeCtrls(bool enable, bool width, bool height) { + mResizeBar[LLResizeBar::LEFT]->setVisible(enable && width); + mResizeBar[LLResizeBar::LEFT]->setEnabled(enable && width); + + mResizeBar[LLResizeBar::TOP]->setVisible(enable && height); + mResizeBar[LLResizeBar::TOP]->setEnabled(enable && height); + + mResizeBar[LLResizeBar::RIGHT]->setVisible(enable && width); + mResizeBar[LLResizeBar::RIGHT]->setEnabled(enable && width); + + mResizeBar[LLResizeBar::BOTTOM]->setVisible(enable && height); + mResizeBar[LLResizeBar::BOTTOM]->setEnabled(enable && height); + for (S32 i = 0; i < 4; ++i) { - mResizeBar[i]->setVisible(enable); - mResizeBar[i]->setEnabled(enable); - - mResizeHandle[i]->setVisible(enable); - mResizeHandle[i]->setEnabled(enable); + mResizeHandle[i]->setVisible(enable && width && height); + mResizeHandle[i]->setEnabled(enable && width && height); } } diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 5aff542049c..af9665e599b 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -291,6 +291,7 @@ friend class LLMultiFloater; void updateTransparency(ETypeTransparency transparency_type); + void enableResizeCtrls(bool enable, bool width = true, bool height = true); protected: virtual void applySavedVariables(); @@ -340,7 +341,6 @@ friend class LLMultiFloater; BOOL offerClickToButton(S32 x, S32 y, MASK mask, EFloaterButton index); void addResizeCtrls(); void layoutResizeCtrls(); - void enableResizeCtrls(bool enable); void addDragHandle(); void layoutDragHandle(); // repair layout diff --git a/indra/llui/llresizehandle.cpp b/indra/llui/llresizehandle.cpp index 942e84eeb65..c3a51c36c94 100644 --- a/indra/llui/llresizehandle.cpp +++ b/indra/llui/llresizehandle.cpp @@ -55,8 +55,6 @@ LLResizeHandle::LLResizeHandle(const LLResizeHandle::Params& p) mImage( NULL ), mMinWidth( p.min_width ), mMinHeight( p.min_height ), - mMaxWidth(S32_MAX), - mMaxHeight(S32_MAX), mCorner( p.corner ) { if( RIGHT_BOTTOM == mCorner) @@ -179,11 +177,6 @@ BOOL LLResizeHandle::handleHover(S32 x, S32 y, MASK mask) new_width = mMinWidth; delta_x = x_multiple * (mMinWidth - orig_rect.getWidth()); } - else if (new_width > mMaxWidth) - { - new_width = mMaxWidth; - delta_x = x_multiple * (mMaxWidth - orig_rect.getWidth()); - } S32 new_height = orig_rect.getHeight() + y_multiple * delta_y; if( new_height < mMinHeight ) @@ -191,11 +184,6 @@ BOOL LLResizeHandle::handleHover(S32 x, S32 y, MASK mask) new_height = mMinHeight; delta_y = y_multiple * (mMinHeight - orig_rect.getHeight()); } - else if (new_height > mMaxHeight) - { - new_height = mMaxHeight; - delta_y = y_multiple * (mMaxHeight - orig_rect.getHeight()); - } switch( mCorner ) { diff --git a/indra/llui/llresizehandle.h b/indra/llui/llresizehandle.h index 5cfe3fb63c9..7541b9e6c06 100644 --- a/indra/llui/llresizehandle.h +++ b/indra/llui/llresizehandle.h @@ -55,10 +55,7 @@ class LLResizeHandle : public LLView virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); void setResizeLimits( S32 min_width, S32 min_height ) { mMinWidth = min_width; mMinHeight = min_height; } - - void setMaxWidth(S32 width) { mMaxWidth = width;} - void setMaxHeight(S32 height) { mMaxHeight = height;} - + private: BOOL pointInHandle( S32 x, S32 y ); @@ -69,9 +66,7 @@ class LLResizeHandle : public LLView LLCoordGL mLastMouseDir; LLPointer<LLUIImage> mImage; S32 mMinWidth; - S32 mMaxWidth; S32 mMinHeight; - S32 mMaxHeight; const ECorner mCorner; }; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 941cb6b9f9b..97ccfeac29e 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -168,6 +168,7 @@ set(viewer_SOURCE_FILES llfloaterabout.cpp llfloateranimpreview.cpp llfloaterauction.cpp + llfloateravatar.cpp llfloateravatarpicker.cpp llfloateravatartextures.cpp llfloaterbeacons.cpp @@ -733,6 +734,7 @@ set(viewer_HEADER_FILES llfloaterabout.h llfloateranimpreview.h llfloaterauction.h + llfloateravatar.h llfloateravatarpicker.h llfloateravatartextures.h llfloaterbeacons.h diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 945a760d059..4c6ddc8be77 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -44,7 +44,6 @@ #include "llparticipantlist.h" #include "llspeakers.h" #include "lltextutil.h" -#include "lltransientfloatermgr.h" #include "llviewercontrol.h" #include "llviewerdisplayname.h" #include "llviewerwindow.h" @@ -97,7 +96,7 @@ static void* create_non_avatar_caller(void*) LLVoiceChannel* LLCallFloater::sCurrentVoiceChannel = NULL; LLCallFloater::LLCallFloater(const LLSD& key) -: LLTransientDockableFloater(NULL, false, key) +: LLFloater(key) , mSpeakerManager(NULL) , mParticipants(NULL) , mAvatarList(NULL) @@ -113,10 +112,6 @@ LLCallFloater::LLCallFloater(const LLSD& key) mFactoryMap["non_avatar_caller"] = LLCallbackMap(create_non_avatar_caller, NULL); LLVoiceClient::instance().addObserver(this); - LLTransientFloaterMgr::getInstance()->addControlView(this); - - // force docked state since this floater doesn't save it between recreations - setDocked(true); // update the agent's name if display name setting change LLAvatarNameCache::addUseDisplayNamesCallback(boost::bind(&LLCallFloater::updateAgentModeratorState, this)); @@ -139,13 +134,11 @@ LLCallFloater::~LLCallFloater() { LLVoiceClient::getInstance()->removeObserver(this); } - LLTransientFloaterMgr::getInstance()->removeControlView(this); } // virtual BOOL LLCallFloater::postBuild() { - LLTransientDockableFloater::postBuild(); mAvatarList = getChild<LLAvatarList>("speakers_list"); mAvatarListRefreshConnection = mAvatarList->setRefreshCompleteCallback(boost::bind(&LLCallFloater::onAvatarListRefreshed, this)); @@ -154,12 +147,6 @@ BOOL LLCallFloater::postBuild() mNonAvatarCaller = findChild<LLNonAvatarCaller>("non_avatar_caller"); mNonAvatarCaller->setVisible(FALSE); - LLView *anchor_panel = LLBottomTray::getInstance()->getChild<LLView>("speak_flyout_btn"); - - setDockControl(new LLDockControl( - anchor_panel, this, - getDockTongue(), LLDockControl::TOP)); - initAgentData(); connectToChannel(LLVoiceChannel::getCurrentVoiceChannel()); @@ -204,13 +191,13 @@ void LLCallFloater::draw() if (mParticipants) mParticipants->updateRecentSpeakersOrder(); - LLTransientDockableFloater::draw(); + LLFloater::draw(); } // virtual void LLCallFloater::setFocus( BOOL b ) { - LLTransientDockableFloater::setFocus(b); + LLFloater::setFocus(b); // Force using active floater transparency (STORM-730). // We have to override setFocus() for LLCallFloater because selecting an item diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index 00a3f76e567..ea78cd53b70 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -52,7 +52,7 @@ class LLSpeakersDelayActionsStorage; * When the Resident is engaged in any chat except Nearby Chat, the Voice Control Panel * also provides a 'Leave Call' button to allow the Resident to leave that voice channel. */ -class LLCallFloater : public LLTransientDockableFloater, LLVoiceClientParticipantObserver +class LLCallFloater : public LLFloater, LLVoiceClientParticipantObserver { public: diff --git a/indra/newview/llfloateravatar.cpp b/indra/newview/llfloateravatar.cpp new file mode 100644 index 00000000000..bdc5b581a9f --- /dev/null +++ b/indra/newview/llfloateravatar.cpp @@ -0,0 +1,54 @@ +/** + * @file llfloateravatar.h + * @author Leyla Farazha + * @brief floater for the avatar changer + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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$ + */ + +/** + * Floater that appears when buying an object, giving a preview + * of its contents and their permissions. + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloateravatar.h" +#include "lluictrlfactory.h" + + +LLFloaterAvatar::LLFloaterAvatar(const LLSD& key) + : LLFloater(key) +{ +} + +LLFloaterAvatar::~LLFloaterAvatar() +{ +} + +BOOL LLFloaterAvatar::postBuild() +{ + enableResizeCtrls(true, true, false); + return TRUE; +} + + diff --git a/indra/newview/llfloateravatar.h b/indra/newview/llfloateravatar.h new file mode 100644 index 00000000000..cadc5e4028b --- /dev/null +++ b/indra/newview/llfloateravatar.h @@ -0,0 +1,43 @@ +/** + * @file llfloateravatar.h + * @author Leyla Farazha + * @brief floater for the avatar changer + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, 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_FLOATER_AVATAR_H +#define LL_FLOATER_AVATAR_H + +#include "llfloater.h" + +class LLFloaterAvatar: + public LLFloater +{ + friend class LLFloaterReg; +private: + LLFloaterAvatar(const LLSD& key); + /*virtual*/ ~LLFloaterAvatar(); + /*virtual*/ BOOL postBuild(); +}; + +#endif diff --git a/indra/newview/llfloaterdestinations.cpp b/indra/newview/llfloaterdestinations.cpp index 52d1f67c369..af21cb593ff 100644 --- a/indra/newview/llfloaterdestinations.cpp +++ b/indra/newview/llfloaterdestinations.cpp @@ -47,6 +47,7 @@ LLFloaterDestinations::~LLFloaterDestinations() BOOL LLFloaterDestinations::postBuild() { + enableResizeCtrls(true, true, false); return TRUE; } diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index cba4fafe42d..caa20b767c7 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -452,6 +452,8 @@ BOOL LLNearbyChatBar::postBuild() mExpandedHeight = getMinHeight() + EXPANDED_HEIGHT; + enableResizeCtrls(true, true, false); + return TRUE; } @@ -462,6 +464,7 @@ void LLNearbyChatBar::applyRectControl() { getChildView("nearby_chat")->setVisible(true); mExpandedHeight = getRect().getHeight(); + enableResizeCtrls(true); } } @@ -707,13 +710,13 @@ void LLNearbyChatBar::onToggleNearbyChatPanel() mExpandedHeight = getRect().getHeight(); nearby_chat->setVisible(FALSE); reshape(getRect().getWidth(), getMinHeight()); - mResizeHandle[0]->setMaxHeight(getMinHeight()); + enableResizeCtrls(true, true, false); } else { nearby_chat->setVisible(TRUE); reshape(getRect().getWidth(), mExpandedHeight); - mResizeHandle[0]->setMaxHeight(S32_MAX); + enableResizeCtrls(true); } } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b0daf9f3c26..619d74e7acc 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -37,6 +37,7 @@ #include "llfloaterabout.h" #include "llfloateranimpreview.h" #include "llfloaterauction.h" +#include "llfloateravatar.h" #include "llfloateravatarpicker.h" #include "llfloateravatartextures.h" #include "llfloaterbeacons.h" @@ -168,7 +169,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("about_land", "floater_about_land.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLand>); LLFloaterReg::add("appearance", "floater_my_appearance.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("auction", "floater_auction.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAuction>); - LLFloaterReg::add("avatar", "floater_avatar.xml", &LLFloaterReg::build<LLFloater>); + LLFloaterReg::add("avatar", "floater_avatar.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatar>); LLFloaterReg::add("avatar_picker", "floater_avatar_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarPicker>); LLFloaterReg::add("avatar_textures", "floater_avatar_textures.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarTextures>); diff --git a/indra/newview/skins/default/xui/en/floater_avatar.xml b/indra/newview/skins/default/xui/en/floater_avatar.xml index a0c1f4c0212..666aa2d1641 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar.xml @@ -3,11 +3,9 @@ legacy_header_height="225" can_minimize="true" can_close="true" - user_resize="true" can_resize="true" min_height="230" - min_width="455" - max_height="230" + min_width="445" height="230" layout="topleft" name="Avatar" @@ -19,7 +17,7 @@ <web_browser top="25" height="200" - width="435" + width="445" follows="all" name="avatar_picker_contents" trusted_content="true"/> diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml index 9dd9338f37d..669b7eb15ac 100644 --- a/indra/newview/skins/default/xui/en/floater_destinations.xml +++ b/indra/newview/skins/default/xui/en/floater_destinations.xml @@ -7,7 +7,6 @@ can_resize="true" min_height="230" min_width="525" - max_height="230" height="230" layout="topleft" name="Destinations" @@ -15,11 +14,11 @@ help_topic="destinations" save_rect="true" title="Destinations" - width="445"> + width="525"> <web_browser top="25" height="200" - width="435" + width="525" follows="all" name="destination_guide_contents" start_url="http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html" -- GitLab From 213985ca0d045252ad49d9d45f77d0727fa9008f Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Mon, 10 Oct 2011 17:29:04 -0700 Subject: [PATCH 141/213] EXP-1302 PARTIAL Make the Speak button work as a toolbar button First pass - no Push-To-Talk functionality. --- indra/newview/app_settings/commands.xml | 4 +-- indra/newview/llagent.cpp | 38 ++++++++++++++++++++++++- indra/newview/llagent.h | 16 ++++++++++- indra/newview/llbottomtray.cpp | 3 ++ 4 files changed, 57 insertions(+), 4 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index dab57d44bd3..139eabcae4d 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -207,11 +207,11 @@ icon="Command_Speak_Icon" label_ref="Command_Speak_Label" tooltip_ref="Command_Speak_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Agent.ToggleMicrophone" execute_parameters="speak" is_enabled_function="Agent.IsActionAllowed" is_enabled_parameters="speak" - is_running_function="Floater.IsOpen" + is_running_function="Agent.IsMicrophoneOn" is_running_parameters="speak" /> <command name="view" diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index ed29ac79609..8303a5942da 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -174,12 +174,43 @@ bool LLAgent::isActionAllowed(const LLSD& sdname) } else if (param == "speak") { - retval = true; + if ( gAgent.isVoiceConnected() ) + { + retval = true; + } + else + { + retval = false; + } } return retval; } +// static +void LLAgent::toggleMicrophone(const LLSD& name) +{ + gAgent.mMicrophoneOn = ! gAgent.mMicrophoneOn; + + if ( gAgent.mMicrophoneOn ) + { + LLFirstUse::speak(false); + + LLVoiceClient::getInstance()->inputUserControlState(true); + LLVoiceClient::getInstance()->inputUserControlState(false); + } + else + { + LLVoiceClient::getInstance()->inputUserControlState(false); + LLVoiceClient::getInstance()->inputUserControlState(true); + } +} + +// static +bool LLAgent::isMicrophoneOn(const LLSD& sdname) +{ + return gAgent.mMicrophoneOn; +} // ************************************************************ // Enabled this definition to compile a 'hacked' viewer that @@ -261,6 +292,9 @@ LLAgent::LLAgent() : mCurrentFidget(0), mFirstLogin(FALSE), mGenderChosen(FALSE), + + mVoiceConnected(false), + mMicrophoneOn(false), mAppearanceSerialNum(0), @@ -280,6 +314,8 @@ LLAgent::LLAgent() : LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback(boost::bind(&LLAgent::parcelChangedCallback)); LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsActionAllowed", boost::bind(&LLAgent::isActionAllowed, _2)); + LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Agent.ToggleMicrophone", boost::bind(&LLAgent::toggleMicrophone, _2)); + LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsMicrophoneOn", boost::bind(&LLAgent::isMicrophoneOn, _2)); } // Requires gSavedSettings to be initialized. diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 1775a0235cc..0355e68b6e5 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -282,7 +282,21 @@ class LLAgent : public LLOldEvents::LLObservable static void toggleFlying(); static bool enableFlying(); BOOL canFly(); // Does this parcel allow you to fly? - + + //-------------------------------------------------------------------- + // Voice + //-------------------------------------------------------------------- +public: + bool isVoiceConnected() const { return mVoiceConnected; } + void setVoiceConnected(const bool b) { mVoiceConnected = b; } + + static void toggleMicrophone(const LLSD& name); + static bool isMicrophoneOn(const LLSD& sdname); + +private: + bool mVoiceConnected; + bool mMicrophoneOn; + //-------------------------------------------------------------------- // Chat //-------------------------------------------------------------------- diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 98712f13348..af91702f9b8 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -387,6 +387,9 @@ void LLBottomTray::onChange(EStatusType status, const std::string &channelURI, b if (status != STATUS_JOINING && status!= STATUS_LEFT_CHANNEL) { bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); + + gAgent.setVoiceConnected(voice_status); + getChild<LLButton>("speak_flyout_btn")->setEnabled(voice_status); gMenuBarView->getChild<LLView>("Nearby Voice")->setEnabled(voice_status); if (voice_status) -- GitLab From 6a570a9bdc2660e4db87e8e7a65b724e1ad8d1b2 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 17:52:37 -0700 Subject: [PATCH 142/213] fixed icons moving when clicking on icon-only toolbars --- indra/llui/llbutton.cpp | 2 +- indra/llui/lltoolbar.cpp | 5 +++++ indra/llui/lltoolbar.h | 2 ++ indra/newview/skins/default/xui/en/widgets/toolbar.xml | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 68cb5164b61..ba3748a5736 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -1002,7 +1002,7 @@ void LLButton::resize(LLUIString label) if (mImageOverlay) { S32 overlay_width = mImageOverlay->getWidth(); - F32 scale_factor = getRect().getHeight() / (F32)mImageOverlay->getHeight(); + F32 scale_factor = (getRect().getHeight() - (mImageOverlayBottomPad + mImageOverlayTopPad)) / (F32)mImageOverlay->getHeight(); overlay_width = llround((F32)overlay_width * scale_factor); switch(mImageOverlayAlignment) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 6332b2674ad..5ba54edf1c7 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -852,3 +852,8 @@ void LLToolBarButton::onMouseCaptureLost() { mIsDragged = false; } + +void LLToolBarButton::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + LLButton::reshape(mWidthRange.clamp(width), height, called_from_parent); +} diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 84fa7ec0df5..a81a5fdb39e 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -62,6 +62,8 @@ class LLToolBarButton : public LLButton BOOL handleMouseDown(S32 x, S32 y, MASK mask); BOOL handleHover(S32 x, S32 y, MASK mask); + void reshape(S32 width, S32 height, BOOL called_from_parent = true); + void setCommandId(const LLCommandId& id) { mId = id; } void setStartDragCallback(tool_startdrag_callback_t cb) { mStartDragItemCallback = cb; } diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 09967de7cc2..be5dfaf18c8 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -31,6 +31,8 @@ flash_color="EmphasisColor"/> <button_icon pad_left="10" pad_right="10" + image_bottom_pad="10" + image_top_pad="10" image_pressed="PushButton_Press" image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" -- GitLab From 1478f22857c24f4f3ecfcf7a08fdd4d5392ee3e6 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 10 Oct 2011 18:00:24 -0700 Subject: [PATCH 143/213] EXP-1300 : Simplify and clean up of the DaD which now doesn't duplicate the dragged tool. --- indra/llui/llcommandmanager.h | 4 +- indra/llui/lltoolbar.cpp | 83 +++++++++++---------------------- indra/llui/lltoolbar.h | 12 ++--- indra/newview/lltoolbarview.cpp | 64 +++++++++++++++++++++---- indra/newview/lltoolbarview.h | 10 ++-- 5 files changed, 95 insertions(+), 78 deletions(-) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index fdad7cd1b5a..46e0fe6e69e 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -68,8 +68,8 @@ class LLCommandId mUUID = LLUUID::generateNewID(p.name); } - LLCommandId(const std::string& name, const LLUUID& uuid) - : mName(name), + LLCommandId(const LLUUID& uuid) + : mName(""), mUUID(uuid) { } diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 6332b2674ad..776e91b7e5b 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -114,8 +114,6 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) { mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_WITH_TEXT] = p.button_icon_and_text; mButtonParams[LLToolBarEnums::BTNTYPE_ICONS_ONLY] = p.button_icon; - mDraggedCommand = LLCommandId::null; - mRank = 0; } LLToolBar::~LLToolBar() @@ -211,19 +209,14 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) // Create the button and do the things that don't need ordering LLToolBarButton* button = createButton(commandId); mButtonPanel->addChild(button); - LLCommandId temp_command = commandId; - if (commandId.name() == "Drag Tool") - { - temp_command = LLCommandId("Drag Tool"); - } - mButtonMap.insert(std::make_pair(temp_command.uuid(), button)); + mButtonMap.insert(std::make_pair(commandId.uuid(), button)); // Insert the command and button in the right place in their respective lists - if ((rank >= mButtonCommands.size()) || (rank < 0)) + if ((rank >= mButtonCommands.size()) || (rank == RANK_NONE)) { // In that case, back load - mButtonCommands.push_back(temp_command); + mButtonCommands.push_back(commandId); mButtons.push_back(button); } else @@ -238,7 +231,7 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) rank--; } // ...then insert - mButtonCommands.insert(it_command,temp_command); + mButtonCommands.insert(it_command,commandId); mButtons.insert(it_button,button); } @@ -247,27 +240,28 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) return true; } -bool LLToolBar::removeCommand(const LLCommandId& commandId) +// Remove a command from the list +// Returns the rank of the command in the original list so that doing addCommand(id,rank) right after +// a removeCommand(id) would leave the list unchanged. +// Returns RANK_NONE if the command is not found in the list +int LLToolBar::removeCommand(const LLCommandId& commandId) { - if (!hasCommand(commandId)) return false; + if (!hasCommand(commandId)) return RANK_NONE; llinfos << "Merov debug : removeCommand, " << commandId.name() << ", " << commandId.uuid() << llendl; // First erase the map record - LLCommandId temp_command = commandId; - if (commandId.name() == "Drag Tool") - { - temp_command = LLCommandId("Drag Tool"); - } - command_id_map::iterator it = mButtonMap.find(temp_command.uuid()); + command_id_map::iterator it = mButtonMap.find(commandId.uuid()); mButtonMap.erase(it); // Now iterate on the commands and buttons to identify the relevant records + int rank = 0; std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); command_id_list_t::iterator it_command = mButtonCommands.begin(); - while (*it_command != temp_command) + while (*it_command != commandId) { ++it_button; ++it_command; + ++rank; } // Delete the button and erase the command and button records @@ -277,7 +271,7 @@ bool LLToolBar::removeCommand(const LLCommandId& commandId) mNeedsLayout = true; - return true; + return rank; } void LLToolBar::clearCommandsList() @@ -292,12 +286,7 @@ bool LLToolBar::hasCommand(const LLCommandId& commandId) const { if (commandId != LLCommandId::null) { - LLCommandId temp_command = commandId; - if (commandId.name() == "Drag Tool") - { - temp_command = LLCommandId("Drag Tool"); - } - command_id_map::const_iterator it = mButtonMap.find(temp_command.uuid()); + command_id_map::const_iterator it = mButtonMap.find(commandId.uuid()); return (it != mButtonMap.end()); } @@ -310,12 +299,7 @@ bool LLToolBar::enableCommand(const LLCommandId& commandId, bool enabled) if (commandId != LLCommandId::null) { - LLCommandId temp_command = commandId; - if (commandId.name() == "Drag Tool") - { - temp_command = LLCommandId("Drag Tool"); - } - command_id_map::iterator it = mButtonMap.find(temp_command.uuid()); + command_id_map::iterator it = mButtonMap.find(commandId.uuid()); if (it != mButtonMap.end()) { it->second->setEnabled(enabled); @@ -410,6 +394,10 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row } } +// Returns the position of the coordinates as a rank in the button list. +// The rank is the position a tool dropped in (x,y) would assume in the button list. +// The value returned is between 0 and mButtons.size(), 0 being the first element to the left +// (or top) and mButtons.size() the last one to the right (or bottom). int LLToolBar::getRankFromPosition(S32 x, S32 y) { int rank = 0; @@ -618,12 +606,6 @@ void LLToolBar::draw() } } } - // HACK!!! - if (!mDragAndDropTarget) - { - removeCommand(mDraggedCommand); - mDraggedCommand = LLCommandId::null; - } updateLayoutAsNeeded(); // rect may have shifted during layout @@ -654,12 +636,7 @@ void LLToolBar::createButtons() LLToolBarButton* button = createButton(command_id); mButtons.push_back(button); mButtonPanel->addChild(button); - LLCommandId temp_command = command_id; - if (command_id.name() == "Drag Tool") - { - temp_command = LLCommandId("Drag Tool"); - } - mButtonMap.insert(std::make_pair(temp_command.uuid(), button)); + mButtonMap.insert(std::make_pair(command_id.uuid(), button)); } mNeedsLayout = true; } @@ -736,7 +713,7 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EAcceptance* accept, std::string& tooltip_msg) { - //llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; + llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; // If we have a drop callback, that means that we can handle the drop BOOL handled = (mHandleDropCallback ? TRUE : FALSE); @@ -761,19 +738,13 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - mRank = getRankFromPosition(x, y); - mDraggedCommand = LLCommandId("Drag Tool",inv_item->getUUID()); - removeCommand(mDraggedCommand); - addCommand(mDraggedCommand,mRank); + LLCommandId dragged_command(inv_item->getUUID()); + int rank = getRankFromPosition(x, y); + removeCommand(dragged_command); + addCommand(dragged_command,rank); mDragAndDropTarget = true; } } - else - { - removeCommand(mDraggedCommand); - mDraggedCommand = LLCommandId::null; - } - } return handled; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 84fa7ec0df5..56bc8b9bb3c 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -47,8 +47,8 @@ class LLToolBarButton : public LLButton public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { - Optional<LLUI::RangeS32::Params> button_width; - Optional<S32> desired_height; + Optional<LLUI::RangeS32> button_width; + Optional<S32> desired_height; Params() : button_width("button_width"), @@ -161,9 +161,11 @@ class LLToolBar void* cargo_data, EAcceptance* accept, std::string& tooltip_msg); + + static const int RANK_NONE = -1; - bool addCommand(const LLCommandId& commandId, int rank = -1); - bool removeCommand(const LLCommandId& commandId); + bool addCommand(const LLCommandId& commandId, int rank = RANK_NONE); + int removeCommand(const LLCommandId& commandId); // Returns the rank the removed command was at, RANK_NONE if not found bool hasCommand(const LLCommandId& commandId) const; bool enableCommand(const LLCommandId& commandId, bool enabled); @@ -184,8 +186,6 @@ class LLToolBar tool_handledrag_callback_t mHandleDragItemCallback; tool_handledrop_callback_t mHandleDropCallback; bool mDragAndDropTarget; - int mRank; - LLCommandId mDraggedCommand; public: // Methods used in loading and saving toolbar settings diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 44b244f1636..8273d1491da 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -41,7 +41,6 @@ LLToolBarView* gToolBarView = NULL; static LLDefaultChildRegistry::Register<LLToolBarView> r("toolbar_view"); -bool LLToolBarView::sDragStarted = false; bool isToolDragged() { @@ -331,18 +330,25 @@ void LLToolBarView::draw() void LLToolBarView::startDragTool( S32 x, S32 y, const LLUUID& uuid) { - //llinfos << "Merov debug: startDragTool() : x = " << x << ", y = " << y << llendl; + llinfos << "Merov debug: startDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; + // Flag the tool dragging but don't start it yet + gToolBarView->mDragStarted = false; + gToolBarView->mDragCommand = LLCommandId::null; + gToolBarView->mDragRank = LLToolBar::RANK_NONE; + gToolBarView->mDragToolbar = NULL; LLToolDragAndDrop::getInstance()->setDragStart( x, y ); - sDragStarted = false; } BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type) { -// llinfos << "Merov debug: handleDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; if (LLToolDragAndDrop::getInstance()->isOverThreshold( x, y )) { - if (!sDragStarted) + if (!gToolBarView->mDragStarted) { + llinfos << "Merov debug: handleDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; + // Start the tool dragging: + + // First, create the global drag and drop object std::vector<EDragAndDropType> types; uuid_vec_t cargo_ids; types.push_back(DAD_WIDGET); @@ -350,9 +356,35 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp gClipboard.setSourceObject(uuid,LLAssetType::AT_WIDGET); LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; LLUUID srcID; - //llinfos << "Merov debug: handleDragTool() : beginMultiDrag()" << llendl; LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); - sDragStarted = true; + llinfos << "Merov debug: beginMultiDrag() launched" << llendl; + + // Second, check if the command is present in one of the 3 toolbars + // If it is, store the command, the toolbar and the rank in the toolbar and + // set a callback on end drag so that we reinsert the command if no drop happened + /* + gToolBarView->mDragCommand = LLCommandId(uuid); + if ((gToolBarView->mDragRank = gToolBarView->mToolbarLeft->removeCommand(gToolBarView->mDragCommand)) != LLToolBar::RANK_NONE) + { + gToolBarView->mDragToolbar = gToolBarView->mToolbarLeft; + } + else if ((gToolBarView->mDragRank = gToolBarView->mToolbarRight->removeCommand(gToolBarView->mDragCommand)) != LLToolBar::RANK_NONE) + { + gToolBarView->mDragToolbar = gToolBarView->mToolbarRight; + } + else if ((gToolBarView->mDragRank = gToolBarView->mToolbarBottom->removeCommand(gToolBarView->mDragCommand)) != LLToolBar::RANK_NONE) + { + gToolBarView->mDragToolbar = gToolBarView->mToolbarBottom; + } + if (gToolBarView->mDragRank != LLToolBar::RANK_NONE) + { + llinfos << "Merov debug: rank of dragged tool = " << gToolBarView->mDragRank << llendl; + LLToolDragAndDrop::getInstance()->setEndDragCallback(boost::bind(&LLToolBarView::onEndDrag, gToolBarView)); + } + */ + + llinfos << "Merov debug: Drag started cleanly" << llendl; + gToolBarView->mDragStarted = true; return TRUE; } else @@ -375,7 +407,7 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t //llinfos << "Merov debug : handleDropTool. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); - LLCommandId command_id("",inv_item->getUUID()); + LLCommandId command_id(inv_item->getUUID()); LLCommand* command = mgr.getCommand(command_id); if (command) { @@ -408,5 +440,19 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t void LLToolBarView::stopDragTool() { - sDragStarted = false; + // Clear the saved command, toolbar and rank + gToolBarView->mDragStarted = false; + gToolBarView->mDragCommand = LLCommandId::null; + gToolBarView->mDragRank = LLToolBar::RANK_NONE; + gToolBarView->mDragToolbar = NULL; } + +void LLToolBarView::onEndDrag() +{ + // If there's a saved command, reinsert it in the saved toolbar + if (gToolBarView->mDragRank != LLToolBar::RANK_NONE) + { + gToolBarView->mDragToolbar->addCommand(gToolBarView->mDragCommand,gToolBarView->mDragRank); + } + stopDragTool(); +} \ No newline at end of file diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index a0c526ac541..6623e63f8a9 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -78,6 +78,7 @@ class LLToolBarView : public LLUICtrl static BOOL handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type); static BOOL handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar); static void stopDragTool(); + void onEndDrag(); protected: friend class LLUICtrlFactory; @@ -94,12 +95,11 @@ class LLToolBarView : public LLUICtrl LLToolBar* mToolbarLeft; LLToolBar* mToolbarRight; LLToolBar* mToolbarBottom; - bool mDragging; - LLToolBarButton* mDragButton; - S32 mMouseX; - S32 mMouseY; - static bool sDragStarted; + LLCommandId mDragCommand; + int mDragRank; + LLToolBar* mDragToolbar; + bool mDragStarted; }; extern LLToolBarView* gToolBarView; -- GitLab From 71879916428e9e15081d73696f46bb4a32877265 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Mon, 10 Oct 2011 19:03:40 -0700 Subject: [PATCH 144/213] EXP-1300 : Add the caret images and xml (no code yet) --- .../skins/default/textures/textures.xml | 3 ++ .../textures/toolbar_icons/caret_bottom.png | Bin 0 -> 139 bytes .../textures/toolbar_icons/caret_left.png | Bin 0 -> 893 bytes .../textures/toolbar_icons/caret_right.png | Bin 0 -> 892 bytes .../default/xui/en/panel_toolbar_view.xml | 30 ++++++++++++++++++ 5 files changed, 33 insertions(+) create mode 100644 indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/caret_left.png create mode 100644 indra/newview/skins/default/textures/toolbar_icons/caret_right.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index e7fb836f451..27577d42ea2 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -149,6 +149,9 @@ with the same filename but different name <texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" /> <texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" /> <texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" /> + <texture name="Caret_Bottom_Icon" file_name="toolbar_icons/caret_bottom.png" preload="true" /> + <texture name="Caret_Right_Icon" file_name="toolbar_icons/caret_right.png" preload="true" /> + <texture name="Caret_Left_Icon" file_name="toolbar_icons/caret_left.png" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png b/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..82f58b22b916f6506333a7a3d735e6601ebc29ba GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c73q4qIEGZ*N=ivc;7B~cDDnUQ|NZjIRXPqVYnV9k;zYq? lj$sUw4j8cAWockwW?*~He=+BAp&d{ogQu&X%Q~loCIF_>ESLZQ literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_left.png b/indra/newview/skins/default/textures/toolbar_icons/caret_left.png new file mode 100644 index 0000000000000000000000000000000000000000..75eecc84ed59f09d2e3fc8ba42ac9d38f4a071ec GIT binary patch literal 893 zcmV-@1A_dCP)<h;3K|Lk000e1NJLTq000F5000LF1^@s6z^8}q0008+X+uL$Nkc;* zP;zf(X>4Tx0C)j~RL^S@K@|QrZmG~B2wH0nvUrdpNm;9CMbtL^5n^i$+aI<?kYqDS z)^0ZI?k2URh~(nYD&9ryp$Gqf9(wR(FG_`4MJV2@C}N=(E%D86Otz)!z|Ma2-Z$@k zZ+71R4RX>n^?(HA4aZWV5ov6ELTdbo0FI&wK{O>*+w4vx20?>!`FrQsdJlnHR>OPy zcd~b_n$otK2Za4V;76L-DzNVtaSB-y0*E}{p()372;bw_^6ZZ}PI-92wGS&j#91PI zKs7DSe@(bk%_Y-7gGe}(^>I=@oY#w#*Bu9GZf3^F5WP>3rn}7Ut74&?PWBFvy`A)a zPP5)V!Xd&78LdA?xQ(9mjMYElVd13a#D+Z_7&Y|xU=_C-srWU*6kiZcC!$nw*)9$7 zn6CX+@=AhmkT}X@VSsa5NKe;HZuq)~1$`#h6R+ZTR#D-3j}vF!)ZOnz+5)dI4jl{{ z44Mr{P!L4~VVJN`K!!XTF*LGrKO?IK8<Tr7btG!LbYeuYL3=jbJ-1P$-8}v%B5{;M zwFr{@LH;VQ$xr2Z`O93e*jD$Ht(%&<^58qg<(at}9@o>z<8w`3e3jI8lUGNUta*C8 zn(P`s>{pjD=7Kek#B;Fw@hxAK%$F&Q6vg9J^Xf~4by_hu-=A!MJ3Znq&n~srbFGPs zH&&aMXZ>nO`|hf|ljc?VPhR!${AbO?W8x_>CU%PFA&Hm8F7cAsOREdwU~R_;ot1_u z(ruCYB-LPGn!NQdT|ZlRy+(fw^-+`=%+gee_kY4FWHg<*4sZI8+sFJD<oAl_pC|$^ zY~aY5x@}W&?+~G7rEYVs0vEs0eekw!YomTR`~+A$s}`+NHJ>270UUORdLHO0nA4V) z%{fwsET5CQ>B?eK%uw4yQc~9?*JVo<vzb+5>2}ze(;aRcp*ceL#HUJSllrgm5wQKR zQu+C;QrUh^8rFfA`ftFz{YAidi-`aL010qNS#tmY3ljhU3ljkVnw%H_001>fL_t&t z9b@?a|33o~-p|0m5W)l`U;rcl1~5Um07w)hh#~+JbObSw0ZcoJ1WXX55H0}#0A&yq TowZe$00000NkvXXu0mjfK?R%x literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_right.png b/indra/newview/skins/default/textures/toolbar_icons/caret_right.png new file mode 100644 index 0000000000000000000000000000000000000000..677459ae1c4d6f6543f094ac0b109ffcbcb95b92 GIT binary patch literal 892 zcmV-?1B3jDP)<h;3K|Lk000e1NJLTq000F5000LF1^@s6z^8}q0008+X+uL$Nkc;* zP;zf(X>4Tx0C)j~RL^S@K@|QrZmG~B2wH0nvUrdpNm;9CMbtL^5n^i$+aI<?kYqDS z)^0ZI?k2URh~(nYD&9ryp$Gqf9(wR(FG_`4MJV2@C}N=(E%D86Otz)!z|Ma2-Z$@k zZ+71R4RX>n^?(HA4aZWV5ov6ELTdbo0FI&wK{O>*+w4vx20?>!`FrQsdJlnHR>OPy zcd~b_n$otK2Za4V;76L-DzNVtaSB-y0*E}{p()372;bw_^6ZZ}PI-92wGS&j#91PI zKs7DSe@(bk%_Y-7gGe}(^>I=@oY#w#*Bu9GZf3^F5WP>3rn}7Ut74&?PWBFvy`A)a zPP5)V!Xd&78LdA?xQ(9mjMYElVd13a#D+Z_7&Y|xU=_C-srWU*6kiZcC!$nw*)9$7 zn6CX+@=AhmkT}X@VSsa5NKe;HZuq)~1$`#h6R+ZTR#D-3j}vF!)ZOnz+5)dI4jl{{ z44Mr{P!L4~VVJN`K!!XTF*LGrKO?IK8<Tr7btG!LbYeuYL3=jbJ-1P$-8}v%B5{;M zwFr{@LH;VQ$xr2Z`O93e*jD$Ht(%&<^58qg<(at}9@o>z<8w`3e3jI8lUGNUta*C8 zn(P`s>{pjD=7Kek#B;Fw@hxAK%$F&Q6vg9J^Xf~4by_hu-=A!MJ3Znq&n~srbFGPs zH&&aMXZ>nO`|hf|ljc?VPhR!${AbO?W8x_>CU%PFA&Hm8F7cAsOREdwU~R_;ot1_u z(ruCYB-LPGn!NQdT|ZlRy+(fw^-+`=%+gee_kY4FWHg<*4sZI8+sFJD<oAl_pC|$^ zY~aY5x@}W&?+~G7rEYVs0vEs0eekw!YomTR`~+A$s}`+NHJ>270UUORdLHO0nA4V) z%{fwsET5CQ>B?eK%uw4yQc~9?*JVo<vzb+5>2}ze(;aRcp*ceL#HUJSllrgm5wQKR zQu+C;QrUh^8rFfA`ftFz{YAidi-`aL010qNS#tmY3ljhU3ljkVnw%H_001;eL_t&t z9b;f%U<mpD|Nnj<W`JQPpdbwFhcS=^L1JJDbV0BLHbF;pK}V2MWI?b1NDu(Sz7P~J SXa6|>0000<MNUMnLSTX@x1X#4 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index bc96bfbab58..5d6967ed32a 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -47,6 +47,16 @@ bottom="-10" side="left" button_display_mode="icons_only"> + <icon layout="topleft" + height="7" + width="5" + follows="left|top" + top="20" + left="10" + tab_stop="false" + visible="false" + image_name="Caret_Left_Icon" + name="caret" /> </toolbar> </layout_panel> <layout_panel name="non_toolbar_panel" @@ -88,6 +98,16 @@ bottom="-10" side="right" button_display_mode="icons_only"> + <icon layout="topleft" + height="7" + width="5" + follows="left|top" + top="20" + left="10" + tab_stop="false" + visible="false" + image_name="Caret_Right_Icon" + name="caret" /> </toolbar> </layout_panel> </layout_stack> @@ -109,6 +129,16 @@ follows="left|right|bottom" button_display_mode="icons_with_text" visible="true"> + <icon layout="topleft" + height="5" + width="7" + follows="left|top" + top="20" + left="10" + tab_stop="false" + visible="false" + image_name="Caret_Bottom_Icon" + name="caret" /> </toolbar> </layout_panel> </layout_stack> -- GitLab From ec23ec68ea8835e4155e083ec5570245b0aef1ec Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 19:17:38 -0700 Subject: [PATCH 145/213] EXP-1310 FIX Profile button should open Web Profile floater removed unused LLWeb functions for opening non-web media moved logic inside floaters and away from auxiliary functions --- indra/llui/llfloaterreg.cpp | 6 +++- indra/llui/llhelp.h | 1 + indra/newview/app_settings/commands.xml | 6 ++-- indra/newview/llavataractions.cpp | 19 ++++++++---- indra/newview/llavataractions.h | 3 +- indra/newview/llfloaterhelpbrowser.cpp | 17 +++++++---- indra/newview/llfloaterhelpbrowser.h | 2 -- indra/newview/llfloaterwebcontent.cpp | 39 ++++++++++--------------- indra/newview/llmediactrl.cpp | 11 +------ indra/newview/llpanelprofile.cpp | 2 +- indra/newview/llviewerfloaterreg.cpp | 4 +-- indra/newview/llviewerhelp.cpp | 37 +++++------------------ indra/newview/llviewerhelp.h | 6 ++-- indra/newview/llviewermenu.cpp | 32 +++++++++++++++++++- indra/newview/llweb.cpp | 4 ++- indra/newview/llweb.h | 10 +++---- 16 files changed, 103 insertions(+), 96 deletions(-) diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index d0ae9413a33..ae06eb74ac5 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -110,7 +110,11 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key) int index = list.size(); res = build_func(key); - + if (!res) + { + llwarns << "Failed to build floater type: '" << name << "'." << llendl; + return NULL; + } bool success = res->buildFromFile(xui_file, NULL); if (!success) { diff --git a/indra/llui/llhelp.h b/indra/llui/llhelp.h index 83317bd03c8..1726347a783 100644 --- a/indra/llui/llhelp.h +++ b/indra/llui/llhelp.h @@ -32,6 +32,7 @@ class LLHelp { public: virtual void showTopic(const std::string &topic) = 0; + virtual std::string getURL(const std::string &topic) = 0; // return default (fallback) topic name suitable for showTopic() virtual std::string defaultTopic() = 0; // return topic to use before the user logs in diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 881bc221448..d758647d3a7 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -187,10 +187,8 @@ icon="Command_Profile_Icon" label_ref="Command_Profile_Label" tooltip_ref="Command_Profile_Tooltip" - execute_function="Floater.ToolbarToggle" - execute_parameters="my_profile" - is_running_function="Floater.IsOpen" - is_running_parameters="my_profile" + execute_function="Avatar.ToggleMyProfile" + is_running_function="Avatar.IsMyProfileOpen" /> <command name="search" available_in_toybox="true" diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index b14c02a5d6d..b54f6229864 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -316,12 +316,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::create(LLFloaterWebContent::Params(). - url(url). - id(agent_id.asString()). - show_chrome(show_chrome). - window_class("profile"). - preferred_media_size(profile_rect)); + 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); } // static @@ -342,6 +343,12 @@ bool LLAvatarActions::profileVisible(const LLUUID& id) return browser && browser->isShown(); } +//static +LLFloater* LLAvatarActions::getProfileFloater(const LLUUID& id) +{ + LLFloaterWebContent *browser = dynamic_cast<LLFloaterWebContent*> (LLFloaterReg::findInstance("profile", LLSD().with("id", id))); + return browser; +} //static void LLAvatarActions::hideProfile(const LLUUID& id) diff --git a/indra/newview/llavataractions.h b/indra/newview/llavataractions.h index fbfd815f411..748b7cb3d19 100644 --- a/indra/newview/llavataractions.h +++ b/indra/newview/llavataractions.h @@ -35,7 +35,7 @@ #include <vector> class LLInventoryPanel; - +class LLFloater; /** * Friend-related actions (add, remove, offer teleport, etc) @@ -96,6 +96,7 @@ class LLAvatarActions static void showProfile(const LLUUID& id); static void hideProfile(const LLUUID& id); static bool profileVisible(const LLUUID& id); + static LLFloater* getProfileFloater(const LLUUID& id); /** * Show avatar on world map. diff --git a/indra/newview/llfloaterhelpbrowser.cpp b/indra/newview/llfloaterhelpbrowser.cpp index 3012638d44e..fd9c37ae732 100644 --- a/indra/newview/llfloaterhelpbrowser.cpp +++ b/indra/newview/llfloaterhelpbrowser.cpp @@ -39,6 +39,7 @@ #include "llurlhistory.h" #include "llmediactrl.h" #include "llviewermedia.h" +#include "llviewerhelp.h" LLFloaterHelpBrowser::LLFloaterHelpBrowser(const LLSD& key) @@ -74,6 +75,17 @@ void LLFloaterHelpBrowser::buildURLHistory() void LLFloaterHelpBrowser::onOpen(const LLSD& key) { gSavedSettings.setBOOL("HelpFloaterOpen", TRUE); + + std::string topic = key.asString(); + + if (topic == "__local") + { + mBrowser->navigateToLocalPage( "help-offline" , "index.html" ); + } + else + { + mBrowser->navigateTo(LLViewerHelp::instance().getURL(topic)); + } } //virtual @@ -148,8 +160,3 @@ void LLFloaterHelpBrowser::openMedia(const std::string& media_url) mBrowser->navigateTo(media_url, "text/html"); setCurrentURL(media_url); } - -void LLFloaterHelpBrowser::navigateToLocalPage( const std::string& subdir, const std::string& filename_in ) -{ - mBrowser->navigateToLocalPage(subdir, filename_in); -} diff --git a/indra/newview/llfloaterhelpbrowser.h b/indra/newview/llfloaterhelpbrowser.h index afe0f4df690..80b0ecc06b3 100644 --- a/indra/newview/llfloaterhelpbrowser.h +++ b/indra/newview/llfloaterhelpbrowser.h @@ -48,8 +48,6 @@ class LLFloaterHelpBrowser : /*virtual*/ void handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event); void openMedia(const std::string& media_url); - - void navigateToLocalPage( const std::string& subdir, const std::string& filename_in ); private: void buildURLHistory(); diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index 2c9a736aff2..c76aeb0498a 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -88,20 +88,6 @@ BOOL LLFloaterWebContent::postBuild() return TRUE; } -bool LLFloaterWebContent::matchesKey(const LLSD& key) -{ - LLUUID id = key["id"]; - if (id.notNull()) - { - return id == mKey["id"].asUUID(); - } - else - { - return key["target"].asString() == mKey["target"].asString(); - } -} - - void LLFloaterWebContent::initializeURLHistory() { // start with an empty list @@ -123,6 +109,20 @@ void LLFloaterWebContent::initializeURLHistory() } } +bool LLFloaterWebContent::matchesKey(const LLSD& key) +{ + Params p(mKey); + Params other_p(key); + if (!other_p.target().empty() && other_p.target() != "_blank") + { + return other_p.target() == p.target(); + } + else + { + return other_p.id() == p.id(); + } +} + //static LLFloater* LLFloaterWebContent::create( Params p) { @@ -139,14 +139,7 @@ LLFloater* LLFloaterWebContent::create( Params p) } S32 browser_window_limit = gSavedSettings.getS32("WebContentWindowLimit"); - - LLSD sd; - sd["target"] = p.target; - if(LLFloaterReg::findInstance(p.window_class, sd) != NULL) - { - // There's already a web browser for this tag, so we won't be opening a new window. - } - else if(browser_window_limit != 0) + if(browser_window_limit != 0) { // showInstance will open a new window. Figure out how many web browsers are already open, // and close the least recently opened one if this will put us over the limit. @@ -166,7 +159,7 @@ LLFloater* LLFloaterWebContent::create( Params p) } } - return LLFloaterReg::showInstance(p.window_class, p); + return new LLFloaterWebContent(p); } //static diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index 0bdeb114f54..1f1e49726d0 100644 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -1122,16 +1122,7 @@ void LLMediaCtrl::onPopup(const LLSD& notification, const LLSD& response) lldebugs << "No gFloaterView for onPopuup()" << llendl; }; - // (for now) open web content floater if that's our parent, otherwise, open the current media floater - // (this will change soon) - if ( floater_name == "web_content" ) - { - LLWeb::loadWebURL(notification["payload"]["url"], notification["payload"]["target"], notification["payload"]["uuid"]); - } - else - { - LLWeb::loadURL(notification["payload"]["url"], notification["payload"]["target"], notification["payload"]["uuid"]); - } + LLWeb::loadURL(notification["payload"]["url"], notification["payload"]["target"], notification["payload"]["uuid"]); } else { diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp index fd5c3362bb7..27390fca784 100755 --- a/indra/newview/llpanelprofile.cpp +++ b/indra/newview/llpanelprofile.cpp @@ -72,7 +72,7 @@ class LLProfileHandler : public LLCommandHandler std::string agent_name = params[0]; llinfos << "Profile, agent_name " << agent_name << llendl; std::string url = getProfileURL(agent_name); - LLWeb::loadWebURLInternal(url); + LLWeb::loadURLInternal(url); return true; } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 619d74e7acc..3463eec5d8b 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -288,7 +288,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("profile", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWebContent>); + LLFloaterReg::add("profile", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterUIPreviewUtil::registerFloater(); @@ -301,7 +301,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("voice_controls", "floater_voice_controls.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLCallFloater>); LLFloaterReg::add("voice_effect", "floater_voice_effect.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterVoiceEffect>); - LLFloaterReg::add("web_content", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWebContent>); + 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("world_map", "floater_world_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWorldMap>); diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp index 3a3d4f3881a..d1120b6269f 100644 --- a/indra/newview/llviewerhelp.cpp +++ b/indra/newview/llviewerhelp.cpp @@ -69,15 +69,12 @@ LLHelpHandler gHelpHandler; ////////////////////////////// // implement LLHelp interface -void LLViewerHelp::showTopic(const std::string &topic) +std::string LLViewerHelp::getURL(const std::string &topic) { // allow overriding the help server with a local help file if( gSavedSettings.getBOOL("HelpUseLocal") ) { - showHelp(); - LLFloaterHelpBrowser* helpbrowser = dynamic_cast<LLFloaterHelpBrowser*>(LLFloaterReg::getInstance("help_browser")); - helpbrowser->navigateToLocalPage( "help-offline" , "index.html" ); - return; + return "__local"; } // if the help topic is empty, use the default topic @@ -99,11 +96,12 @@ void LLViewerHelp::showTopic(const std::string &topic) } } - // work out the URL for this topic and display it - showHelp(); - - std::string helpURL = LLViewerHelpUtil::buildHelpURL( help_topic ); - setRawURL(helpURL); + return LLViewerHelpUtil::buildHelpURL( help_topic ); +} + +void LLViewerHelp::showTopic(const std::string& topic) +{ + LLFloaterReg::showInstance("help_browser", topic); } std::string LLViewerHelp::defaultTopic() @@ -146,23 +144,4 @@ std::string LLViewerHelp::getTopicFromFocus() return defaultTopic(); } -// static -void LLViewerHelp::showHelp() -{ - LLFloaterReg::showInstance("help_browser"); -} - -// static -void LLViewerHelp::setRawURL(std::string url) -{ - LLFloaterHelpBrowser* helpbrowser = dynamic_cast<LLFloaterHelpBrowser*>(LLFloaterReg::getInstance("help_browser")); - if (helpbrowser) - { - helpbrowser->openMedia(url); - } - else - { - llwarns << "Eep, help_browser floater not found" << llendl; - } -} diff --git a/indra/newview/llviewerhelp.h b/indra/newview/llviewerhelp.h index 7612986227b..a983012e2ee 100644 --- a/indra/newview/llviewerhelp.h +++ b/indra/newview/llviewerhelp.h @@ -45,6 +45,8 @@ class LLViewerHelp : public LLHelp, public LLSingleton<LLViewerHelp> /// display the specified help topic in the help viewer /*virtual*/ void showTopic(const std::string &topic); + std::string getURL(const std::string& topic); + // return topic derived from viewer UI focus, else default topic std::string getTopicFromFocus(); @@ -56,10 +58,6 @@ class LLViewerHelp : public LLHelp, public LLSingleton<LLViewerHelp> // return topic to use for the top-level help, invoked by F1 /*virtual*/ std::string f1HelpTopic(); - - private: - static void showHelp(); // make sure help UI is visible & raised - static void setRawURL(std::string url); // send URL to help UI }; #endif // header guard diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index fbfde711a94..bc0f38dd779 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -5370,6 +5370,34 @@ class LLAvatarAddFriend : public view_listener_t } }; + +class LLAvatarToggleMyProfile : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + LLFloater* instance = LLAvatarActions::getProfileFloater(gAgent.getID()); + if (LLFloater::isMinimized(instance)) + { + instance->setMinimized(FALSE); + instance->setFocus(TRUE); + } + else if (!LLFloater::isShown(instance)) + { + LLAvatarActions::showProfile(gAgent.getID()); + } + else if (!instance->hasFocus() && !instance->getIsChrome()) + { + instance->setFocus(TRUE); + } + else + { + instance->closeFloater(); + } + return true; + } +}; + + class LLAvatarAddContact : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -7229,7 +7257,7 @@ void handle_web_browser_test(const LLSD& param) void handle_web_content_test(const LLSD& param) { std::string url = param.asString(); - LLWeb::loadWebURLInternal(url); + LLWeb::loadURLInternal(url); } void handle_buy_currency_test(void*) @@ -8165,6 +8193,8 @@ void initialize_menus() view_listener_t::addMenu(new LLAvatarCall(), "Avatar.Call"); enable.add("Avatar.EnableCall", boost::bind(&LLAvatarActions::canCall)); view_listener_t::addMenu(new LLAvatarReportAbuse(), "Avatar.ReportAbuse"); + view_listener_t::addMenu(new LLAvatarToggleMyProfile(), "Avatar.ToggleMyProfile"); + enable.add("Avatar.IsMyProfileOpen", boost::bind(&LLAvatarActions::profileVisible, gAgent.getID())); view_listener_t::addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend"); enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp index 6f7115ff6db..7bc54536883 100644 --- a/indra/newview/llweb.cpp +++ b/indra/newview/llweb.cpp @@ -125,7 +125,9 @@ void LLWeb::loadURLInternal(const std::string &url, const std::string& target, c // Explicitly open a Web URL using the Web content floater void LLWeb::loadWebURLInternal(const std::string &url, const std::string& target, const std::string& uuid) { - LLFloaterWebContent::create(LLFloaterWebContent::Params().url(url).target(target).id(uuid)); + LLFloaterWebContent::Params p; + p.url(url).target(target).id(uuid); + LLFloaterReg::showInstance("web_content", p); } // static diff --git a/indra/newview/llweb.h b/indra/newview/llweb.h index dc5958e57fb..376abc0ecea 100644 --- a/indra/newview/llweb.h +++ b/indra/newview/llweb.h @@ -46,21 +46,19 @@ class LLWeb static void loadURL(const std::string& url, const std::string& target, const std::string& uuid = LLStringUtil::null); static void loadURL(const std::string& url) { loadURL(url, LLStringUtil::null); } /// Load the given url in the user's preferred web browser - static void loadURL(const char* url, const std::string& target) { loadURL( ll_safe_string(url), target); } - static void loadURL(const char* url) { loadURL( ll_safe_string(url), LLStringUtil::null ); } + static void loadURL(const char* url, const std::string& target = LLStringUtil::null) { loadURL( ll_safe_string(url), target); } /// Load the given url in the Second Life internal web browser static void loadURLInternal(const std::string &url, const std::string& target, const std::string& uuid = LLStringUtil::null); - static void loadURLInternal(const std::string &url) { loadURLInternal(url, LLStringUtil::null); } + static void loadURLInternal(const std::string &url) { loadURLInternal(url, LLStringUtil::null, LLStringUtil::null);} /// Load the given url in the operating system's web browser, async if we want to return immediately /// before browser has spawned - static void loadURLExternal(const std::string& url) { loadURLExternal(url, LLStringUtil::null); }; + static void loadURLExternal(const std::string& url) {loadURLExternal(url, LLStringUtil::null);} static void loadURLExternal(const std::string& url, const std::string& uuid); static void loadURLExternal(const std::string& url, bool async, const std::string& uuid = LLStringUtil::null); // Explicitly open a Web URL using the Web content floater vs. the more general media browser static void loadWebURL(const std::string& url, const std::string& target, const std::string& uuid); - static void loadWebURLInternal(const std::string &url, const std::string& target, const std::string& uuid); - static void loadWebURLInternal(const std::string &url) { loadWebURLInternal(url, LLStringUtil::null, LLStringUtil::null); } + static void loadWebURLInternal(const std::string &url, const std::string& target = LLStringUtil::null, const std::string& uuid = LLStringUtil::null); /// Returns escaped url (eg, " " to "%20") - used by all loadURL methods static std::string escapeURL(const std::string& url); -- GitLab From a530382c257809c6ee4371156f332efaaa0e23d9 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 19:19:16 -0700 Subject: [PATCH 146/213] added newline --- indra/newview/lltoolbarview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 318bede6f05..7977faeab7f 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -455,4 +455,4 @@ void LLToolBarView::onEndDrag() gToolBarView->mDragToolbar->addCommand(gToolBarView->mDragCommand,gToolBarView->mDragRank); } stopDragTool(); -} \ No newline at end of file +} -- GitLab From fd1a688f463703ec78a399b35fed19b3d907c91b Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Mon, 10 Oct 2011 19:21:01 -0700 Subject: [PATCH 147/213] fixed bad merge --- indra/llui/lltoolbar.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index ca04a0e5d5c..321064a0fd0 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -47,8 +47,8 @@ class LLToolBarButton : public LLButton public: struct Params : public LLInitParam::Block<Params, LLButton::Params> { - Optional<LLUI::RangeS32> button_width; - Optional<S32> desired_height; + Optional<LLUI::RangeS32::Params> button_width; + Optional<S32> desired_height; Params() : button_width("button_width"), -- GitLab From c845925eebb5cad3049ee0f3b1d0adea3e3a46b5 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Tue, 11 Oct 2011 17:50:28 +0200 Subject: [PATCH 148/213] Fixed Linux build --- indra/llui/llsdparam.cpp | 6 ++++++ indra/llui/llsdparam.h | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index da50c0ff399..242b1fca7f7 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -299,6 +299,12 @@ void LLParamSDParserUtilities::readSDValues(read_sd_cb_t cb, const LLSD& sd, LLI } } +//static +void LLParamSDParserUtilities::readSDValues(read_sd_cb_t cb, const LLSD& sd) +{ + LLInitParam::Parser::name_stack_t stack = LLInitParam::Parser::name_stack_t(); + readSDValues(cb, sd, stack); +} namespace LLInitParam { // LLSD specialization diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h index 784358d0389..c1cfa98399f 100644 --- a/indra/llui/llsdparam.h +++ b/indra/llui/llsdparam.h @@ -36,7 +36,8 @@ struct LLParamSDParserUtilities static LLSD& getSDWriteNode(LLSD& input, LLInitParam::Parser::name_stack_range_t& name_stack_range); typedef boost::function<void (const LLSD&, LLInitParam::Parser::name_stack_t&)> read_sd_cb_t; - static void readSDValues(read_sd_cb_t cb, const LLSD& sd, LLInitParam::Parser::name_stack_t& stack = LLInitParam::Parser::name_stack_t()); + static void readSDValues(read_sd_cb_t cb, const LLSD& sd, LLInitParam::Parser::name_stack_t& stack); + static void readSDValues(read_sd_cb_t cb, const LLSD& sd); }; class LLParamSDParser -- GitLab From 0620e6a79149e455744131703e8bdb74864b69be Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 11 Oct 2011 09:10:08 -0700 Subject: [PATCH 149/213] New picks icon --- .../default/textures/toolbar_icons/picks.png | Bin 1368 -> 1396 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/toolbar_icons/picks.png b/indra/newview/skins/default/textures/toolbar_icons/picks.png index 4499bf562b5ce3fc093f253cad9e0ce09ff5cd11..befda04b42523584c0ec89f9148496ef1ca17502 100644 GIT binary patch delta 484 zcmV<A0UQ3<3iJxFS^^A4IWsjxK}I-5LPA25W&$<>L@=|S0u}*($6kgc0004`Nkl<Z zc-mt4|NlP&F&GF~fjAO~<*>>VYfx@(uFS`eA73{&H%|f@rbL!OAlJ0Cv;+d#|Ns8| z`@65NZ#qy+0a*<T10KN0$jA$%3}t0ybu~3L9YJDDOiV2K`S~e81OEZ#yMTr~1S`hl z3K=&yx60F}Pagq)x#B+>0ExA?w@(JDlST0w5P)3g55%EBEHrD@tfGJa{{8)r2Y?Lg z?CfkqF{rq>Smeo*CwJexdGjnTF0ShN^XF^+69;af2evd2{{hK-|Ni~c^5x4H0B!t% zOZV^JzZ-y*9IjZ)gee3Wws!5>CD;suigDtN{;yxZW)U)f?Ay0*D+s0|V`Jl}ojZ3f zL^li=@ZUjvApHwSY2h^p2(%tQeti4Iix&^}?Afyz*|3ER7ta0i<;wyf*B);c0Rrx& zOP4N!X@33s_1#aOK2;zamXMH8fivB~7(PBe(Z7EELJo^dKr8{oX)pm`_`Stz5D=)` zzJ2==Gz>sPVF9w48A)LpG-=$xYtY=eb0<M9Jpjb&I222u8IIL!H=t>Vfn3Z8^%}(h aAix0dvxMgf7z|nf0000<MNUMnLSTZ|724qd delta 456 zcmV;(0XP2i3fKy;S^@|*I59;+HA6&`o&p_{e*zr>LqoHk0u}*(uVSP?0004qNkl<Z zc-mt8|NlP&GGJt6gfWGI*c6DRfS3u0p91k&AbtgsMAruvK*vC!8Xq6uc>DJ4OTT~r z{`L3o-`{uc+_{pGk<kj2)559;iy?e7XU?1r()=F{fW#IrUc3aPhM++yDJe0(e*O9Z z)BN@8*Q4LRf4_!*Y*+#i5H#q@l`DtQ9O41Q;m88FZrwUV(4fzsKfeblUbt}KBA^!} zki0CrcJ10VAi1AEe|{rq5G-s!^o9)^!eQduwrxxO_wV0dB!{8sV`4x9z*u?-qM4YO zSR{Y|m>dFt*iTAI3d9Dh2fFArx;_kpfTquevCo}5r~mAK*|Yw~k01A*Jb6+XCJuDj zQU)v<(Xr5<KY!l-#{qy|{sg3?35F3Ahy2G4l8H)?FboWbHRvY%`0-;8F7-GK0y!V( zjju36pfRS4OFc$lBY~&D7@Uk0o6CUIWt^(<xCn$rfv)-iO<U6V)Uq((2d{y7Z6%Nv y;N|6giccXYBSyJ`2@HUkABYc9Y7kKXAiw~&#H%;D^tw|30000<MNUMnLSTYWYSPdE -- GitLab From 8154c245dd2f7aaee390e0206f460b9dd5b9f693 Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Tue, 11 Oct 2011 18:14:37 +0200 Subject: [PATCH 150/213] EXP-1281 FIXED (As a FUI user, I want all bottom bar floaters to become independent) Made bottom bar dependent floaters independent from it. Also some LLTransientDockableFloaters are just LLFLoaters now. Note: IM Floater and SysWellWindow will be made independent within EXP-1276 --- indra/newview/llcallfloater.cpp | 2 +- indra/newview/llcallfloater.h | 5 +- indra/newview/llfloatercamera.cpp | 14 +- indra/newview/llfloatercamera.h | 5 +- indra/newview/llmoveview.cpp | 76 +--- indra/newview/llmoveview.h | 6 +- indra/newview/llnearbychat.cpp | 2 +- indra/newview/llnearbychatbar.cpp | 353 ------------------ indra/newview/llnearbychatbar.h | 62 +-- .../skins/default/xui/en/floater_camera.xml | 4 +- 10 files changed, 32 insertions(+), 497 deletions(-) diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 4c6ddc8be77..cc2a189b762 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -37,9 +37,9 @@ #include "llavatarnamecache.h" #include "llavatariconctrl.h" #include "llavatarlist.h" -#include "llbottomtray.h" #include "lldraghandle.h" #include "llimfloater.h" +#include "llimview.h" #include "llfloaterreg.h" #include "llparticipantlist.h" #include "llspeakers.h" diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index ea78cd53b70..7282f7a8be9 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -28,7 +28,7 @@ #ifndef LL_LLCALLFLOATER_H #define LL_LLCALLFLOATER_H -#include "lltransientdockablefloater.h" +#include "llfloater.h" #include "llvoicechannel.h" #include "llvoiceclient.h" @@ -262,9 +262,6 @@ class LLCallFloater : public LLFloater, LLVoiceClientParticipantObserver */ static LLVoiceChannel* sCurrentVoiceChannel; - /* virtual */ - LLTransientFloaterMgr::ETransientGroup getGroup() { return LLTransientFloaterMgr::IM; } - boost::signals2::connection mVoiceChannelStateChangeConnection; }; diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp index 1dfa904a191..b4658b1edbf 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -36,7 +36,6 @@ #include "lljoystickbutton.h" #include "llviewercontrol.h" #include "llviewercamera.h" -#include "llbottomtray.h" #include "lltoolmgr.h" #include "lltoolfocus.h" #include "llslider.h" @@ -314,12 +313,6 @@ void LLFloaterCamera::onOpen(const LLSD& key) { LLFirstUse::viewPopup(); - LLButton *anchor_panel = LLBottomTray::getInstance()->getChild<LLButton>("camera_btn"); - - setDockControl(new LLDockControl( - anchor_panel, this, - getDockTongue(), LLDockControl::TOP)); - mZoom->onOpen(key); // Returns to previous mode, see EXT-2727(View tool should remember state). @@ -343,15 +336,12 @@ void LLFloaterCamera::onClose(bool app_quitting) if (mCurrMode == CAMERA_CTRL_MODE_PAN) mPrevMode = CAMERA_CTRL_MODE_PAN; - // HACK: Should always close as docked to prevent toggleInstance without calling onOpen. - if ( !isDocked() ) - setDocked(true); switchMode(CAMERA_CTRL_MODE_PAN); mClosed = TRUE; } LLFloaterCamera::LLFloaterCamera(const LLSD& val) -: LLTransientDockableFloater(NULL, true, val), +: LLFloater(val), mClosed(FALSE), mCurrMode(CAMERA_CTRL_MODE_PAN), mPrevMode(CAMERA_CTRL_MODE_PAN) @@ -379,7 +369,7 @@ BOOL LLFloaterCamera::postBuild() // ensure that appearance mode is handled while building. See EXT-7796. handleAvatarEditingAppearance(sAppearanceEditing); - return LLDockableFloater::postBuild(); + return TRUE; } void LLFloaterCamera::fillFlatlistFromPanel (LLFlatListView* list, LLPanel* panel) diff --git a/indra/newview/llfloatercamera.h b/indra/newview/llfloatercamera.h index 424191ef263..4572932853c 100644 --- a/indra/newview/llfloatercamera.h +++ b/indra/newview/llfloatercamera.h @@ -27,7 +27,7 @@ #ifndef LLFLOATERCAMERA_H #define LLFLOATERCAMERA_H -#include "lltransientdockablefloater.h" +#include "llfloater.h" #include "lliconctrl.h" #include "lltextbox.h" #include "llflatlistview.h" @@ -45,8 +45,7 @@ enum ECameraControlMode CAMERA_CTRL_MODE_PRESETS }; -class LLFloaterCamera - : public LLTransientDockableFloater +class LLFloaterCamera : public LLFloater { friend class LLFloaterReg; diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index a29526777a4..2af01d06c18 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -37,7 +37,6 @@ #include "llagent.h" #include "llagentcamera.h" #include "llvoavatarself.h" // to check gAgentAvatarp->isSitting() -#include "llbottomtray.h" #include "llbutton.h" #include "llfirstuse.h" #include "llfloaterreg.h" @@ -46,7 +45,8 @@ #include "lluictrlfactory.h" #include "llviewerwindow.h" #include "llviewercontrol.h" -#include "llselectmgr.h" +#include "llselectmgr.h" +#include "lltoolbarview.h" #include "llviewerparcelmgr.h" #include "llviewerregion.h" #include "lltooltip.h" @@ -59,15 +59,13 @@ const F32 MOVE_BUTTON_DELAY = 0.0f; const F32 YAW_NUDGE_RATE = 0.05f; // fraction of normal speed const F32 NUDGE_TIME = 0.25f; // in seconds -const std::string BOTTOM_TRAY_BUTTON_NAME = "movement_btn"; - // // Member functions // // protected LLFloaterMove::LLFloaterMove(const LLSD& key) -: LLTransientDockableFloater(NULL, true, key), +: LLFloater(key), mForwardButton(NULL), mBackwardButton(NULL), mTurnLeftButton(NULL), @@ -94,8 +92,6 @@ BOOL LLFloaterMove::postBuild() { updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730) - LLDockableFloater::postBuild(); - // Code that implements floater buttons toggling when user moves via keyboard is located in LLAgent::propagate() mForwardButton = getChild<LLJoystickAgentTurn>("forward btn"); @@ -153,10 +149,10 @@ BOOL LLFloaterMove::postBuild() // virtual void LLFloaterMove::setVisible(BOOL visible) { - // Do nothing with Stand/Stop Flying panel in excessive calls of this method (from LLTransientFloaterMgr?). + // Do nothing with Stand/Stop Flying panel in excessive calls of this method. if (getVisible() == visible) { - LLTransientDockableFloater::setVisible(visible); + LLFloater::setVisible(visible); return; } @@ -175,7 +171,7 @@ void LLFloaterMove::setVisible(BOOL visible) LLPanelStandStopFlying::getInstance()->reparent(NULL); } - LLTransientDockableFloater::setVisible(visible); + LLFloater::setVisible(visible); } // static @@ -439,30 +435,6 @@ void LLFloaterMove::setModeTitle(const EMovementMode mode) setTitle(title); } -/** - * Updates position of the floater to be center aligned with Move button. - */ -void LLFloaterMove::updatePosition() -{ - LLBottomTray* tray = LLBottomTray::getInstance(); - if (!tray) return; - - LLButton* movement_btn = tray->findChild<LLButton>(BOTTOM_TRAY_BUTTON_NAME); - - if (movement_btn) - { - //align centers of a button and a floater - S32 x = movement_btn->calcScreenRect().getCenterX() - getRect().getWidth()/2; - - S32 y = 0; - if (!mModeActionsPanel->getVisible()) - { - y = mModeActionsPanel->getRect().getHeight(); - } - setOrigin(x, y); - } -} - //static void LLFloaterMove::sUpdateFlyingStatus() { @@ -497,8 +469,6 @@ void LLFloaterMove::enableInstance(BOOL bEnable) void LLFloaterMove::onOpen(const LLSD& key) { - LLButton *anchor_panel = LLBottomTray::getInstance()->getChild<LLButton>("movement_btn"); - if (gAgent.getFlying()) { setFlyingMode(TRUE); @@ -511,19 +481,9 @@ void LLFloaterMove::onOpen(const LLSD& key) showModeButtons(FALSE); } - setDockControl(new LLDockControl( - anchor_panel, this, - getDockTongue(), LLDockControl::TOP)); - sUpdateFlyingStatus(); } -//virtual -void LLFloaterMove::setDocked(bool docked, bool pop_on_undock/* = true*/) -{ - LLTransientDockableFloater::setDocked(docked, pop_on_undock); -} - void LLFloaterMove::setModeButtonToggleState(const EMovementMode mode) { llassert_always(mModeControlButtonMap.end() != mModeControlButtonMap.find(mode)); @@ -734,23 +694,27 @@ void LLPanelStandStopFlying::onStopFlyingButtonClick() */ void LLPanelStandStopFlying::updatePosition() { - LLBottomTray* tray = LLBottomTray::getInstance(); - if (!tray || mAttached) return; - - LLButton* movement_btn = tray->findChild<LLButton>(BOTTOM_TRAY_BUTTON_NAME); + if (mAttached) return; S32 x = 0; - if (movement_btn) + S32 y = 0; + + if(LLView* root = getRootView()) { - // Align centers of the button and the panel. - x = movement_btn->calcScreenRect().getCenterX() - getRect().getWidth()/2; + x = root->calcScreenRect().getCenterX() - getRect().getWidth()/2; } - else + + if (LLToolBar* toolbar_bottom = gToolBarView->getChild<LLToolBar>("toolbar_bottom")) { - x = tray->calcScreenRect().getCenterX() - getRect().getWidth()/2; + y = toolbar_bottom->getRect().getHeight(); } + + if(LLPanel* panel_ssf_container = getRootView()->getChild<LLPanel>("stand_stop_flying_container")) + { + panel_ssf_container->setOrigin(0, y); + } + setOrigin(x, 0); } - // EOF diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h index 1b87864651a..744dd866d44 100644 --- a/indra/newview/llmoveview.h +++ b/indra/newview/llmoveview.h @@ -28,7 +28,7 @@ #define LL_LLMOVEVIEW_H // Library includes -#include "lltransientdockablefloater.h" +#include "llfloater.h" class LLButton; class LLJoystickAgentTurn; @@ -38,7 +38,7 @@ class LLJoystickAgentSlide; // Classes // class LLFloaterMove -: public LLTransientDockableFloater +: public LLFloater { LOG_CLASS(LLFloaterMove); friend class LLFloaterReg; @@ -58,7 +58,6 @@ class LLFloaterMove static void setSittingMode(BOOL bSitting); static void enableInstance(BOOL bEnable); /*virtual*/ void onOpen(const LLSD& key); - /*virtual*/ void setDocked(bool docked, bool pop_on_undock = true); static void sUpdateFlyingStatus(); @@ -87,7 +86,6 @@ class LLFloaterMove void initModeButtonMap(); void setModeButtonToggleState(const EMovementMode mode); void updateButtonsWithMovementMode(const EMovementMode newMode); - void updatePosition(); void showModeButtons(BOOL bShow); public: diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 9eaa64a124f..67d745248fe 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -34,6 +34,7 @@ #include "lliconctrl.h" #include "llfloatersidepanelcontainer.h" #include "llfocusmgr.h" +#include "lllogchat.h" #include "llresizebar.h" #include "llresizehandle.h" #include "llmenugl.h" @@ -50,7 +51,6 @@ #include "lldraghandle.h" -#include "llbottomtray.h" #include "llnearbychatbar.h" #include "llfloaterreg.h" #include "lltrans.h" diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index caa20b767c7..3073a19d832 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -34,7 +34,6 @@ #include "llfirstuse.h" #include "llnearbychatbar.h" -#include "llbottomtray.h" #include "llagent.h" #include "llgesturemgr.h" #include "llmultigesture.h" @@ -58,8 +57,6 @@ const S32 EXPANDED_HEIGHT = 300; // legacy callback glue void send_chat_from_viewer(const std::string& utf8_out_text, EChatType type, S32 channel); -static LLDefaultChildRegistry::Register<LLGestureComboList> r("gesture_combo_list"); - struct LLChatTypeTrigger { std::string name; EChatType type; @@ -70,351 +67,6 @@ static LLChatTypeTrigger sChatTypeTriggers[] = { { "/shout" , CHAT_TYPE_SHOUT} }; -//ext-7367 -//Problem: gesture list control (actually LLScrollListCtrl) didn't actually process mouse wheel message. -// introduce new gesture list subclass to "eat" mouse wheel messages (and probably some other messages) -class LLGestureScrollListCtrl: public LLScrollListCtrl -{ -protected: - friend class LLUICtrlFactory; - LLGestureScrollListCtrl(const LLScrollListCtrl::Params& params) - :LLScrollListCtrl(params) - { - } -public: - BOOL handleScrollWheel(S32 x, S32 y, S32 clicks) - { - LLScrollListCtrl::handleScrollWheel( x, y, clicks ); - return TRUE; - } - //See EXT-6598 - //Mouse hover over separator will result in not processing tooltip message - //So eat this message - BOOL handleToolTip(S32 x, S32 y, MASK mask) - { - LLScrollListCtrl::handleToolTip( x, y, mask ); - return TRUE; - } -}; - -LLGestureComboList::Params::Params() -: combo_button("combo_button"), - combo_list("combo_list"), - get_more("get_more", true), - view_all("view_all", true) -{ -} - -LLGestureComboList::LLGestureComboList(const LLGestureComboList::Params& p) -: LLUICtrl(p), - mLabel(p.label), - mViewAllItemIndex(-1), - mGetMoreItemIndex(-1), - mShowViewAll(p.view_all), - mShowGetMore(p.get_more) -{ - LLBottomtrayButton::Params button_params = p.combo_button; - button_params.follows.flags(FOLLOWS_LEFT|FOLLOWS_BOTTOM|FOLLOWS_RIGHT); - - mButton = LLUICtrlFactory::create<LLBottomtrayButton>(button_params); - mButton->reshape(getRect().getWidth(),getRect().getHeight()); - mButton->setCommitCallback(boost::bind(&LLGestureComboList::onButtonCommit, this)); - - addChild(mButton); - - LLGestureScrollListCtrl::Params params(p.combo_list); - - params.name("GestureComboList"); - params.commit_callback.function(boost::bind(&LLGestureComboList::onItemSelected, this, _2)); - params.visible(false); - params.commit_on_keyboard_movement(false); - - mList = LLUICtrlFactory::create<LLGestureScrollListCtrl>(params); - addChild(mList); - - //****************************Gesture Part********************************/ - - setCommitCallback(boost::bind(&LLGestureComboList::onCommitGesture, this)); - - // now register us as observer since we have a place to put the results - LLGestureMgr::instance().addObserver(this); - - // refresh list from current active gestures - refreshGestures(); - - setFocusLostCallback(boost::bind(&LLGestureComboList::hideList, this)); -} - -BOOL LLGestureComboList::handleKeyHere(KEY key, MASK mask) -{ - BOOL handled = FALSE; - - if (key == KEY_ESCAPE && mask == MASK_NONE ) - { - hideList(); - handled = TRUE; - } - else - { - handled = mList->handleKeyHere(key, mask); - } - - return handled; -} - -void LLGestureComboList::draw() -{ - LLUICtrl::draw(); - - if(mButton->getToggleState()) - { - showList(); - } -} - -void LLGestureComboList::showList() -{ - LLRect rect = mList->getRect(); - LLRect button_rect = mButton->getRect(); - - // Calculating amount of space between the navigation bar and gestures combo - LLNavigationBar* nb = LLNavigationBar::getInstance(); - - S32 x, nb_bottom; - nb->localPointToOtherView(0, 0, &x, &nb_bottom, this); - - S32 max_height = nb_bottom - button_rect.mTop; - mList->calcColumnWidths(); - rect.setOriginAndSize(button_rect.mLeft, button_rect.mTop, llmax(mList->getMaxContentWidth(),mButton->getRect().getWidth()), max_height); - - mList->setRect(rect); - mList->fitContents( llmax(mList->getMaxContentWidth(),mButton->getRect().getWidth()), max_height); - - gFocusMgr.setKeyboardFocus(this); - - // Show the list and push the button down - mButton->setToggleState(TRUE); - mList->setVisible(TRUE); - sendChildToFront(mList); - LLUI::addPopup(mList); -} - -void LLGestureComboList::onButtonCommit() -{ - if (!mList->getVisible()) - { - // highlight the last selected item from the original selection before potentially selecting a new item - // as visual cue to original value of combo box - LLScrollListItem* last_selected_item = mList->getLastSelectedItem(); - if (last_selected_item) - { - mList->mouseOverHighlightNthItem(mList->getItemIndex(last_selected_item)); - } - - if (mList->getItemCount() != 0) - { - showList(); - } - } - else - { - hideList(); - } -} - -void LLGestureComboList::hideList() -{ - if (mList->getVisible()) - { - mButton->setToggleState(FALSE); - mList->setVisible(FALSE); - mList->mouseOverHighlightNthItem(-1); - LLUI::removePopup(mList); - gFocusMgr.setKeyboardFocus(NULL); - } -} - -S32 LLGestureComboList::getCurrentIndex() const -{ - LLScrollListItem* item = mList->getFirstSelected(); - if( item ) - { - return mList->getItemIndex( item ); - } - return -1; -} - -void LLGestureComboList::onItemSelected(const LLSD& data) -{ - const std::string name = mList->getSelectedItemLabel(); - - S32 cur_id = getCurrentIndex(); - mLastSelectedIndex = cur_id; - if (cur_id != mList->getItemCount()-1 && cur_id != -1) - { - mButton->setLabel(name); - } - - // hiding the list reasserts the old value stored in the text editor/dropdown button - hideList(); - - // commit does the reverse, asserting the value in the list - onCommit(); -} - -void LLGestureComboList::sortByName(bool ascending) -{ - mList->sortOnce(0, ascending); -} - -LLSD LLGestureComboList::getValue() const -{ - LLScrollListItem* item = mList->getFirstSelected(); - if( item ) - { - return item->getValue(); - } - else - { - return LLSD(); - } -} - -void LLGestureComboList::refreshGestures() -{ - //store current selection so we can maintain it - LLSD cur_gesture = getValue(); - - mList->selectFirstItem(); - mList->clearRows(); - mGestures.clear(); - - LLGestureMgr::item_map_t::const_iterator it; - const LLGestureMgr::item_map_t& active_gestures = LLGestureMgr::instance().getActiveGestures(); - LLSD::Integer idx(0); - for (it = active_gestures.begin(); it != active_gestures.end(); ++it) - { - LLMultiGesture* gesture = (*it).second; - if (gesture) - { - mList->addSimpleElement(gesture->mName, ADD_BOTTOM, LLSD(idx)); - mGestures.push_back(gesture); - idx++; - } - } - - sortByName(); - - // store indices for Get More and View All items (idx is the index followed by the last added Gesture) - if (mShowGetMore) - { - mGetMoreItemIndex = idx; - mList->addSimpleElement(LLTrans::getString("GetMoreGestures"), ADD_BOTTOM, LLSD(mGetMoreItemIndex)); - } - if (mShowViewAll) - { - mViewAllItemIndex = idx + 1; - mList->addSimpleElement(LLTrans::getString("ViewAllGestures"), ADD_BOTTOM, LLSD(mViewAllItemIndex)); - } - - // Insert label after sorting, at top, with separator below it - mList->addSeparator(ADD_TOP); - mList->addSimpleElement(mLabel, ADD_TOP); - - if (cur_gesture.isDefined()) - { - mList->selectByValue(cur_gesture); - - } - else - { - mList->selectFirstItem(); - } - - LLCtrlListInterface* gestures = getListInterface(); - LLMultiGesture* gesture = NULL; - - if (gestures) - { - S32 sel_index = gestures->getFirstSelectedIndex(); - if (sel_index != 0) - { - S32 index = gestures->getSelectedValue().asInteger(); - if (index<0 || index >= (S32)mGestures.size()) - { - llwarns << "out of range gesture access" << llendl; - } - else - { - gesture = mGestures.at(index); - } - } - } - - if(gesture && LLGestureMgr::instance().isGesturePlaying(gesture)) - { - return; - } - - mButton->setLabel(mLabel); -} - -void LLGestureComboList::onCommitGesture() -{ - LLCtrlListInterface* gestures = getListInterface(); - if (gestures) - { - S32 sel_index = gestures->getFirstSelectedIndex(); - if (sel_index == 0) - { - return; - } - - S32 index = gestures->getSelectedValue().asInteger(); - - if (mViewAllItemIndex == index) - { - // The same behavior as Ctrl+G. EXT-823 - LLFloaterReg::toggleInstance("gestures"); - gestures->selectFirstItem(); - return; - } - - if (mGetMoreItemIndex == index) - { - LLWeb::loadURLExternal(gSavedSettings.getString("GesturesMarketplaceURL")); - return; - } - - if (index<0 || index >= (S32)mGestures.size()) - { - llwarns << "out of range gesture index" << llendl; - } - else - { - LLMultiGesture* gesture = mGestures.at(index); - if(gesture) - { - LLGestureMgr::instance().playGesture(gesture); - if(!gesture->mReplaceText.empty()) - { - LLNearbyChatBar::sendChatFromViewer(gesture->mReplaceText, CHAT_TYPE_NORMAL, FALSE); - } - } - } - } -} - -LLGestureComboList::~LLGestureComboList() -{ - LLGestureMgr::instance().removeObserver(this); -} - -LLCtrlListInterface* LLGestureComboList::getListInterface() -{ - return mList; -} - LLNearbyChatBar::LLNearbyChatBar(const LLSD& key) : LLFloater(key), mChatBox(NULL) @@ -839,11 +491,6 @@ void LLNearbyChatBar::startChat(const char* line) // static void LLNearbyChatBar::stopChat() { - LLBottomTray *bt = LLBottomTray::getInstance(); - - if (!bt) - return; - LLNearbyChatBar* cb = LLNearbyChatBar::getInstance(); if (!cb) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index 0415f12a0d0..a6fd6e5665b 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -27,73 +27,15 @@ #ifndef LL_LLNEARBYCHATBAR_H #define LL_LLNEARBYCHATBAR_H -#include "llpanel.h" +#include "llfloater.h" #include "llcombobox.h" #include "llgesturemgr.h" #include "llchat.h" #include "llvoiceclient.h" #include "lloutputmonitorctrl.h" #include "llspeakers.h" -#include "llbottomtray.h" - -class LLGestureComboList - : public LLGestureManagerObserver - , public LLUICtrl -{ -public: - struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> - { - Optional<LLBottomtrayButton::Params> combo_button; - Optional<LLScrollListCtrl::Params> combo_list; - Optional<bool> get_more, - view_all; - - Params(); - }; - -protected: - - friend class LLUICtrlFactory; - LLGestureComboList(const Params&); - std::vector<LLMultiGesture*> mGestures; - std::string mLabel; - bool mShowViewAll; - bool mShowGetMore; - LLSD::Integer mViewAllItemIndex; - LLSD::Integer mGetMoreItemIndex; - -public: - - ~LLGestureComboList(); - - LLCtrlListInterface* getListInterface(); - virtual void showList(); - virtual void hideList(); - virtual BOOL handleKeyHere(KEY key, MASK mask); - - virtual void draw(); - - S32 getCurrentIndex() const; - void onItemSelected(const LLSD& data); - void sortByName(bool ascending = true); - void refreshGestures(); - void onCommitGesture(); - void onButtonCommit(); - virtual LLSD getValue() const; - - // LLGestureManagerObserver trigger - virtual void changed() { refreshGestures(); } - -private: - - LLButton* mButton; - LLScrollListCtrl* mList; - S32 mLastSelectedIndex; -}; - -class LLNearbyChatBar -: public LLFloater +class LLNearbyChatBar : public LLFloater { public: // constructor for inline chat-bars (e.g. hosted in chat history window) diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index da2be18db66..125ca81cde3 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -1,9 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - can_dock="true" can_minimize="true" - can_close="false" + can_close="true" follows="bottom" height="164" layout="topleft" @@ -11,7 +10,6 @@ help_topic="camera_floater" save_rect="true" save_visibility="true" - save_dock_state="true" single_instance="true" width="228"> <floater.string -- GitLab From aec61c579a40687e2696d38a535143d59f771416 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 11 Oct 2011 10:07:19 -0700 Subject: [PATCH 151/213] Added 'execute_stop_function' command parameter to handle mouse down/up actions on toolbar buttons --- indra/llui/llbutton.cpp | 18 ++++++++++++++++++ indra/llui/llbutton.h | 5 +++++ indra/llui/llcommandmanager.cpp | 4 ++++ indra/llui/llcommandmanager.h | 9 +++++++++ indra/llui/lltoolbar.cpp | 22 ++++++++++++++++++---- indra/newview/app_settings/commands.xml | 2 ++ 6 files changed, 56 insertions(+), 4 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index ba3748a5736..2e9c7a5d3d7 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -296,6 +296,24 @@ void LLButton::onCommit() LLUICtrl::onCommit(); } +boost::signals2::connection LLButton::setClickedCallback(const CommitCallbackParam& cb) +{ + return setClickedCallback(initCommitCallback(cb)); +} +boost::signals2::connection LLButton::setMouseDownCallback(const CommitCallbackParam& cb) +{ + return setMouseDownCallback(initCommitCallback(cb)); +} +boost::signals2::connection LLButton::setMouseUpCallback(const CommitCallbackParam& cb) +{ + return setMouseUpCallback(initCommitCallback(cb)); +} +boost::signals2::connection LLButton::setHeldDownCallback(const CommitCallbackParam& cb) +{ + return setHeldDownCallback(initCommitCallback(cb)); +} + + boost::signals2::connection LLButton::setClickedCallback( const commit_signal_t::slot_type& cb ) { if (!mCommitSignal) mCommitSignal = new commit_signal_t(); diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index a0a7b4e372c..ba0345f6109 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -170,6 +170,11 @@ class LLButton void setUseEllipses( BOOL use_ellipses ) { mUseEllipses = use_ellipses; } + boost::signals2::connection setClickedCallback(const CommitCallbackParam& cb); + boost::signals2::connection setMouseDownCallback(const CommitCallbackParam& cb); + boost::signals2::connection setMouseUpCallback(const CommitCallbackParam& cb); + boost::signals2::connection setHeldDownCallback(const CommitCallbackParam& cb); + boost::signals2::connection setClickedCallback( const commit_signal_t::slot_type& cb ); // mouse down and up within button boost::signals2::connection setMouseDownCallback( const commit_signal_t::slot_type& cb ); boost::signals2::connection setMouseUpCallback( const commit_signal_t::slot_type& cb ); // mouse up, EVEN IF NOT IN BUTTON diff --git a/indra/llui/llcommandmanager.cpp b/indra/llui/llcommandmanager.cpp index d8e035a3203..128ba609cb2 100644 --- a/indra/llui/llcommandmanager.cpp +++ b/indra/llui/llcommandmanager.cpp @@ -55,6 +55,8 @@ LLCommand::Params::Params() , tooltip_ref("tooltip_ref") , execute_function("execute_function") , execute_parameters("execute_parameters") + , execute_stop_function("execute_stop_function") + , execute_stop_parameters("execute_stop_parameters") , is_enabled_function("is_enabled_function") , is_enabled_parameters("is_enabled_parameters") , is_running_function("is_running_function") @@ -72,6 +74,8 @@ LLCommand::LLCommand(const LLCommand::Params& p) , mTooltipRef(p.tooltip_ref) , mExecuteFunction(p.execute_function) , mExecuteParameters(p.execute_parameters) + , mExecuteStopFunction(p.execute_stop_function) + , mExecuteStopParameters(p.execute_stop_parameters) , mIsEnabledFunction(p.is_enabled_function) , mIsEnabledParameters(p.is_enabled_parameters) , mIsRunningFunction(p.is_running_function) diff --git a/indra/llui/llcommandmanager.h b/indra/llui/llcommandmanager.h index 46e0fe6e69e..9b93ab735a4 100644 --- a/indra/llui/llcommandmanager.h +++ b/indra/llui/llcommandmanager.h @@ -116,6 +116,9 @@ class LLCommand Mandatory<std::string> execute_function; Optional<LLSD> execute_parameters; + Optional<std::string> execute_stop_function; + Optional<LLSD> execute_stop_parameters; + Optional<std::string> is_enabled_function; Optional<LLSD> is_enabled_parameters; @@ -139,6 +142,9 @@ class LLCommand const std::string& executeFunctionName() const { return mExecuteFunction; } const LLSD& executeParameters() const { return mExecuteParameters; } + const std::string& executeStopFunctionName() const { return mExecuteStopFunction; } + const LLSD& executeStopParameters() const { return mExecuteStopParameters; } + const std::string& isEnabledFunctionName() const { return mIsEnabledFunction; } const LLSD& isEnabledParameters() const { return mIsEnabledParameters; } @@ -159,6 +165,9 @@ class LLCommand std::string mExecuteFunction; LLSD mExecuteParameters; + std::string mExecuteStopFunction; + LLSD mExecuteStopParameters; + std::string mIsEnabledFunction; LLSD mIsEnabledParameters; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 89184f781f7..e74aab6e216 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -659,11 +659,25 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) if (!mReadOnly) { - LLUICtrl::CommitCallbackParam cbParam; - cbParam.function_name = commandp->executeFunctionName(); - cbParam.parameter = commandp->executeParameters(); + LLUICtrl::CommitCallbackParam executeParam; + executeParam.function_name = commandp->executeFunctionName(); + executeParam.parameter = commandp->executeParameters(); - button->setCommitCallback(cbParam); + // If we have a "stop" function then we map the command to mouse down / mouse up otherwise commit + const std::string& executeStopFunction = commandp->executeStopFunctionName(); + if (executeStopFunction.length() > 0) + { + LLUICtrl::CommitCallbackParam executeStopParam; + executeStopParam.function_name = executeStopFunction; + executeStopParam.parameter = commandp->executeStopParameters(); + + button->setMouseDownCallback(executeParam); + button->setMouseUpCallback(executeStopParam); + } + else + { + button->setCommitCallback(executeParam); + } const std::string& isEnabledFunction = commandp->isEnabledFunctionName(); if (isEnabledFunction.length() > 0) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index d758647d3a7..296d992b340 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -217,6 +217,8 @@ tooltip_ref="Command_Speak_Tooltip" execute_function="Agent.ToggleMicrophone" execute_parameters="speak" + execute_stop_function="" + execute_stop_parameters="speak" is_enabled_function="Agent.IsActionAllowed" is_enabled_parameters="speak" is_running_function="Agent.IsMicrophoneOn" -- GitLab From 3596c0f7e139724f31258ffb96157146aeba77b1 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 11 Oct 2011 15:06:16 -0700 Subject: [PATCH 152/213] EXP-1300 : Implemented carets for DaD. Works with small bugs but OK for demo. Still in need of some cleanup --- indra/llui/lltoolbar.cpp | 86 +++++++++++++----- indra/llui/lltoolbar.h | 7 +- indra/newview/lltoolbarview.cpp | 7 -- .../textures/toolbar_icons/caret_bottom.png | Bin 139 -> 169 bytes .../textures/toolbar_icons/caret_left.png | Bin 893 -> 913 bytes .../textures/toolbar_icons/caret_right.png | Bin 892 -> 911 bytes .../default/xui/en/panel_toolbar_view.xml | 13 +-- 7 files changed, 75 insertions(+), 38 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 89184f781f7..7c1e2017c0f 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -34,6 +34,7 @@ #include "llmenugl.h" #include "lltrans.h" #include "llinventory.h" +#include "lliconctrl.h" // uncomment this and remove the one in llui.cpp when there is an external reference to this translation unit // thanks, MSVC! @@ -204,7 +205,6 @@ bool LLToolBar::addCommand(const LLCommandId& commandId, int rank) { LLCommand * command = LLCommandManager::instance().getCommand(commandId); if (!command) return false; - llinfos << "Merov debug : addCommand, " << commandId.name() << ", " << commandId.uuid() << llendl; // Create the button and do the things that don't need ordering LLToolBarButton* button = createButton(commandId); @@ -248,7 +248,6 @@ int LLToolBar::removeCommand(const LLCommandId& commandId) { if (!hasCommand(commandId)) return RANK_NONE; - llinfos << "Merov debug : removeCommand, " << commandId.name() << ", " << commandId.uuid() << llendl; // First erase the map record command_id_map::iterator it = mButtonMap.find(commandId.uuid()); mButtonMap.erase(it); @@ -398,7 +397,7 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row // The rank is the position a tool dropped in (x,y) would assume in the button list. // The value returned is between 0 and mButtons.size(), 0 being the first element to the left // (or top) and mButtons.size() the last one to the right (or bottom). -int LLToolBar::getRankFromPosition(S32 x, S32 y) +int LLToolBar::getRankFromPosition(S32& x, S32& y) { int rank = 0; @@ -406,16 +405,16 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) S32 button_panel_x = 0; S32 button_panel_y = 0; localPointToOtherView(x, y, &button_panel_x, &button_panel_y, mButtonPanel); + S32 dx = x - button_panel_x; + S32 dy = y - button_panel_y; - //llinfos << "Merov debug : rank compute: orientation = " << orientation << ", x = " << button_panel_x << ", y = " << button_panel_y << llendl; - // Simply compare the passed coord with the buttons outbound box std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); std::list<LLToolBarButton*>::iterator end_button = mButtons.end(); + LLRect button_rect; while (it_button != end_button) { - LLRect button_rect = (*it_button)->getRect(); - //llinfos << "Merov debug : rank compute: rect = " << button_rect.mLeft << ", " << button_rect.mTop << ", " << button_rect.mRight << ", " << button_rect.mBottom << llendl; + button_rect = (*it_button)->getRect(); if (((orientation == LLLayoutStack::HORIZONTAL) && (button_rect.mRight > button_panel_x)) || ((orientation == LLLayoutStack::VERTICAL) && (button_rect.mBottom < button_panel_y)) ) { @@ -424,7 +423,16 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) rank++; ++it_button; } - //llinfos << "Merov debug : rank = " << rank << llendl; + if (it_button != end_button) + { + x = button_rect.mRight + dx; + y = button_rect.mTop + dy; + } + else + { + x = button_rect.mLeft + dx; + y = button_rect.mBottom + dy; + } return rank; } @@ -613,7 +621,40 @@ void LLToolBar::draw() LLUI::pushMatrix(); LLUI::translate((F32)getRect().mLeft, (F32)getRect().mBottom, 0.f); + // Position the caret + LLIconCtrl* caret = getChild<LLIconCtrl>("caret"); + caret->setVisible(FALSE); + if (mDragAndDropTarget && !mButtonCommands.empty()) + { + LLRect caret_rect = caret->getRect(); + LLRect toolbar_rect = getRect(); + if (mSideType == SIDE_BOTTOM) + { + caret->setRect(LLRect(mDragx-caret_rect.getWidth()/2+1, + toolbar_rect.getHeight()+3, + mDragx+caret_rect.getWidth()/2+1, + toolbar_rect.getHeight()-caret_rect.getHeight()+3)); + } + else if (mSideType == SIDE_LEFT) + { + + caret->setRect(LLRect(toolbar_rect.getWidth()-caret_rect.getWidth()+3, + mDragy+caret_rect.getHeight()/2, + toolbar_rect.getWidth()+3, + mDragy-caret_rect.getHeight()/2)); + } + else + { + caret->setRect(LLRect(-3, + mDragy+caret_rect.getHeight()/2, + caret_rect.getWidth()-3, + mDragy-caret_rect.getHeight()/2)); + } + caret->setVisible(TRUE); + } + LLUICtrl::draw(); + caret->setVisible(FALSE); } void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) @@ -713,7 +754,6 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EAcceptance* accept, std::string& tooltip_msg) { - llinfos << "Merov debug : handleDragAndDrop. drop = " << drop << ", x = " << x << ", y = " << y << llendl; // If we have a drop callback, that means that we can handle the drop BOOL handled = (mHandleDropCallback ? TRUE : FALSE); @@ -729,21 +769,22 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, // We'll use that flag to change the visual aspect of the toolbar target on draw() mDragAndDropTarget = false; - // HACK!!! - if (!isReadOnly() && handled) + // Convert drag position into insert position and rank + if (!isReadOnly() && handled && !drop) { - if (!drop) + LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; + LLAssetType::EType type = inv_item->getType(); + if (type == LLAssetType::AT_WIDGET) { - LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; - LLAssetType::EType type = inv_item->getType(); - if (type == LLAssetType::AT_WIDGET) - { - LLCommandId dragged_command(inv_item->getUUID()); - int rank = getRankFromPosition(x, y); - removeCommand(dragged_command); - addCommand(dragged_command,rank); - mDragAndDropTarget = true; - } + mDragx = x; + mDragy = y; + mDragRank = getRankFromPosition(mDragx, mDragy); + mDragAndDropTarget = true; + /* Do the following if you want to animate the button itself + LLCommandId dragged_command(inv_item->getUUID()); + removeCommand(dragged_command); + addCommand(dragged_command,rank); + */ } } @@ -784,7 +825,6 @@ BOOL LLToolBarButton::handleMouseDown(S32 x, S32 y, MASK mask) BOOL LLToolBarButton::handleHover(S32 x, S32 y, MASK mask) { -// llinfos << "Merov debug: handleHover, x = " << x << ", y = " << y << ", mouse = " << hasMouseCapture() << llendl; BOOL handled = FALSE; S32 mouse_distance_squared = (x - mMouseDownX) * (x - mMouseDownX) + (y - mMouseDownY) * (y - mMouseDownY); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index ca04a0e5d5c..f3457028e75 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -156,7 +156,7 @@ class LLToolBar // virtuals void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); - int getRankFromPosition(S32 x, S32 y); + int getRankFromPosition(S32& x, S32& y); BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, @@ -188,6 +188,9 @@ class LLToolBar tool_handledrag_callback_t mHandleDragItemCallback; tool_handledrop_callback_t mHandleDropCallback; bool mDragAndDropTarget; + int mDragRank; + S32 mDragx, + mDragy; public: // Methods used in loading and saving toolbar settings @@ -217,7 +220,7 @@ class LLToolBar LLLayoutStack* mWrapStack; LLPanel* mButtonPanel; LLToolBarEnums::SideType mSideType; - + bool mWrap; bool mNeedsLayout; S32 mPadLeft, diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 318bede6f05..164a1c0ca67 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -330,7 +330,6 @@ void LLToolBarView::draw() void LLToolBarView::startDragTool( S32 x, S32 y, const LLUUID& uuid) { - llinfos << "Merov debug: startDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; // Flag the tool dragging but don't start it yet gToolBarView->mDragStarted = false; gToolBarView->mDragCommand = LLCommandId::null; @@ -345,7 +344,6 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp { if (!gToolBarView->mDragStarted) { - llinfos << "Merov debug: handleDragTool() : x = " << x << ", y = " << y << ", uuid = " << uuid << llendl; // Start the tool dragging: // First, create the global drag and drop object @@ -357,7 +355,6 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp LLToolDragAndDrop::ESource src = LLToolDragAndDrop::SOURCE_VIEWER; LLUUID srcID; LLToolDragAndDrop::getInstance()->beginMultiDrag(types, cargo_ids, src, srcID); - llinfos << "Merov debug: beginMultiDrag() launched" << llendl; // Second, check if the command is present in one of the 3 toolbars // If it is, store the command, the toolbar and the rank in the toolbar and @@ -383,7 +380,6 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp } */ - llinfos << "Merov debug: Drag started cleanly" << llendl; gToolBarView->mDragStarted = true; return TRUE; } @@ -399,12 +395,10 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) { LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; - //llinfos << "Merov debug : handleDropTool. Drop " << inv_item->getUUID() << " named " << inv_item->getName() << " of type " << inv_item->getType() << llendl; LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - //llinfos << "Merov debug : handleDropTool. Drop source is a widget -> drop it in place..." << llendl; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); LLCommandId command_id(inv_item->getUUID()); @@ -419,7 +413,6 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t } // Suppress the command from the toolbars (including the one it's dropped in, // this will handle move position). - llinfos << "Merov debug : handleDropTool, " << command_id.name() << ", " << command_id.uuid() << llendl; gToolBarView->mToolbarLeft->removeCommand(command_id); gToolBarView->mToolbarRight->removeCommand(command_id); gToolBarView->mToolbarBottom->removeCommand(command_id); diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png b/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png index 82f58b22b916f6506333a7a3d735e6601ebc29ba..d506cda5c90a894ca1710f114c1c6e6f5aa0ca04 100644 GIT binary patch delta 138 zcmeBXT*;`|8Q|y6%O%Cdz`(%k>ERLtq(N*h4mKd!Yjl3^L`97RZ%-G;kcwMLfByfs zXEto;Z1iy0;v^<;@Wcs;CU3?Inb{Ax{O4M2mFiFIDOi2>%o&M|D;>nr52<y88drT_ nnEO#aR<1>IrCc8aBO8MVuk=sB=O4ZTjc4$5^>bP0l+XkKgB~vg delta 108 zcmZ3<*v+We8Q|y6%O%Cdz`(%k>ERLtq}hR(m4gjPcFy{CW1^ylldh+WV@SoVq?CjN zj>H3u6951I-!H#hrQ^V|hKUm|P82-m7{)N^fC1ZGmIel92Daz?7jqsL+5rt<@O1Ta JS?83{1ORo>B6I)% diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_left.png b/indra/newview/skins/default/textures/toolbar_icons/caret_left.png index 75eecc84ed59f09d2e3fc8ba42ac9d38f4a071ec..b1284aaf79e92b4cc4aebf725b3f731b99caa735 100644 GIT binary patch delta 137 zcmey%Hj!PiGr-TCmrII^fq{Y7)59eQNQ2m19Be?c*XaD-jfz6dah{$ojv*3~OD_a+ zF&MD0J@~tOruCbBeQA{nvocNfr|7dN8O0@qb<AWv(6yIYtLwlkmVA$mhxt@JTsD}7 me(SvTrl3jo*me2U(&jERMHi$6E>Q%U&fw|l=d#Wzp$Pz<hb-^_ delta 117 zcmbQp{+CU$Gr-TCmrII^fq{Y7)59eQNV5VlI|mz(Jg~g|-9|+rW-n7u7sn6|+2kMp z|JySQ-8+BafWRRZl>`PA1~vo79Sj~KDjiA;!X+$*6BvE0yI6b#mI&xEGBBhHh|Jv@ RIvr>dgQu&X%Q~loCIGO@9!LNH diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_right.png b/indra/newview/skins/default/textures/toolbar_icons/caret_right.png index 677459ae1c4d6f6543f094ac0b109ffcbcb95b92..bf6a4ed66c6c49cadb772c3854b0edf19100ca04 100644 GIT binary patch delta 135 zcmeyv*3Yik8Q|y6%O%Cdz`(%k>ERLtq(N*h4mKd!Yjl3^Mnxg!7<W$>#}En0-U|mg z84Ng>4=kI#)A@U;iMO1SsP3<Q83JkB)HbVks5vmWhn^N@{Pm4%`h>=w=oufyyEyjv kamTyF9O~gPto^}yrb=|d#E!-lK(iS<UHx3vIVCg!01W>tfdBvi delta 116 zcmeBY|HG!(8Q|y6%O%Cdz`(%k>ERLtq*;NOor4WX9$4P~Zlj_Qv!{uti(?3fY;r<E z0>{t)|Nqx1q%|a}El}Wj({4C{)iEi7v&3-&i<zT)iKF|3pcKaq3?2duhxZAH7^MHV Q1RBKP>FVdQ&MBb@02HGk?EnA( diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 5d6967ed32a..9ffd62f7a9f 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -48,8 +48,8 @@ side="left" button_display_mode="icons_only"> <icon layout="topleft" - height="7" - width="5" + height="10" + width="10" follows="left|top" top="20" left="10" @@ -99,8 +99,8 @@ side="right" button_display_mode="icons_only"> <icon layout="topleft" - height="7" - width="5" + height="10" + width="10" follows="left|top" top="20" left="10" @@ -130,13 +130,14 @@ button_display_mode="icons_with_text" visible="true"> <icon layout="topleft" - height="5" - width="7" + height="10" + width="10" follows="left|top" top="20" left="10" tab_stop="false" visible="false" + use_draw_context_alpha="false" image_name="Caret_Bottom_Icon" name="caret" /> </toolbar> -- GitLab From ecdcaf149b7def0e40898ac202539376a673c7b1 Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Tue, 11 Oct 2011 15:33:43 -0700 Subject: [PATCH 153/213] FIX EXP-1302 Make the Speak button work as a toolbar button and EXP-1324 Push to talk hot key doesn't change button state of speak button --- indra/newview/app_settings/commands.xml | 4 ++-- indra/newview/llagent.cpp | 27 ++++++++++--------------- indra/newview/llagent.h | 4 ++-- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 296d992b340..3625ce5088d 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -215,9 +215,9 @@ icon="Command_Speak_Icon" label_ref="Command_Speak_Label" tooltip_ref="Command_Speak_Tooltip" - execute_function="Agent.ToggleMicrophone" + execute_function="Agent.PressMicrophone" execute_parameters="speak" - execute_stop_function="" + execute_stop_function="Agent.ReleaseMicrophone" execute_stop_parameters="speak" is_enabled_function="Agent.IsActionAllowed" is_enabled_parameters="speak" diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 8303a5942da..31a73c8c317 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -188,28 +188,23 @@ bool LLAgent::isActionAllowed(const LLSD& sdname) } // static -void LLAgent::toggleMicrophone(const LLSD& name) +void LLAgent::pressMicrophone(const LLSD& name) { - gAgent.mMicrophoneOn = ! gAgent.mMicrophoneOn; + LLFirstUse::speak(false); - if ( gAgent.mMicrophoneOn ) - { - LLFirstUse::speak(false); + LLVoiceClient::getInstance()->inputUserControlState(true); +} - LLVoiceClient::getInstance()->inputUserControlState(true); - LLVoiceClient::getInstance()->inputUserControlState(false); - } - else - { - LLVoiceClient::getInstance()->inputUserControlState(false); - LLVoiceClient::getInstance()->inputUserControlState(true); - } +// static +void LLAgent::releaseMicrophone(const LLSD& name) +{ + LLVoiceClient::getInstance()->inputUserControlState(false); } // static bool LLAgent::isMicrophoneOn(const LLSD& sdname) { - return gAgent.mMicrophoneOn; + return LLVoiceClient::getInstance()->getUserPTTState(); } // ************************************************************ @@ -294,7 +289,6 @@ LLAgent::LLAgent() : mGenderChosen(FALSE), mVoiceConnected(false), - mMicrophoneOn(false), mAppearanceSerialNum(0), @@ -314,7 +308,8 @@ LLAgent::LLAgent() : LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback(boost::bind(&LLAgent::parcelChangedCallback)); LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Agent.IsActionAllowed", boost::bind(&LLAgent::isActionAllowed, _2)); - LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Agent.ToggleMicrophone", boost::bind(&LLAgent::toggleMicrophone, _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)); } diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 0355e68b6e5..0f7ed9ce681 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -290,12 +290,12 @@ class LLAgent : public LLOldEvents::LLObservable bool isVoiceConnected() const { return mVoiceConnected; } void setVoiceConnected(const bool b) { mVoiceConnected = b; } - static void toggleMicrophone(const LLSD& name); + static void pressMicrophone(const LLSD& name); + static void releaseMicrophone(const LLSD& name); static bool isMicrophoneOn(const LLSD& sdname); private: bool mVoiceConnected; - bool mMicrophoneOn; //-------------------------------------------------------------------- // Chat -- GitLab From ca9ea840951bcfeaf46f07c9ee0974408c21792a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 11 Oct 2011 15:54:56 -0700 Subject: [PATCH 154/213] * Dimmed overlay color on button image overlays to 0.75*alpha when buttons are unselected. --- indra/llui/llbutton.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 2e9c7a5d3d7..0a7584a5765 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -828,6 +828,10 @@ void LLButton::draw() { overlay_color.mV[VALPHA] = 0.5f; } + else if (!getToggleState()) + { + overlay_color.mV[VALPHA] = 0.75f; + } overlay_color.mV[VALPHA] *= alpha; switch(mImageOverlayAlignment) -- GitLab From 9f0890fc3a6931562843e4597c009778424ee5bc Mon Sep 17 00:00:00 2001 From: leyla_linden <none@none> Date: Tue, 11 Oct 2011 16:17:23 -0700 Subject: [PATCH 155/213] EXP-1293 Nearby chat toasts no longer appear. EXP-1316 Minimized Snapshot floater has a snapshot preview image attached below. EXP-1318 Clicking on nearby chat toasts should bring up Nearby Chat history --- indra/newview/llchatitemscontainerctrl.cpp | 5 +++-- indra/newview/llfloatersnapshot.cpp | 2 +- indra/newview/llnearbychatbar.cpp | 10 ++++++++++ indra/newview/llnearbychatbar.h | 2 ++ indra/newview/llnearbychathandler.cpp | 2 +- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/indra/newview/llchatitemscontainerctrl.cpp b/indra/newview/llchatitemscontainerctrl.cpp index 8584885bc97..9a84280f258 100644 --- a/indra/newview/llchatitemscontainerctrl.cpp +++ b/indra/newview/llchatitemscontainerctrl.cpp @@ -35,6 +35,7 @@ #include "llfloaterreg.h" #include "lllocalcliprect.h" #include "lltrans.h" +#include "llnearbychatbar.h" #include "llviewercontrol.h" #include "llagentdata.h" @@ -315,12 +316,12 @@ BOOL LLNearbyChatToastPanel::handleMouseUp (S32 x, S32 y, MASK mask) return TRUE; else { - LLFloaterReg::showInstance("nearby_chat",LLSD()); + LLNearbyChatBar::getInstance()->showHistory(); return FALSE; } } - LLFloaterReg::showInstance("nearby_chat",LLSD()); + LLNearbyChatBar::getInstance()->showHistory(); return LLPanel::handleMouseUp(x,y,mask); } diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 9d020517d84..8105844b0df 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -2217,7 +2217,7 @@ void LLFloaterSnapshot::draw() LLFloater::draw(); - if (previewp) + if (previewp && !isMinimized()) { if(previewp->getThumbnailImage()) { diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 3073a19d832..cd84275ef09 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -135,6 +135,16 @@ LLNearbyChatBar* LLNearbyChatBar::getInstance() return LLFloaterReg::getTypedInstance<LLNearbyChatBar>("chat_bar"); } +void LLNearbyChatBar::showHistory() +{ + if (!getChildView("nearby_chat")->getVisible()) + { + onToggleNearbyChatPanel(); + } + + openFloater(); +} + void LLNearbyChatBar::draw() { displaySpeakingIndicator(); diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index a6fd6e5665b..5a7edac1bbf 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -59,6 +59,8 @@ class LLNearbyChatBar : public LLFloater static void sendChatFromViewer(const std::string &utf8text, EChatType type, BOOL animate); static void sendChatFromViewer(const LLWString &wtext, EChatType type, BOOL animate); + void showHistory(); + protected: static BOOL matchChatTypeTrigger(const std::string& in_str, std::string* out_str); static void onChatBoxKeystroke(LLLineEditor* caller, void* userdata); diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index dcf444b048c..7503164fe64 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -581,7 +581,7 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, // WARNING - not sChatWatcher->post(notification); - if( nearby_chat->getVisible() + if( chat_bar->getVisible() && nearby_chat->getVisible() || ( chat_msg.mSourceType == CHAT_SOURCE_AGENT && gSavedSettings.getBOOL("UseChatBubbles") ) || !mChannel->getShowToasts() ) // to prevent toasts in Busy mode -- GitLab From dacfe7b2bdc845640f18db33992924033494e470 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Tue, 11 Oct 2011 16:20:02 -0700 Subject: [PATCH 156/213] EXP-1300 : Fix caret position in bottom bar, fix misplacement when moving within same toolbar, suppress visible caret in some situations, no caret if toolbar empty --- indra/llui/lltoolbar.cpp | 5 +++-- indra/newview/lltoolbarview.cpp | 27 +++++++++++++++++++++------ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index d4633d7c3b1..a1ea4ba18b2 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -425,12 +425,12 @@ int LLToolBar::getRankFromPosition(S32& x, S32& y) } if (it_button != end_button) { - x = button_rect.mRight + dx; + x = button_rect.mLeft + dx; y = button_rect.mTop + dy; } else { - x = button_rect.mLeft + dx; + x = button_rect.mRight + dx; y = button_rect.mBottom + dy; } @@ -655,6 +655,7 @@ void LLToolBar::draw() LLUICtrl::draw(); caret->setVisible(FALSE); + mDragAndDropTarget = false; } void LLToolBar::reshape(S32 width, S32 height, BOOL called_from_parent) diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 8ae9328f6dc..86f6477710d 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -406,20 +406,35 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t if (command) { // Convert the (x,y) position in rank in toolbar - int rank = 0; + int new_rank = LLToolBar::RANK_NONE; if (!toolbar->isReadOnly()) { - rank = toolbar->getRankFromPosition(x,y); + new_rank = toolbar->getRankFromPosition(x,y); } // Suppress the command from the toolbars (including the one it's dropped in, // this will handle move position). - gToolBarView->mToolbarLeft->removeCommand(command_id); - gToolBarView->mToolbarRight->removeCommand(command_id); - gToolBarView->mToolbarBottom->removeCommand(command_id); + int old_rank = LLToolBar::RANK_NONE; + int rank; + if ((rank = gToolBarView->mToolbarLeft->removeCommand(command_id)) != LLToolBar::RANK_NONE) + { + old_rank = rank; + } + if ((rank = gToolBarView->mToolbarRight->removeCommand(command_id)) != LLToolBar::RANK_NONE) + { + old_rank = rank; + } + if ((rank = gToolBarView->mToolbarBottom->removeCommand(command_id)) != LLToolBar::RANK_NONE) + { + old_rank = rank; + } // Now insert it in the toolbar at the detected rank if (!toolbar->isReadOnly()) { - toolbar->addCommand(command->id(),rank); + if ((old_rank != LLToolBar::RANK_NONE) && (old_rank < new_rank)) + { + new_rank -= 1; + } + toolbar->addCommand(command->id(),new_rank); } } else -- GitLab From 3c06bb26b0fc4204945020c37f00dbdf0ff9338b Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 11 Oct 2011 17:19:14 -0700 Subject: [PATCH 157/213] New icons with 10% more opacity --- .../default/textures/toolbar_icons/move.png | Bin 1322 -> 1328 bytes .../textures/toolbar_icons/nearbyvoice.png | Bin 1280 -> 3160 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/toolbar_icons/move.png b/indra/newview/skins/default/textures/toolbar_icons/move.png index 585411078233ed9a823ef9e5cee535e65a8e9bea..5c2ced737589519f3d500df8abd238206e25a201 100644 GIT binary patch delta 653 zcmZ3*wSjAc8&iy<si~8pxsj!-vxTLhp{s#~v5|{~qlKk`qmiSfi;<&}LPc(YudkI$ zesXDUYF>$_i>(q+L@y;X#R{s|5trV{i<k^x7MSBwq@++>5|o-|m4e#>3tW09>oGgk zo6kBmi-Cc0iKmNWNX4zBAOHW`GxI!V+~lCspwqC1f6a7`<~un#Ib|AJTI-smJmxvB z4qqR~GUfNb$H)8g|Ni|e`9y-{Q`gl_VfAy2PwN;y`YY%iOcmf3b8q08p`fp?|Lpnm z;|EWi(D?l7>gxEIn3(gGm6g>6ZA!bk@7%c)biaOo{eRI{OdGr#?){oKXU-m8jkV5O zu3uXly<K?8&!gSq+Z_{`O+P&U{QSIqduyvKyH+Isk&i6ARX;vF+<Sk2ef@0v`hP_W zZWvEctpE3?lG|9IC4OJcPT{)>ZciN8+Sok`er`@be`Cgs8BbJIRHif>y0bm+E>}Qs zFmvl%W&v%6kM&9lab4y;4ht48Tqt>>o@tY;NZhYqzvlipBo_X~`|j@Y_ktP={{Q{` zoj2vi$;s;Rj7K+n7-^W8l$d!KYs_ib@)zic`wc&=%iiqp?{eIvaNAJ|=%YG@RgQws zTo)~tKWo}$;G2JcUoDr=`c<o<9Huy4UmsuJ^+rm?x7hK~azE#}RUT6u9cuVH0%Mq& z7c~6;`uckDqEAu=vYHQ1c{x~`hlPdBN##{;Wa`ae5J+HXX>euz|FYr{0}yz+`njxg HN@xNAqlyj- delta 647 zcmdnMwTf$l8&iz2qlvMTp^=5FrHPZFp{s$DrG>MFfs3P=g{zCJg|VTMLPc(YudkI$ zesXDUYF>$_i>(q+L@y;X#R{s|5|`e|i<k^z+}te9oXj0TiX5?9P+Ss}nr4-P#R8~a zM_hU*>oGgkGa7l#Wnf^O=jq}YQgJKk&;S4S%%%+7M(q<P3Qo7GQ~1Yu#6E%P1z&>F zAtO_1>Df%Ku19rNG~Qr5ks@)7Eo^;UEZ3CX{~jOj_x}6$@3k9W8oxd=>|pMA>OaTA zP&h?E#QL#O2Wz*o1Dng~)2F+C{QTL;c-Z&b)z#teckbA+?sNU8Pw!N3W#{GPO?!WT zzkT-;t_|BKO`d$Z@zNug>fF1#O5ZA+)sNc~(UWuI^Yiol?X9g_nWu^{Y}DN4D6ugu zCuhxv=jZ3ozr8)bo?rO)@9*!0IXO8Sr)r0@F_<phU-R=4YplF-kwWt&!3pud-`q5o zQ&Us3o{%=-$J*%aOjoa5*-_u<W2-QY@lmcr&9sCs<|Zar4(ws!(yy)kn^2S3t^Mog z`@6f#1yWAzum69p@x^3y|E8D(=ShwW7cTs$a26=Ik73EwhKHNEkKEswd|W7q=Mno& zzDqy;{{GIkg3WP;cxPXo$#srHCVOjtm+5-!S+z=QrbhF+`2G9DZkl?`5^{WGyWDSX zl;0Fb2Oh7M=M!R?nHMzt|N8p6TMS#`5@nl6PtH}(<hFg{P&mL)lk)9fi!w_K0}yz+ L`njxgN@xNA5RnhO diff --git a/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png index 5bdcb22aa5e7698eada073b07bf7f15ab5452b9b..46e299cb94235afffdf70d3c3c3b7b2e852c2815 100644 GIT binary patch delta 3155 zcmV-Z46O5j3fLHsB!3BTNLh0L01FcU01FcV0GgZ_000V4X+uL$P-t&-Z*ypGa3D!T zLm+T+Z)Rz1WdHzp+MQEpR8#2|J@?-9LQ9B%luK_?6$l_wLW_VDktQl32@pz%A)(n7 zQNa;KMFbnjpojyGj)066Q7jCK3fKqaA)=0hqlk*i`{8?|Yk$_f_vX$1wbwr9tn;0- z&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~HK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu z(+dayz)hRLFdT>f59&ghTmgWD0l;*TI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4- z;{Z@C0AMG7=6}-wfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-i zEdVe{S7t~6u(trf&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@ znX){&BsoQaTL>+22Uk}v9w^R97b_GtVFF>AKrX_0nSU8Ffiw@`^UMGMppg|3;Dhu1 zc+L*4&dxTDwhmt{>c0m6B4T3W{^ifBa6kY6;dFk{{wy!E8h|?nfNlPwCGG@hUJIag z_lst-4?wj5py}FI^KkfnJUm6Akh$5}<>chpO2k52Vaiv1{%68pz*qfj`F=e7_x0eu z;v|7GU4MZ`1o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcqjPo+3 zB8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S1Au6Q z;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO0Dk~Ppn)o|K^yeJ7%adB9Ki+L!3+Fg zHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_vKpix|QD}yfa1JiQRk#j4a1Z)n2%f<x zynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxWizFb)h!jyGOOZ85F;a?DAXP{m@;!0_ zIe&*-M!JzZ$N(~e{D!<oF_eL_Q9aZQwL`h6HyVUSq6^SubTOKb7NDEZa<m#fj5eX? z(5q+<+K)a%$1uR?7zZ=NY%ngy!$Pq*ED4ii%dsM?46DW(uvV-CyNUH<&#`v|5`jg) z2{r_GLLgxtK}c9kSWehTs3069G!fbfH-8BOgi*pLB9o{~v?jU{`NSAvGBJl(NGv1P z5|0xv5POJ2#5W`oi9<3cxsU=$v7}Ve64FM}Zc-!ZEUB9`NE#!P$=YOVvIjYoEFde$ zh2)*&!{jsM8{{GKTMC_GKyjq_Q{pI6%4$j(<q+jG<pyP#GC@_Nno`}Up;QqykAGT1 zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWw<V8OKyGH!<s&=a~<gZ&g?-wkmuTk;)2{N|h#+ z8!9hUsj8-`-l_{#^Hs}KkEvc$eSfY-RWnoLsR`7Ut5vF<Q0r40Q)j6=sE4X&sBct1 zq<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0b%8a+Cb7-ge0D0knEf5Qi#@8T zp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6ODdH&`rZh~sF=bq9s(+T3mRPGu zt5K^*>%BIv?Wdily+ylO`+*KY$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBU zM0dY#r|y`ZzFvTyOmC;&dA;ZQ9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe* z@liuv!$3o&VU=N*;e?U7(SJOn)kcj*4~%KXT;n9;ZN_cJqb3F>Atp;r>P_yNQcbz0 zDW*G2J50yT%*~?B)|oY%Ju%lZ=bPu7*PGwBU|M)uEVih&xMfMQ<XWa#?zX&cg<3gT zrC3#3U9(25ovkI-yREyY5vRFMlTNFi)@Q@8@wUmfska%h<=6(>u79>|wtZn|Vi#w( z#jeBdlf9FDx_yoPJqHbk*$%56S{;6Kv~m<WRyy9A&YbQ)eZ};a=`Uwk&k)bpGvl@s z%PGWZol~3BM`ssjxpRZ_h>M9!g3B(KJ}#RZ#@)!h<Vtk)ab4kh()FF2vzx;0sN1jZ zHtuQehuojcG@mJ+S${Kg(8I_>;8Eq#KMS9gFl*neeosSBfoHYnBQIkwkyowPu(zdm zs`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMeBmZRodjHV?r+_5^X9J0W zL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0?0=B0A@}E)&XLY(4uw#D z=+@8&Vdi0r!+s1Wg@=V#hChyQh*%oYF_$%W(cD9G-$eREmPFp0XE9GXuPsV7Dn6<% zYCPIEx-_~!#x7=A%+*+(SV?S4962s3t~PFLzTf=q^M~S{;tS(@7nm=|U2u7!&cgJC zrxvL$5-d8FKz~e#PB@hCK@cja7K|nG6L%$!3VFgE!e=5c(KgYD*h5?@9!~N|DouKl z?2)`Rc_hU%r7Y#SgeR$xyi5&D-J3d|7MgY-Z8AMNy)lE5k&tmhsv%92wrA>R=4N)w ztYw9={>5&Kw=W)*2gz%*kgNq+Eef_mrsz~!DAy_nvVUh~S7yJ>iOM;atDY;(?aZ^v z+mJV$@1Ote62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~p zu715HdQEGAUct(O!L<Qv>kCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$ z+<4_1hktL%znR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX4c}I@?e+FW+b@^R zDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i&_B8C(+grT%{XWUQ z+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?SIDu(gXbmBM!FLxzyDi(mhmCkJc;e zM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4Q zQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6 z=YM0)-)awU@466l;nGF_i|0GMJI-A4xODQe+vO8ixL2C5I$v$-bm~0*lhaSfyPUh4 zuDM)mx$b(swR>jw=^LIm&fWCAdGQwi*43UlJ>9+YdT;l|_x0Zv-F|W>{m#p~*>@-I zt-MdXU-UrjLD@syht)q@{@mE_+<$7ocYmPs(cDM(28Dyq{*m>M4?_iynUBkc4TkHU zI6gT!;y-fz>HMcd&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M z!p0uH$#^p{Ui4P`?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&Gk-1H z0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F}0004lNkl<Z zc-qXAu}cC`9LIm}&h*fNlxT_Y#DZ`QthN8ZmO!wrEpiQ{L1>fv7hDS(T3ou#C0zm& zNkWJ_L<s8epoe-#cYIrv%nUtn=zjxmc|U$1c)$03j{%@XAkczXn1}$7$K&l1(FqZ) z|LC6~QYJT4RaNTs`g10eIiFXg;JXkZq5~pYa~$UqfLX0pAH(7B<}8tdAw)#ETrO2C z7R%{$ItxJJoYySNG75#l=`@itS{Q?fh;x1hz$}-`4@BhGG%X9jER{+(zkfvdgW((^ zhG9HemSyDg`He=Su{RhD-de3zZPY*4^)tr0olfT^5D19LWO7B<b+g~^TaqOCz2?Z@ z?RJ-mh@#QxXS>~&T-RlSAb1O;EX#+oEXQ2ebrOlhJLh~W6bc1=KHtYL5gTJtRH;;s zVzJn&ZQCki%o0U06$}QK08HG^O!maEj{)2Q*pA2JDP7k!+qPc;?9Y{KOer**&1(Q= tuh+Zs@<gV|F96&D*clhGfA=4K4FEc0SS-%SMT`Id002ovPDHLkV1nG>=^y|A literal 1280 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W}skZsAp(w zVs37(qhMrUXrOOkq;F`XYiMp|Y-D9%pa2C*K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mLM~XjC6r2bc-wVN)jt{^NN*WCb*;)Cl_TFlw{`TDS%8&Ov*1U zu~h=P6yk;40=Thx#n4~^2AF<DVu8M)o&m^9FonLp_?717!c`ZS1f?R}i`C%bkjjEo z{h-w1{L-RiV8o><gRCmBaxO|uEXgkl$<NP$g<?QPeo20DMt*^UbFis`Z(?$09*7TC z@9S&jnO9trn3tUD>0+w{G(j&jGsVi%(Am|=(b(D5(!|No(AB`n(!$xoz{Szb!qvsq z!q^a|*Cju>G&eP`1g19ysMiS?F%||+t~m9Al0t3)&}Ns^qRg_?6t|-MTm`U~tuk@D z#Sy1@P`xQw+yeE76HdMQK*#8VA{Hs4VM4&v17gCHEsz6G_^Elo)LsNk)<?vbxiBy= z0z<$tq~cc6pa1{unN1mlnWr*b<w;_w>~(oB$y~@K(7o`5dO`sIt^?=hT374E?Ws^! zQ(HDCqPeQ!(ffrtiV9^cNfYhs|Cux&>6f>!a|{Rwm^Q&N!8w5~G&Gd;%v|g54k;-q zasfS$KR-YJy#CLRkIPoC)|Q^_XluY@%#tP$kgV5H``|#Mv4h_2zrVjbvhBOSr}DEF zPxA!R#nLQGTJP<tEEavz)z-%L^7M55+4cYb{k^(2di%M<UxY>f_Vo0;pJ!89G=1*e zxi`<8>G^)Jnf?9#+TY)rfuQ$F$&qjG?pn(UILF2P`@Yz{-{RlDzo$<eIpPx46cP}? z!II><;F*0?RMh&$#AS!ho;`c+(4kM9hZPolW=)j1yCC^^U#q5;7T2FYKa14^{;?Yy z7c+>9i)$O?^a=Ug%xIM5KJvODA~Z76l0m}ldt;j&`zPHFubUp6LVW9DcW;wX`S<np w_0%OPf;ny189wqUTyrq%D7-M$oq>^!K`=Eu=Q__FZcv%z>FVdQ&MBb@0BGmN?f?J) -- GitLab From f9e900f5ac9002f5ef3b44b02ac300971288e89b Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Tue, 11 Oct 2011 17:36:23 -0700 Subject: [PATCH 158/213] * New floater positioning code. Better than what's checked in but not great. * Floater updates for positioning and to revert some earlier string changes. --- indra/llui/llfloater.cpp | 76 +++++++++++++++---- indra/llui/llfloater.h | 42 ++++++++-- indra/llui/llfloaterreg.cpp | 35 ++++----- indra/newview/llappviewer.cpp | 7 +- indra/newview/llfloatercamera.cpp | 2 +- indra/newview/llfloaterpreference.cpp | 1 - indra/newview/llfloatertoybox.cpp | 2 - .../skins/default/xui/en/floater_about.xml | 1 + .../default/xui/en/floater_about_land.xml | 3 +- .../skins/default/xui/en/floater_activeim.xml | 2 - .../skins/default/xui/en/floater_avatar.xml | 6 +- .../default/xui/en/floater_avatar_picker.xml | 1 + .../skins/default/xui/en/floater_camera.xml | 6 +- .../skins/default/xui/en/floater_chat_bar.xml | 5 +- .../skins/default/xui/en/floater_critical.xml | 2 +- .../default/xui/en/floater_destinations.xml | 7 +- .../skins/default/xui/en/floater_gesture.xml | 4 +- .../default/xui/en/floater_help_browser.xml | 3 +- .../default/xui/en/floater_im_session.xml | 2 - .../default/xui/en/floater_inventory.xml | 1 - .../en/floater_inventory_item_properties.xml | 1 - .../default/xui/en/floater_land_holdings.xml | 1 + .../skins/default/xui/en/floater_map.xml | 5 +- .../default/xui/en/floater_media_browser.xml | 1 - .../default/xui/en/floater_media_settings.xml | 1 - .../default/xui/en/floater_model_preview.xml | 2 +- .../skins/default/xui/en/floater_moveview.xml | 5 +- .../default/xui/en/floater_my_appearance.xml | 3 +- .../default/xui/en/floater_my_inventory.xml | 3 +- .../default/xui/en/floater_my_profile.xml | 3 +- .../default/xui/en/floater_outfit_save_as.xml | 2 +- .../skins/default/xui/en/floater_people.xml | 1 + .../skins/default/xui/en/floater_places.xml | 1 + .../skins/default/xui/en/floater_postcard.xml | 1 - .../default/xui/en/floater_preferences.xml | 5 +- .../xui/en/floater_preview_animation.xml | 1 - .../xui/en/floater_preview_gesture.xml | 3 +- .../xui/en/floater_preview_notecard.xml | 1 - .../default/xui/en/floater_preview_sound.xml | 1 - .../xui/en/floater_preview_texture.xml | 1 - .../skins/default/xui/en/floater_script.xml | 2 - .../default/xui/en/floater_script_preview.xml | 1 - .../default/xui/en/floater_script_queue.xml | 1 - .../skins/default/xui/en/floater_search.xml | 14 ++-- .../skins/default/xui/en/floater_snapshot.xml | 3 +- .../default/xui/en/floater_sound_devices.xml | 2 +- .../skins/default/xui/en/floater_sys_well.xml | 2 - .../skins/default/xui/en/floater_telehub.xml | 1 - .../skins/default/xui/en/floater_tools.xml | 1 + .../skins/default/xui/en/floater_toybox.xml | 4 +- .../default/xui/en/floater_voice_controls.xml | 3 +- .../default/xui/en/floater_web_content.xml | 1 - .../default/xui/en/floater_world_map.xml | 4 +- .../default/xui/en/outfit_accordion_tab.xml | 2 +- .../skins/default/xui/en/panel_toast.xml | 1 + .../skins/default/xui/en/widgets/floater.xml | 4 +- 56 files changed, 184 insertions(+), 112 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 90c41e99dc1..0398c0d7eb4 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -62,6 +62,17 @@ // use this to control "jumping" behavior when Ctrl-Tabbing const S32 TABBED_FLOATER_OFFSET = 0; +namespace LLInitParam +{ + void TypeValues<LLFloaterEnums::EOpenPositioning>::declareValues() + { + declare("none", LLFloaterEnums::OPEN_POSITIONING_NONE); + declare("cascading", LLFloaterEnums::OPEN_POSITIONING_CASCADING); + declare("centered", LLFloaterEnums::OPEN_POSITIONING_CENTERED); + declare("specified", LLFloaterEnums::OPEN_POSITIONING_SPECIFIED); + } +} + std::string LLFloater::sButtonNames[BUTTON_COUNT] = { "llfloater_close_btn", //BUTTON_CLOSE @@ -154,7 +165,6 @@ LLFloater::Params::Params() : title("title"), short_title("short_title"), single_instance("single_instance", false), - auto_tile("auto_tile", false), can_resize("can_resize", false), can_minimize("can_minimize", true), can_close("can_close", true), @@ -164,7 +174,7 @@ LLFloater::Params::Params() save_rect("save_rect", false), save_visibility("save_visibility", false), can_dock("can_dock", false), - open_centered("open_centered", false), + open_positioning("open_positioning", LLFloaterEnums::OPEN_POSITIONING_NONE), header_height("header_height", 0), legacy_header_height("legacy_header_height", 0), close_image("close_image"), @@ -227,7 +237,6 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p) mShortTitle(p.short_title), mSingleInstance(p.single_instance), mKey(key), - mAutoTile(p.auto_tile), mCanTearOff(p.can_tear_off), mCanMinimize(p.can_minimize), mCanClose(p.can_close), @@ -831,7 +840,7 @@ LLMultiFloater* LLFloater::getHost() return (LLMultiFloater*)mHostHandle.get(); } -void LLFloater::applySavedVariables() +void LLFloater::applySavedVariables() { applyRectControl(); applyDockState(); @@ -839,13 +848,7 @@ void LLFloater::applySavedVariables() void LLFloater::applyRectControl() { - // first, center on screen if requested - if (mOpenCentered) - { - center(); - } - - // override center if we have saved rect control + // If we have a saved rect, use it if (mRectControl.size() > 1) { const LLRect& rect = getControlGroup()->getRect(mRectControl); @@ -867,7 +870,50 @@ void LLFloater::applyDockState() bool dockState = getControlGroup()->getBOOL(mDocStateControl); setDocked(dockState); } +} + +void LLFloater::applyPositioning() +{ + // Otherwise position according to the positioning code + switch (mOpenPositioning) + { + case LLFloaterEnums::OPEN_POSITIONING_CENTERED: + center(); + break; + + case LLFloaterEnums::OPEN_POSITIONING_SPECIFIED: + { + // Translate relative to snap rect + LLRect r = getRect(); + r.mBottom = getSnapRect().getHeight() - r.getHeight() - r.mBottom; + setOrigin(r.mLeft, r.mBottom); + translateIntoRect(getSnapRect(), FALSE); + } + break; + case LLFloaterEnums::OPEN_POSITIONING_CASCADING: + { + static const U32 CASCADING_FLOATER_HOFFSET = 25; + static const U32 CASCADING_FLOATER_VOFFSET = 25; + static const S32 CASCADING_FLOATER_LIMIT = 15; + static S32 cascading_floater_count = 1; + const S32 top = CASCADING_FLOATER_VOFFSET * cascading_floater_count; + const S32 left = CASCADING_FLOATER_HOFFSET * cascading_floater_count; + setOrigin(left, top); + translateIntoRect(getSnapRect(), FALSE); + + if (++cascading_floater_count > CASCADING_FLOATER_LIMIT) + { + cascading_floater_count = 1; + } + } + break; + + case LLFloaterEnums::OPEN_POSITIONING_NONE: + default: + // Do nothing + break; + } } void LLFloater::applyTitle() @@ -2784,7 +2830,6 @@ void LLFloater::setInstanceName(const std::string& name) { mDocStateControl = LLFloaterReg::declareDockStateControl(ctrl_name); } - } } @@ -2846,9 +2891,9 @@ void LLFloater::initFromParams(const LLFloater::Params& p) mHeaderHeight = p.header_height; mLegacyHeaderHeight = p.legacy_header_height; mSingleInstance = p.single_instance; - mAutoTile = p.auto_tile; - mOpenCentered = p.open_centered; + mOpenPositioning = p.open_positioning; + /* if (p.save_rect && mRectControl.empty()) { mRectControl = "t"; // flag to build mRectControl name once mInstanceName is set @@ -2856,7 +2901,7 @@ void LLFloater::initFromParams(const LLFloater::Params& p) if (p.save_visibility) { mVisibilityControl = "t"; // flag to build mVisibilityControl name once mInstanceName is set - } + }*/ if(p.save_dock_state) { @@ -3008,6 +3053,7 @@ bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::str llerrs << "Failed to construct floater " << getName() << llendl; } + applyPositioning(); applyRectControl(); // If we have a saved rect control, apply it gFloaterView->adjustToFitScreen(this, FALSE); // Floaters loaded from XML should all fit on screen diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index af9665e599b..b404306e948 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -59,11 +59,35 @@ const BOOL CLOSE_NO = FALSE; const BOOL ADJUST_VERTICAL_YES = TRUE; const BOOL ADJUST_VERTICAL_NO = FALSE; +namespace LLFloaterEnums +{ + enum EOpenPositioning + { + OPEN_POSITIONING_NONE, + OPEN_POSITIONING_CASCADING, + OPEN_POSITIONING_CENTERED, + OPEN_POSITIONING_SPECIFIED, + + OPEN_POSITIONING_COUNT + }; +} + +namespace LLInitParam +{ + template<> + struct TypeValues<LLFloaterEnums::EOpenPositioning> : public TypeValuesHelper<LLFloaterEnums::EOpenPositioning> + { + static void declareValues(); + }; +} + + class LLFloater : public LLPanel { -friend class LLFloaterView; -friend class LLFloaterReg; -friend class LLMultiFloater; + friend class LLFloaterView; + friend class LLFloaterReg; + friend class LLMultiFloater; + public: struct KeyCompare { @@ -95,7 +119,6 @@ friend class LLMultiFloater; short_title; Optional<bool> single_instance, - auto_tile, can_resize, can_minimize, can_close, @@ -104,8 +127,10 @@ friend class LLMultiFloater; save_rect, save_visibility, save_dock_state, - can_dock, - open_centered; + can_dock; + + Optional<LLFloaterEnums::EOpenPositioning> open_positioning; + Optional<S32> header_height, legacy_header_height; // HACK see initFromXML() @@ -297,6 +322,7 @@ friend class LLMultiFloater; virtual void applyRectControl(); void applyDockState(); + void applyPositioning(); void storeRectControl(); void storeVisibilityControl(); void storeDockStateControl(); @@ -378,14 +404,14 @@ friend class LLMultiFloater; BOOL mSingleInstance; // TRUE if there is only ever one instance of the floater std::string mInstanceName; // Store the instance name so we can remove ourselves from the list - BOOL mAutoTile; // TRUE if placement of new instances tiles BOOL mCanTearOff; BOOL mCanMinimize; BOOL mCanClose; BOOL mDragOnLeft; BOOL mResizable; - bool mOpenCentered; + + LLFloaterEnums::EOpenPositioning mOpenPositioning; S32 mMinWidth; S32 mMinHeight; diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index ae06eb74ac5..058223abbd4 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -107,7 +107,6 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key) if (!groupname.empty()) { instance_list_t& list = sInstanceMap[groupname]; - int index = list.size(); res = build_func(key); if (!res) @@ -121,27 +120,18 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key) llwarns << "Failed to build floater type: '" << name << "'." << llendl; return NULL; } - + // Note: key should eventually be a non optional LLFloater arg; for now, set mKey to be safe if (res->mKey.isUndefined()) { - res->mKey = key; + res->mKey = key; } res->setInstanceName(name); res->applySavedVariables(); // Can't apply rect and dock state until setting instance name - if (res->mAutoTile && !res->getHost() && index > 0) - { - LLFloater* last_floater = getLastFloaterInGroup(groupname); - if (last_floater) - { - res->stackWith(*last_floater); - gFloaterView->adjustToFitScreen(res, true); - } - } - else - { - gFloaterView->adjustToFitScreen(res, false); - } + + // apply list.size() and possibly stackWith(getLastFloaterInGroup(groupname)) + gFloaterView->adjustToFitScreen(res, false); + list.push_back(res); } } @@ -477,16 +467,21 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) std::string name = sdname.asString(); parse_name_key(name, key); - LLFloater* instance = findInstance(name, key); + LLFloater* instance = getInstance(name, key); - if (LLFloater::isMinimized(instance)) + if (!instance) + { + lldebugs << "Unable to get instance of floater '" << name << "'" << llendl; + } + else if (instance->isMinimized()) { instance->setMinimized(FALSE); instance->setFocus(TRUE); } - else if (!LLFloater::isShown(instance)) + else if (!instance->isShown()) { - showInstance(name, key, TRUE); + instance->openFloater(key); + instance->setFocus(TRUE); } else if (!instance->hasFocus() && !instance->getIsChrome()) { diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 5077a0a596b..2a9e411762a 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -4293,12 +4293,15 @@ void LLAppViewer::idle() return; } - gViewerWindow->updateUI(); + if (!quitRequested()) + { + gViewerWindow->updateUI(); + } /////////////////////////////////////// // Agent and camera movement // - LLCoordGL current_mouse = gViewerWindow->getCurrentMouse(); + LLCoordGL current_mouse = gViewerWindow->getCurrentMouse(); { // After agent and camera moved, figure out if we need to diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp index b4658b1edbf..aa78bc4f292 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -369,7 +369,7 @@ BOOL LLFloaterCamera::postBuild() // ensure that appearance mode is handled while building. See EXT-7796. handleAvatarEditingAppearance(sAppearanceEditing); - return TRUE; + return LLFloater::postBuild(); } void LLFloaterCamera::fillFlatlistFromPanel (LLFlatListView* list, LLPanel* panel) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 8412d378106..5fdeb46daaf 100755 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -1913,7 +1913,6 @@ BOOL LLFloaterPreferenceProxy::postBuild() getChild<LLLineEditor>("socks5_password")->setValue(socks_cred->getAuthenticator()["creds"].asString()); } - center(); return TRUE; } diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index fa600229110..84881655f81 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -58,8 +58,6 @@ bool compare_localized_command_labels(LLCommand * cmd1, LLCommand * cmd2) BOOL LLFloaterToybox::postBuild() { - center(); - mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); mToolBar = getChild<LLToolBar>("toybox_toolbar"); mToolBar->setStartDragCallback(boost::bind(LLToolBarView::startDragTool,_1,_2,_3)); diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index 2580c06344e..36af4758247 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="centered" legacy_header_height="18" height="440" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 9cd838318c9..eaffbf5fa61 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -1,12 +1,13 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" can_tear_off="false" height="420" layout="topleft" name="floaterland" help_topic="floaterland" save_rect="true" - title="About land" + title="ABOUT LAND" width="490"> <floater.string name="maturity_icon_general"> diff --git a/indra/newview/skins/default/xui/en/floater_activeim.xml b/indra/newview/skins/default/xui/en/floater_activeim.xml index 96fe0aa70c1..670c528f083 100644 --- a/indra/newview/skins/default/xui/en/floater_activeim.xml +++ b/indra/newview/skins/default/xui/en/floater_activeim.xml @@ -4,8 +4,6 @@ name="floater_activeim" help_topic="floater_activeim" title="ACTIVE IM" - top="26" - left="0" height="22" width="320" follows="right|bottom" diff --git a/indra/newview/skins/default/xui/en/floater_avatar.xml b/indra/newview/skins/default/xui/en/floater_avatar.xml index 666aa2d1641..6e5c4ada482 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar.xml @@ -12,12 +12,12 @@ single_instance="true" help_topic="avatar" save_rect="true" - title="Avatar Picker" - width="445"> + title="AVATAR PICKER" + width="635"> <web_browser top="25" height="200" - width="445" + width="635" follows="all" name="avatar_picker_contents" trusted_content="true"/> diff --git a/indra/newview/skins/default/xui/en/floater_avatar_picker.xml b/indra/newview/skins/default/xui/en/floater_avatar_picker.xml index a11946d3520..cbbbeb60948 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar_picker.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar_picker.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="18" can_resize="true" height="350" diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index 125ca81cde3..7f3abbb4815 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -1,16 +1,20 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="specified" legacy_header_height="18" can_minimize="true" can_close="true" follows="bottom" height="164" layout="topleft" + left="683" + bottom="0" name="camera_floater" help_topic="camera_floater" - save_rect="true" save_visibility="true" single_instance="true" + title="VIEW" + save_rect="true" width="228"> <floater.string name="rotate_tooltip"> diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index 6977e29b788..924e4bc11ea 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -1,10 +1,13 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="specified" height="60" + left="150" + bottom="0" layout="topleft" legacy_header_height="25" single_instance="true" - title="Nearby chat" + title="NEARBY CHAT" save_rect="true" can_close="true" can_minimize="true" diff --git a/indra/newview/skins/default/xui/en/floater_critical.xml b/indra/newview/skins/default/xui/en/floater_critical.xml index 05c958e051b..13b15bf7240 100644 --- a/indra/newview/skins/default/xui/en/floater_critical.xml +++ b/indra/newview/skins/default/xui/en/floater_critical.xml @@ -6,7 +6,7 @@ height="500" layout="topleft" name="modal container" - open_centered="true" + open_positioning="centered" width="600"> <button height="20" diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml index 669b7eb15ac..2b48a9f6d6a 100644 --- a/indra/newview/skins/default/xui/en/floater_destinations.xml +++ b/indra/newview/skins/default/xui/en/floater_destinations.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="225" can_minimize="true" can_close="true" @@ -13,12 +14,12 @@ single_instance="true" help_topic="destinations" save_rect="true" - title="Destinations" - width="525"> + title="DESTINATIONS" + width="840"> <web_browser top="25" height="200" - width="525" + width="840" follows="all" name="destination_guide_contents" start_url="http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html" diff --git a/indra/newview/skins/default/xui/en/floater_gesture.xml b/indra/newview/skins/default/xui/en/floater_gesture.xml index c0424f4de3c..a941734358c 100644 --- a/indra/newview/skins/default/xui/en/floater_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_gesture.xml @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" + save_rect="true" legacy_header_height="18" can_resize="true" height="465" name="gestures" help_topic="gestures" - title="Gestures" + title="GESTURES" background_visible="true" follows="all" label="Places" diff --git a/indra/newview/skins/default/xui/en/floater_help_browser.xml b/indra/newview/skins/default/xui/en/floater_help_browser.xml index de6d586f720..d101bca6943 100644 --- a/indra/newview/skins/default/xui/en/floater_help_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_help_browser.xml @@ -1,9 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="18" can_resize="true" - left="10000" - bottom="10000" height="600" layout="topleft" min_height="150" 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 a371e983227..cb7d91abb88 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -6,9 +6,7 @@ follows="all" height="350" layout="topleft" - left="0" name="panel_im" - top="0" can_dock="false" can_minimize="true" can_close="true" diff --git a/indra/newview/skins/default/xui/en/floater_inventory.xml b/indra/newview/skins/default/xui/en/floater_inventory.xml index ba2e0d3277f..6d860c73fcc 100644 --- a/indra/newview/skins/default/xui/en/floater_inventory.xml +++ b/indra/newview/skins/default/xui/en/floater_inventory.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_resize="true" height="563" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml index 0cf07926c2b..adef066aef4 100644 --- a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" height="340" layout="topleft" name="item properties" diff --git a/indra/newview/skins/default/xui/en/floater_land_holdings.xml b/indra/newview/skins/default/xui/en/floater_land_holdings.xml index 0b9ae3c9f3a..3737294ebe6 100644 --- a/indra/newview/skins/default/xui/en/floater_land_holdings.xml +++ b/indra/newview/skins/default/xui/en/floater_land_holdings.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="centered" legacy_header_height="18" height="430" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml index 51f63edc31e..58d67c82211 100644 --- a/indra/newview/skins/default/xui/en/floater_map.xml +++ b/indra/newview/skins/default/xui/en/floater_map.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" can_minimize="true" can_resize="true" follows="top|right" @@ -8,12 +9,10 @@ min_height="128" min_width="128" name="Map" - title="Mini-map" + title="MINI-MAP" help_topic="map" save_rect="true" save_visibility="true" - left="0" - top="0" width="200"> <floater.string name="ToolTipMsg"> diff --git a/indra/newview/skins/default/xui/en/floater_media_browser.xml b/indra/newview/skins/default/xui/en/floater_media_browser.xml index 5a1f920398b..c3324a6aa40 100644 --- a/indra/newview/skins/default/xui/en/floater_media_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_media_browser.xml @@ -9,7 +9,6 @@ name="floater_about" help_topic="floater_about" save_rect="true" - auto_tile="true" title="MEDIA BROWSER" width="820"> <floater.string diff --git a/indra/newview/skins/default/xui/en/floater_media_settings.xml b/indra/newview/skins/default/xui/en/floater_media_settings.xml index 681731b0da5..0e03c0ab6df 100644 --- a/indra/newview/skins/default/xui/en/floater_media_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_media_settings.xml @@ -10,7 +10,6 @@ enabled="true" width="365" height="535" - left="330" min_height="535" min_width="365" mouse_opaque="true" diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml index 2eea286c8bf..fbaf4f0a8a8 100644 --- a/indra/newview/skins/default/xui/en/floater_model_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_model_preview.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater can_close="true" can_drag_on_left="false" can_minimize="false" can_resize="false" height="480" min_height="480" min_width="940" - name="Model Preview" title="Upload Model" width="940" + name="Model Preview" title="UPLOAD MODEL" width="940" help_topic="upload_model" > <string name="status_idle"></string> diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index 3c0905a2a54..3d23a94ec2c 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -1,18 +1,21 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="specified" legacy_header_height="18" can_dock="false" can_minimize="true" can_close="true" follows="bottom" height="110" + left="535" + bottom="0" layout="topleft" name="move_floater" help_topic="move_floater" save_rect="true" save_visibility="true" save_dock_state="true" - title="Move" + title="MOVE" width="133"> <string name="walk_forward_tooltip"> diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml index de2aa49c0cf..758a1d5be9c 100644 --- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <floater + open_positioning="cascading" legacy_header_height="18" can_resize="true" height="588" @@ -9,7 +10,7 @@ help_topic="appearance" save_rect="true" single_instance="true" - title="Appearance" + title="APPEARANCE" width="333"> <panel top="18" diff --git a/indra/newview/skins/default/xui/en/floater_my_inventory.xml b/indra/newview/skins/default/xui/en/floater_my_inventory.xml index 3f852c9ed5c..44491c671fb 100644 --- a/indra/newview/skins/default/xui/en/floater_my_inventory.xml +++ b/indra/newview/skins/default/xui/en/floater_my_inventory.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <floater + open_positioning="cascading" can_close="true" can_resize="true" height="570" @@ -9,7 +10,7 @@ name="floater_my_inventory" save_rect="true" save_visibility="true" - title="Inventory" + title="INVENTORY" width="333" > <panel class="sidepanel_inventory" diff --git a/indra/newview/skins/default/xui/en/floater_my_profile.xml b/indra/newview/skins/default/xui/en/floater_my_profile.xml index b3ebe7f7917..713515d0419 100644 --- a/indra/newview/skins/default/xui/en/floater_my_profile.xml +++ b/indra/newview/skins/default/xui/en/floater_my_profile.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <floater + open_positioning="cascading" can_close="true" can_resize="true" height="570" @@ -9,7 +10,7 @@ name="floater_profile" save_rect="true" save_visibility="true" - title="My Profile" + title="MY PROFILE" width="333" > <panel class="panel_me" diff --git a/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml index 068737494f3..bbe280582b5 100644 --- a/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml +++ b/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml @@ -4,7 +4,7 @@ can_minimize="false" height="100" layout="topleft" - title="Save Outfit" + title="SAVE OUTFIT" name="modal container" width="240"> <button diff --git a/indra/newview/skins/default/xui/en/floater_people.xml b/indra/newview/skins/default/xui/en/floater_people.xml index 4dd3a2f0e1f..9c1d1214330 100644 --- a/indra/newview/skins/default/xui/en/floater_people.xml +++ b/indra/newview/skins/default/xui/en/floater_people.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <floater + open_positioning="cascading" can_close="true" can_resize="true" height="570" diff --git a/indra/newview/skins/default/xui/en/floater_places.xml b/indra/newview/skins/default/xui/en/floater_places.xml index d589eb7d201..0c22f2d6ea5 100644 --- a/indra/newview/skins/default/xui/en/floater_places.xml +++ b/indra/newview/skins/default/xui/en/floater_places.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <floater + open_positioning="cascading" legacy_header_height="18" can_resize="true" height="588" diff --git a/indra/newview/skins/default/xui/en/floater_postcard.xml b/indra/newview/skins/default/xui/en/floater_postcard.xml index c756661ffc3..adc2433105c 100644 --- a/indra/newview/skins/default/xui/en/floater_postcard.xml +++ b/indra/newview/skins/default/xui/en/floater_postcard.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_minimize="false" can_resize="true" height="380" diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml index c8a139904a8..402868bb977 100644 --- a/indra/newview/skins/default/xui/en/floater_preferences.xml +++ b/indra/newview/skins/default/xui/en/floater_preferences.xml @@ -1,14 +1,15 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - open_centered="true" + open_positioning="centered" default_tab_group="1" height="460" layout="topleft" name="Preferences" help_topic="preferences" + save_rect="true" single_instance="true" - title="Preferences" + title="PREFERENCES" width="658"> <button follows="right|bottom" diff --git a/indra/newview/skins/default/xui/en/floater_preview_animation.xml b/indra/newview/skins/default/xui/en/floater_preview_animation.xml index 65efc46c717..8427c7b06f2 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_animation.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_animation.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" height="85" layout="topleft" name="preview_anim" diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml index 478ae5f53f0..8baa0a56f75 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" height="460" layout="topleft" name="gesture_preview" @@ -362,4 +361,4 @@ name="save_btn" top_delta="0" width="80" /> -</floater> \ No newline at end of file +</floater> diff --git a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml index 8c9e1d52b33..f35628f8e51 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_resize="true" default_tab_group="1" follows="left|top" diff --git a/indra/newview/skins/default/xui/en/floater_preview_sound.xml b/indra/newview/skins/default/xui/en/floater_preview_sound.xml index 62ef4c3097e..83a1f5a96f6 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_sound.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_sound.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" height="85" layout="topleft" name="preview_sound" diff --git a/indra/newview/skins/default/xui/en/floater_preview_texture.xml b/indra/newview/skins/default/xui/en/floater_preview_texture.xml index a79d2f63cb3..92d3a6702c1 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_texture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_texture.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_resize="true" follows="left|top" height="350" diff --git a/indra/newview/skins/default/xui/en/floater_script.xml b/indra/newview/skins/default/xui/en/floater_script.xml index 12ade86b5fa..73e6d6147a3 100644 --- a/indra/newview/skins/default/xui/en/floater_script.xml +++ b/indra/newview/skins/default/xui/en/floater_script.xml @@ -5,9 +5,7 @@ follows="left|top|right|bottom" height="250" layout="topleft" - left="0" name="script_floater" - top="0" can_dock="true" can_minimize="true" visible="false" diff --git a/indra/newview/skins/default/xui/en/floater_script_preview.xml b/indra/newview/skins/default/xui/en/floater_script_preview.xml index 8c03b560400..91a9e67e4cd 100644 --- a/indra/newview/skins/default/xui/en/floater_script_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_script_preview.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_resize="true" height="570" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_script_queue.xml b/indra/newview/skins/default/xui/en/floater_script_queue.xml index 60a26fcf1d4..f4aca7bb3dd 100644 --- a/indra/newview/skins/default/xui/en/floater_script_queue.xml +++ b/indra/newview/skins/default/xui/en/floater_script_queue.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater legacy_header_height="18" - auto_tile="true" can_resize="true" height="400" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_search.xml b/indra/newview/skins/default/xui/en/floater_search.xml index eaf575fc083..b6fc7f150cc 100644 --- a/indra/newview/skins/default/xui/en/floater_search.xml +++ b/indra/newview/skins/default/xui/en/floater_search.xml @@ -1,18 +1,18 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="18" - can_resize="true" + can_resize="true" height="775" - layout="topleft" - min_height="400" + layout="topleft" + min_height="400" min_width="500" name="floater_web_content" help_topic="floater_web_content" - save_rect="true" - auto_tile="true" - save_visibility="true" + save_rect="true" + save_visibility="true" title="" initial_mime_type="text/html" width="780" - tab_stop="true" + tab_stop="true" filename="floater_web_content.xml"/> diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml index 4ba513bf9cb..91b4ed6954b 100644 --- a/indra/newview/skins/default/xui/en/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="18" can_minimize="true" can_close="true" @@ -10,7 +11,7 @@ help_topic="snapshot" save_rect="true" save_visibility="true" - title="Snapshot preview" + title="SNAPSHOT PREVIEW" width="245"> <floater.string name="unknown"> diff --git a/indra/newview/skins/default/xui/en/floater_sound_devices.xml b/indra/newview/skins/default/xui/en/floater_sound_devices.xml index 74e01f359c6..3dbe4adf28a 100644 --- a/indra/newview/skins/default/xui/en/floater_sound_devices.xml +++ b/indra/newview/skins/default/xui/en/floater_sound_devices.xml @@ -14,7 +14,7 @@ height="164" layout="topleft" name="floater_sound_devices" - title="Sound Devices" + title="SOUND DEVICES" width="490"> <panel layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_sys_well.xml b/indra/newview/skins/default/xui/en/floater_sys_well.xml index 005952f3f23..62501ea2b7e 100644 --- a/indra/newview/skins/default/xui/en/floater_sys_well.xml +++ b/indra/newview/skins/default/xui/en/floater_sys_well.xml @@ -2,8 +2,6 @@ <floater legacy_header_height="18" bevel_style="in" - left="0" - top="0" follows="right|bottom" layout="topleft" name="sys_well_window" diff --git a/indra/newview/skins/default/xui/en/floater_telehub.xml b/indra/newview/skins/default/xui/en/floater_telehub.xml index da412ed8a02..547613fb672 100644 --- a/indra/newview/skins/default/xui/en/floater_telehub.xml +++ b/indra/newview/skins/default/xui/en/floater_telehub.xml @@ -4,7 +4,6 @@ legacy_header_height="18" height="250" layout="topleft" - left="300" name="telehub" help_topic="telehub" title="TELEHUB" diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index 9b02f7d2737..465bd86281f 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" legacy_header_height="18" follows="left|top|right" height="580" diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index 90b7e906a5d..fbc16352ea2 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -10,10 +10,10 @@ layout="topleft" legacy_header_height="18" name="Toybox" - open_centered="true" + open_positioning="centered" save_rect="true" single_instance="true" - title="Customize toolbars" + title="CUSTOMIZE TOOLBARS" width="650"> <text follows="left|top" diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml index 447549db44d..3f5768bc0b5 100644 --- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml +++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater + open_positioning="cascading" can_resize="true" can_minimize="true" can_close="true" @@ -9,7 +10,7 @@ min_width="190" name="floater_voice_controls" help_topic="floater_voice_controls" - title="Voice controls" + title="VOICE CONTROLS" save_dock_state="true" save_visibility="true" save_rect="true" diff --git a/indra/newview/skins/default/xui/en/floater_web_content.xml b/indra/newview/skins/default/xui/en/floater_web_content.xml index 0eda9ae62ab..57d1c92acbf 100644 --- a/indra/newview/skins/default/xui/en/floater_web_content.xml +++ b/indra/newview/skins/default/xui/en/floater_web_content.xml @@ -9,7 +9,6 @@ name="floater_web_content" help_topic="floater_web_content" save_rect="true" - auto_tile="true" title="" initial_mime_type="text/html" width="780"> diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml index 3d997a17f79..4314c8a9e2a 100644 --- a/indra/newview/skins/default/xui/en/floater_world_map.xml +++ b/indra/newview/skins/default/xui/en/floater_world_map.xml @@ -2,7 +2,7 @@ <floater legacy_header_height="18" can_resize="true" - open_centered="true" + open_positioning="centered" height="600" layout="topleft" min_height="520" @@ -12,7 +12,7 @@ save_rect="true" save_visibility="true" single_instance="true" - title="World map" + title="WORLD MAP" width="650"> <panel filename="panel_world_map.xml" diff --git a/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml index 20ff492c0f3..2a24c74febd 100644 --- a/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml +++ b/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml @@ -10,7 +10,7 @@ name="Mockup Tab" selection_enabled="true" tab_stop="false" - title="Mockup Tab" + title="MOCKUP TAB" translate="false" width="0"> <wearable_items_list diff --git a/indra/newview/skins/default/xui/en/panel_toast.xml b/indra/newview/skins/default/xui/en/panel_toast.xml index 42f64c3a76e..b9e714dd30c 100644 --- a/indra/newview/skins/default/xui/en/panel_toast.xml +++ b/indra/newview/skins/default/xui/en/panel_toast.xml @@ -10,6 +10,7 @@ --> <floater + open_positioning="none" legacy_header_height="0" header_height="0" name="toast" diff --git a/indra/newview/skins/default/xui/en/widgets/floater.xml b/indra/newview/skins/default/xui/en/widgets/floater.xml index 2e5ebafe46b..adbb1833178 100644 --- a/indra/newview/skins/default/xui/en/widgets/floater.xml +++ b/indra/newview/skins/default/xui/en/widgets/floater.xml @@ -1,7 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <!-- See also settings.xml UIFloater* settings for configuration --> -<floater +<floater name="floater" + open_positioning="none" + layout="topleft" bg_opaque_color="FloaterFocusBackgroundColor" bg_alpha_color="FloaterDefaultBackgroundColor" bg_opaque_image="Window_Foreground" -- GitLab From d0cda13235079c6626ebc7bbe4de542784d50fa0 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Tue, 11 Oct 2011 22:49:00 -0700 Subject: [PATCH 159/213] EXP-1275 FIX A UI element or Keyboard shortcut to clear the viewport Ctrl+Shift+U now toggles UI and hides floaters refactored main_view.xml made all members of llviewerwindow private --- indra/llui/llmenugl.cpp | 2 +- indra/newview/llappviewer.cpp | 20 +- indra/newview/lldirpicker.cpp | 4 +- indra/newview/llfilepicker.cpp | 20 +- indra/newview/llinventorybridge.cpp | 2 +- indra/newview/lllandmarkactions.cpp | 2 +- indra/newview/lltoolbarview.cpp | 7 + indra/newview/lltoolbarview.h | 2 + indra/newview/lltoolgun.cpp | 4 +- indra/newview/llviewerdisplay.cpp | 14 +- indra/newview/llviewermenu.cpp | 16 +- indra/newview/llviewerwindow.cpp | 42 ++++- indra/newview/llviewerwindow.h | 13 +- .../skins/default/xui/en/main_view.xml | 173 ++++++------------ .../skins/default/xui/en/menu_viewer.xml | 7 + 15 files changed, 160 insertions(+), 168 deletions(-) diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index badba7a416c..3ef8d8ff35e 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -1731,7 +1731,7 @@ void LLMenuGL::setCanTearOff(BOOL tear_off) { LLMenuItemTearOffGL::Params p; mTearOffItem = LLUICtrlFactory::create<LLMenuItemTearOffGL>(p); - addChildInBack(mTearOffItem); + addChild(mTearOffItem); } else if (!tear_off && mTearOffItem != NULL) { diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 5077a0a596b..4d02093d2e2 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1217,7 +1217,7 @@ bool LLAppViewer::mainLoop() if (gViewerWindow) { LLFastTimer t2(FTM_MESSAGES); - gViewerWindow->mWindow->processMiscNativeEvents(); + gViewerWindow->getWindow()->processMiscNativeEvents(); } pingMainloopTimeout("Main:GatherInput"); @@ -1230,7 +1230,7 @@ bool LLAppViewer::mainLoop() llwarns << " Someone took over my signal/exception handler (post messagehandling)!" << llendl; } - gViewerWindow->mWindow->gatherInput(); + gViewerWindow->getWindow()->gatherInput(); } #if 1 && !LL_RELEASE_FOR_DOWNLOAD @@ -1259,9 +1259,9 @@ bool LLAppViewer::mainLoop() // Scan keyboard for movement keys. Command keys and typing // are handled by windows callbacks. Don't do this until we're // done initializing. JC - if ((gHeadlessClient || gViewerWindow->mWindow->getVisible()) + if ((gHeadlessClient || gViewerWindow->getWindow()->getVisible()) && gViewerWindow->getActive() - && !gViewerWindow->mWindow->getMinimized() + && !gViewerWindow->getWindow()->getMinimized() && LLStartUp::getStartupState() == STATE_STARTED && (gHeadlessClient || !gViewerWindow->getShowProgress()) && !gFocusMgr.focusLocked()) @@ -1340,7 +1340,7 @@ bool LLAppViewer::mainLoop() } // yield cooperatively when not running as foreground window - if ( (gViewerWindow && !gViewerWindow->mWindow->getVisible()) + if ( (gViewerWindow && !gViewerWindow->getWindow()->getVisible()) || !gFocusMgr.getAppHasFocus()) { // Sleep if we're not rendering, or the window is minimized. @@ -2920,7 +2920,7 @@ bool LLAppViewer::initWindow() if (gSavedSettings.getBOOL("WindowMaximized")) { - gViewerWindow->mWindow->maximize(); + gViewerWindow->getWindow()->maximize(); } // @@ -2963,7 +2963,7 @@ bool LLAppViewer::initWindow() if (gSavedSettings.getBOOL("WindowMaximized")) { - gViewerWindow->mWindow->maximize(); + gViewerWindow->getWindow()->maximize(); } LLUI::sWindow = gViewerWindow->getWindow(); @@ -2975,7 +2975,7 @@ bool LLAppViewer::initWindow() gViewerWindow->initBase(); // show viewer window - //gViewerWindow->mWindow->show(); + //gViewerWindow->getWindow()->show(); LL_INFOS("AppInit") << "Window initialization done." << LL_ENDL; return true; @@ -3009,12 +3009,12 @@ void LLAppViewer::cleanupSavedSettings() // as we don't track it in callbacks if(NULL != gViewerWindow) { - BOOL maximized = gViewerWindow->mWindow->getMaximized(); + BOOL maximized = gViewerWindow->getWindow()->getMaximized(); if (!maximized) { LLCoordScreen window_pos; - if (gViewerWindow->mWindow->getPosition(&window_pos)) + if (gViewerWindow->getWindow()->getPosition(&window_pos)) { gSavedSettings.setS32("WindowX", window_pos.mX); gSavedSettings.setS32("WindowY", window_pos.mY); diff --git a/indra/newview/lldirpicker.cpp b/indra/newview/lldirpicker.cpp index dd243397a1a..1e03582a291 100644 --- a/indra/newview/lldirpicker.cpp +++ b/indra/newview/lldirpicker.cpp @@ -217,12 +217,12 @@ OSStatus LLDirPicker::doNavChooseDialog() error = NavCreateChooseFolderDialog(&mNavOptions, &doNavCallbackEvent, NULL, NULL, &navRef); - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); if (error == noErr) error = NavDialogRun(navRef); - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); if (error == noErr) error = NavDialogGetReply(navRef, &navReply); diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index 8c0ed298551..4897cf18859 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -653,12 +653,12 @@ OSStatus LLFilePicker::doNavChooseDialog(ELoadFilter filter) // (It is destroyed by NavDialogDispose() below.) error = NavCreateChooseFileDialog(&mNavOptions, NULL, NULL, NULL, navOpenFilterProc, (void*)(&filter), &navRef); - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); if (error == noErr) error = NavDialogRun(navRef); - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); if (error == noErr) error = NavDialogGetReply(navRef, &navReply); @@ -808,13 +808,13 @@ OSStatus LLFilePicker::doNavSaveDialog(ESaveFilter filter, const std::string& fi } } - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); // Run the dialog if (error == noErr) error = NavDialogRun(navRef); - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); if (error == noErr) error = NavDialogGetReply(navRef, &navReply); @@ -1204,7 +1204,7 @@ BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename return FALSE; } - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); reset(); @@ -1284,7 +1284,7 @@ BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename rtn = (getFileCount() == 1); } - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); return rtn; } @@ -1299,7 +1299,7 @@ BOOL LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking ) return FALSE; } - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); reset(); @@ -1337,7 +1337,7 @@ BOOL LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking ) rtn = (getFileCount() == 1); } - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); return rtn; } @@ -1352,7 +1352,7 @@ BOOL LLFilePicker::getMultipleOpenFiles( ELoadFilter filter ) return FALSE; } - gViewerWindow->mWindow->beforeDialog(); + gViewerWindow->getWindow()->beforeDialog(); reset(); @@ -1370,7 +1370,7 @@ BOOL LLFilePicker::getMultipleOpenFiles( ELoadFilter filter ) rtn = !mFiles.empty(); } - gViewerWindow->mWindow->afterDialog(); + gViewerWindow->getWindow()->afterDialog(); return rtn; } diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 2066cbc6b22..9fe73fc9403 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -1185,7 +1185,7 @@ void LLItemBridge::performAction(LLInventoryModel* model, std::string action) std::string buffer; asset_id.toString(buffer); - gViewerWindow->mWindow->copyTextToClipboard(utf8str_to_wstring(buffer)); + gViewerWindow->getWindow()->copyTextToClipboard(utf8str_to_wstring(buffer)); return; } else if ("copy" == action) diff --git a/indra/newview/lllandmarkactions.cpp b/indra/newview/lllandmarkactions.cpp index f2aec20611a..6625a194fb7 100644 --- a/indra/newview/lllandmarkactions.cpp +++ b/indra/newview/lllandmarkactions.cpp @@ -413,7 +413,7 @@ void LLLandmarkActions::copySLURLtoClipboard(const LLUUID& landmarkInventoryItem void copy_slurl_to_clipboard_callback(const std::string& slurl) { - gViewerWindow->mWindow->copyTextToClipboard(utf8str_to_wstring(slurl)); + gViewerWindow->getWindow()->copyTextToClipboard(utf8str_to_wstring(slurl)); LLSD args; args["SLURL"] = slurl; LLNotificationsUtil::add("CopySLURL", args); diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 7977faeab7f..72735742031 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -456,3 +456,10 @@ void LLToolBarView::onEndDrag() } stopDragTool(); } + +void LLToolBarView::setToolBarsVisible(bool visible) +{ + mToolbarBottom->getParent()->setVisible(visible); + mToolbarLeft->getParent()->setVisible(visible); + mToolbarRight->getParent()->setVisible(visible); +} diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index 6623e63f8a9..01ff137c155 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -72,6 +72,8 @@ class LLToolBarView : public LLUICtrl // Loads the toolbars from the existing user or default settings bool loadToolbars(bool force_default = false); // return false if load fails + void setToolBarsVisible(bool visible); + static bool loadDefaultToolbars(); static void startDragTool( S32 x, S32 y, const LLUUID& uuid); diff --git a/indra/newview/lltoolgun.cpp b/indra/newview/lltoolgun.cpp index 68af3d73d27..857d1053618 100644 --- a/indra/newview/lltoolgun.cpp +++ b/indra/newview/lltoolgun.cpp @@ -56,7 +56,7 @@ void LLToolGun::handleSelect() { gViewerWindow->hideCursor(); gViewerWindow->moveCursorToCenter(); - gViewerWindow->mWindow->setMouseClipping(TRUE); + gViewerWindow->getWindow()->setMouseClipping(TRUE); mIsSelected = TRUE; } @@ -64,7 +64,7 @@ void LLToolGun::handleDeselect() { gViewerWindow->moveCursorToCenter(); gViewerWindow->showCursor(); - gViewerWindow->mWindow->setMouseClipping(FALSE); + gViewerWindow->getWindow()->setMouseClipping(FALSE); mIsSelected = FALSE; } diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 19326c4e305..d6512207aeb 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -114,8 +114,8 @@ void render_disconnected_background(); void display_startup() { if ( !gViewerWindow->getActive() - || !gViewerWindow->mWindow->getVisible() - || gViewerWindow->mWindow->getMinimized() ) + || !gViewerWindow->getWindow()->getVisible() + || gViewerWindow->getWindow()->getMinimized() ) { return; } @@ -157,7 +157,7 @@ void display_startup() LLGLState::checkStates(); LLGLState::checkTextureChannels(); - gViewerWindow->mWindow->swapBuffers(); + gViewerWindow->getWindow()->swapBuffers(); glClear(GL_DEPTH_BUFFER_BIT); } @@ -223,7 +223,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) { //skip render on frames where window has been resized gGL.flush(); glClear(GL_COLOR_BUFFER_BIT); - gViewerWindow->mWindow->swapBuffers(); + gViewerWindow->getWindow()->swapBuffers(); gPipeline.resizeScreenTexture(); gResizeScreenTexture = FALSE; gWindowResized = FALSE; @@ -260,8 +260,8 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) // In fact, must explicitly check the minimized state before drawing. // Attempting to draw into a minimized window causes a GL error. JC if ( !gViewerWindow->getActive() - || !gViewerWindow->mWindow->getVisible() - || gViewerWindow->mWindow->getMinimized() ) + || !gViewerWindow->getWindow()->getVisible() + || gViewerWindow->getWindow()->getMinimized() ) { // Clean up memory the pools may have allocated if (rebuild) @@ -1237,7 +1237,7 @@ void render_ui(F32 zoom_factor, int subfield) if (gDisplaySwapBuffers) { LLFastTimer t(FTM_SWAP); - gViewerWindow->mWindow->swapBuffers(); + gViewerWindow->getWindow()->swapBuffers(); } gDisplaySwapBuffers = TRUE; } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index bc0f38dd779..da1b149b594 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -446,11 +446,13 @@ void init_menus() { color = LLUIColorTable::instance().getColor( "MenuNonProductionBgColor" ); } + + LLView* menu_bar_holder = gViewerWindow->getRootView()->getChildView("menu_bar_holder"); + gMenuBarView = LLUICtrlFactory::getInstance()->createFromFile<LLMenuBarGL>("menu_viewer.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); - gMenuBarView->setRect(LLRect(0, top, 0, top - MENU_BAR_HEIGHT)); + gMenuBarView->setRect(LLRect(0, menu_bar_holder->getRect().mTop, 0, menu_bar_holder->getRect().mTop - MENU_BAR_HEIGHT)); gMenuBarView->setBackgroundColor( color ); - LLView* menu_bar_holder = gViewerWindow->getRootView()->getChildView("menu_bar_holder"); menu_bar_holder->addChild(gMenuBarView); gViewerWindow->setMenuBackgroundColor(false, @@ -3762,6 +3764,15 @@ class LLViewDefaultUISize : public view_listener_t } }; +class LLViewToggleUI : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + gViewerWindow->setUIVisibility(!gViewerWindow->getUIVisibility()); + return true; + } +}; + class LLEditDuplicate : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -7926,6 +7937,7 @@ void initialize_menus() view_listener_t::addMenu(new LLZoomer(1/1.2f), "View.ZoomIn"); view_listener_t::addMenu(new LLZoomer(DEFAULT_FIELD_OF_VIEW, false), "View.ZoomDefault"); view_listener_t::addMenu(new LLViewDefaultUISize(), "View.DefaultUISize"); + view_listener_t::addMenu(new LLViewToggleUI(), "View.ToggleUI"); view_listener_t::addMenu(new LLViewEnableMouselook(), "View.EnableMouselook"); view_listener_t::addMenu(new LLViewEnableJoystickFlycam(), "View.EnableJoystickFlycam"); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index fae3ee9081c..2473d41a35b 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -76,7 +76,6 @@ #include "lltimer.h" #include "timing.h" #include "llviewermenu.h" -#include "lltoolbarview.h" #include "lltooltip.h" #include "llmediaentry.h" #include "llurldispatcher.h" @@ -147,6 +146,7 @@ #include "lltexturefetch.h" #include "lltextureview.h" #include "lltool.h" +#include "lltoolbarview.h" #include "lltoolcomp.h" #include "lltooldraganddrop.h" #include "lltoolface.h" @@ -1339,7 +1339,7 @@ BOOL LLViewerWindow::handleActivate(LLWindow *window, BOOL activated) { if (activated) { - mActive = TRUE; + mActive = true; send_agent_resume(); gAgent.clearAFK(); @@ -1348,7 +1348,7 @@ BOOL LLViewerWindow::handleActivate(LLWindow *window, BOOL activated) } else { - mActive = FALSE; + mActive = false; // if the user has chosen to go Away automatically after some time, then go Away when minimizing if (gSavedSettings.getS32("AFKTimeout")) @@ -1531,7 +1531,8 @@ LLViewerWindow::LLViewerWindow( BOOL fullscreen, BOOL ignore_pixel_depth) // fullscreen is no longer used : mWindow(NULL), - mActive(TRUE), + mActive(true), + mUIVisible(true), mWindowRectRaw(0, height, width, 0), mWindowRectScaled(0, height, width, 0), mWorldViewRectRaw(0, height, width, 0), @@ -1771,7 +1772,6 @@ void LLViewerWindow::initBase() // placeholder widget that controls where "world" is rendered mWorldViewPlaceholder = main_view->getChildView("world_view_rect")->getHandle(); - mFloaterViewHolder = main_view->getChildView("floater_view_holder")->getHandle(); mPopupView = main_view->getChild<LLPopupView>("popup_holder"); mHintHolder = main_view->getChild<LLView>("hint_holder")->getHandle(); mLoginPanelHolder = main_view->getChild<LLView>("login_panel_holder")->getHandle(); @@ -1882,7 +1882,7 @@ void LLViewerWindow::initWorldUI() gStatusBar->setShape(status_bar_container->getLocalRect()); // sync bg color with menu bar gStatusBar->setBackgroundColor( gMenuBarView->getBackgroundColor().get() ); - status_bar_container->addChild(gStatusBar); + status_bar_container->addChildInBack(gStatusBar); status_bar_container->setVisible(TRUE); // Navigation bar @@ -1922,8 +1922,7 @@ void LLViewerWindow::initWorldUI() hud_rect.mTop -= gMenuBarView->getRect().getHeight(); } gHUDView = new LLHUDView(hud_rect); - // put behind everything else in the UI - getRootView()->addChildInBack(gHUDView); + getRootView()->addChild(gHUDView); } LLPanel* panel_ssf_container = getRootView()->getChild<LLPanel>("stand_stop_flying_container"); @@ -4084,7 +4083,7 @@ static S32 BORDERWIDTH = 0; void LLViewerWindow::movieSize(S32 new_width, S32 new_height) { LLCoordScreen size; - gViewerWindow->mWindow->getSize(&size); + gViewerWindow->getWindow()->getSize(&size); if ( (size.mX != new_width + BORDERWIDTH) ||(size.mY != new_height + BORDERHEIGHT)) { @@ -4095,7 +4094,7 @@ void LLViewerWindow::movieSize(S32 new_width, S32 new_height) BORDERHEIGHT = size.mY- y; LLCoordScreen new_size(new_width + BORDERWIDTH, new_height + BORDERHEIGHT); - gViewerWindow->mWindow->setSize(new_size); + gViewerWindow->getWindow()->setSize(new_size); } } @@ -4979,6 +4978,29 @@ bool LLViewerWindow::onAlert(const LLSD& notify) return false; } +void LLViewerWindow::setUIVisibility(bool visible) +{ + mUIVisible = visible; + + if (gToolBarView) + { + gToolBarView->setToolBarsVisible(visible); + } + + mRootView->getChildView("nav_bar_container")->setVisible(visible); + mRootView->getChildView("status_bar_container")->setVisible(visible); + + if (!visible) + { + gFloaterView->closeAllChildren(false); + } +} + +bool LLViewerWindow::getUIVisibility() +{ + return mUIVisible; +} + //////////////////////////////////////////////////////////////////////////// // // LLPickInfo diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 872eb127539..3afca3073d2 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -143,6 +143,8 @@ class LLViewerWindow : public LLWindowCallbacks void adjustRectanglesForFirstUse(const LLRect& window); void adjustControlRectanglesForFirstUse(const LLRect& window); void initWorldUI(); + void setUIVisibility(bool); + bool getUIVisibility(); BOOL handleAnyMouseClick(LLWindow *window, LLCoordGL pos, MASK mask, LLMouseHandler::EClickType clicktype, BOOL down); @@ -282,7 +284,6 @@ class LLViewerWindow : public LLWindowCallbacks void updateKeyboardFocus(); void updateWorldViewRect(bool use_full_window=false); - LLView* getFloaterViewHolder() { return mFloaterViewHolder.get(); } LLView* getToolBarHolder() { return mToolBarHolder.get(); } LLView* getHintHolder() { return mHintHolder.get(); } LLView* getLoginPanelHolder() { return mLoginPanelHolder.get(); } @@ -394,11 +395,10 @@ class LLViewerWindow : public LLWindowCallbacks S32 getChatConsoleBottomPad(); // Vertical padding for child console rect, varied by bottom clutter LLRect getChatConsoleRect(); // Get optimal cosole rect. -public: +private: LLWindow* mWindow; // graphical window object - -protected: - BOOL mActive; + bool mActive; + bool mUIVisible; LLRect mWindowRectRaw; // whole window, including UI LLRect mWindowRectScaled; // whole window, scaled by UI size @@ -444,7 +444,6 @@ class LLViewerWindow : public LLWindowCallbacks std::string mInitAlert; // Window / GL initialization requires an alert LLHandle<LLView> mWorldViewPlaceholder; // widget that spans the portion of screen dedicated to rendering the 3d world - LLHandle<LLView> mFloaterViewHolder; // container for floater_view LLHandle<LLView> mToolBarHolder; // container for toolbars LLHandle<LLView> mHintHolder; // container for hints LLHandle<LLView> mLoginPanelHolder; // container for login panel @@ -458,13 +457,11 @@ class LLViewerWindow : public LLWindowCallbacks boost::scoped_ptr<LLViewerWindowListener> mViewerWindowListener; -protected: static std::string sSnapshotBaseName; static std::string sSnapshotDir; static std::string sMovieBaseName; -private: // Object temporarily hovered over while dragging LLPointer<LLViewerObject> mDragHoveredObject; }; diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 96d070ae509..2c07e8e35fb 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -8,98 +8,71 @@ tab_stop="false" name="main_view" width="1024"> + <view top="0" + follows="all" + height="768" + left="0" + mouse_opaque="false" + name="world_view_rect" + width="1024"/> <layout_stack border_size="0" follows="all" mouse_opaque="false" - height="749" + height="768" name="menu_stack" orientation="vertical" - top="19"> + top="0"> + <layout_panel mouse_opaque="false" + follows="left|right|top" + name="status_bar_container" + tab_stop="false" + height="19" + left="0" + top="0" + width="1024" + user_resize="false" + auto_resize="false" + visible="true"> + <view mouse_opaque="false" + follows="all" + name="menu_bar_holder" + left="0" + top="0" + width="1024" + height="19"/> + </layout_panel> <layout_panel auto_resize="false" height="34" mouse_opaque="false" name="nav_bar_container" tab_stop="false" width="1024" - user_resize="false" - visible="false"> - </layout_panel> - <layout_panel auto_resize="true" + user_resize="false" + visible="false"/> + <layout_panel auto_resize="true" follows="all" height="500" layout="topleft" mouse_opaque="false" tab_stop="false" - name="hud" + name="world_panel" width="1024"> - <layout_stack border_size="0" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="hud_stack" - orientation="horizontal" - top="0" - width="1024"> - <layout_panel auto_resize="true" - follows="all" - height="500" - layout="topleft" - mouse_opaque="false" - tab_stop="false" - name="non_side_tray_view" - user_resize="false" - width="500"> - <view bottom="500" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="world_view_rect" - width="500"/> - <layout_stack border_size="0" - bottom="500" - follows="all" - height="500" - left="0" - mouse_opaque="false" - name="world_stack" - orientation="vertical"> - <layout_panel auto_resize="true" - follows="all" - height="500" - layout="topleft" - tab_stop="false" - mouse_opaque="false" - user_resize="false" - name="hud container" - width="500"> - <panel follows="left|top" - height="19" - left="0" - mouse_opaque="false" - name="topinfo_bar_container" - tab_stop="false" - top="0" - visible="false" - width="1024"/> - </layout_panel> - <!--<layout_panel auto_resize="false" - min_height="33" - height="33" - mouse_opaque="false" - name="bottom_tray_container" - visible="false"/>--> - </layout_stack> - </layout_panel> - </layout_stack> + <panel follows="left|top|right" + height="19" + left="0" + mouse_opaque="false" + name="topinfo_bar_container" + tab_stop="false" + top="0" + visible="false" + width="1024"/> <panel top="0" - follows="all" - height="500" - mouse_opaque="false" - name="login_panel_holder" - width="1024"/> - + left="0" + follows="all" + height="500" + mouse_opaque="false" + name="login_panel_holder" + width="1024"/> <debug_view follows="all" left="0" top="0" @@ -107,55 +80,27 @@ height="500" name="DebugView" width="1024"/> - - <panel follows="all" + <floater_view follows="all" height="500" left="0" mouse_opaque="false" - name="floater_view_holder" + name="Floater View" tab_group="-1" tab_stop="false" top="0" - width="1024"> - <floater_view follows="all" - height="500" - left="0" - mouse_opaque="false" - name="Floater View" - tab_group="-1" - tab_stop="false" - top="0" - width="1024"/> - </panel> + width="1024"/> <panel name="toolbar_view_holder" - follows="all" - layout="topleft" - height="500" - width="1024" - top="0" - left="0" - mouse_opaque="false" - tab_stop="false"> - </panel> + follows="all" + layout="topleft" + height="500" + width="1024" + top="0" + left="0" + mouse_opaque="false" + tab_stop="false"/> </layout_panel> </layout_stack> - <panel mouse_opaque="false" - follows="left|right|top" - name="status_bar_container" - tab_stop="false" - height="19" - left="0" - top="0" - width="1024" - visible="false"/> - - <view mouse_opaque="false" - follows="all" - name="menu_bar_holder" - left="0" - top="0" - width="1024" - height="768"/> + <panel top="0" follows="all" mouse_opaque="false" diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index efa61dbd11d..fdbc3d18826 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1719,6 +1719,13 @@ <menu_item_call.on_click function="View.DefaultUISize" /> </menu_item_call> + <menu_item_call + label="Toggle UI" + name="Toggle UI" + shortcut="control|shift|U"> + <menu_item_call.on_click + function="View.ToggleUI" /> + </menu_item_call> <!-- This second, alternative shortcut for Show Advanced Menu is for backward compatibility. The main shortcut has been changed so it's Linux-friendly, where the old shortcut is typically eaten by the window manager. --> <menu_item_check label="Show Advanced Menu - legacy shortcut" -- GitLab From f95922c27330b12ba22434203bf6955c06b74ba4 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 12 Oct 2011 10:08:14 -0700 Subject: [PATCH 160/213] Updated tooltip for "picks" to match the wiki. --- indra/newview/skins/default/xui/en/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index f19cfa19f2a..04fc5c868c0 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3695,7 +3695,7 @@ Try enclosing path to the editor with double quotes. <string name="Command_MiniMap_Tooltip">Show nearby people</string> <string name="Command_Move_Tooltip">Moving your avatar</string> <string name="Command_People_Tooltip">Friends, groups, and nearby people</string> - <string name="Command_Picks_Tooltip">Favorite places</string> + <string name="Command_Picks_Tooltip">Places to show as favorites in your profile</string> <string name="Command_Places_Tooltip">Places you've saved</string> <string name="Command_Preferences_Tooltip">Preferences</string> <string name="Command_Profile_Tooltip">Edit or view your profile</string> -- GitLab From 5f609becd37f0b3483892b211fa82ca72ddfa86a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 12 Oct 2011 10:11:58 -0700 Subject: [PATCH 161/213] Mac build fix --- indra/newview/llviewermenu.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index da1b149b594..0cbbfae002f 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -373,8 +373,6 @@ void set_underclothes_menu_options() void init_menus() { - S32 top = gViewerWindow->getRootView()->getRect().getHeight(); - // Initialize actions initialize_menus(); -- GitLab From ed53295cb3137f757d4d120f84f5d22c170ae823 Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Wed, 12 Oct 2011 12:55:37 -0700 Subject: [PATCH 162/213] EXP-1322 FIX Stand / Stop Flying button should be centered above the bottom toolbar at all times --- indra/newview/llmoveview.cpp | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index 2af01d06c18..c3d8b91d67a 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -696,25 +696,28 @@ void LLPanelStandStopFlying::updatePosition() { if (mAttached) return; - S32 x = 0; - S32 y = 0; - - if(LLView* root = getRootView()) + S32 y_pos = 0; + S32 bottom_tb_center = 0; + if (LLToolBar* toolbar_bottom = gToolBarView->getChild<LLToolBar>("toolbar_bottom")) { - x = root->calcScreenRect().getCenterX() - getRect().getWidth()/2; + y_pos = toolbar_bottom->getRect().getHeight(); + bottom_tb_center = toolbar_bottom->getRect().getCenterX(); } - if (LLToolBar* toolbar_bottom = gToolBarView->getChild<LLToolBar>("toolbar_bottom")) + S32 left_tb_width = 0; + if (LLToolBar* toolbar_left = gToolBarView->getChild<LLToolBar>("toolbar_left")) { - y = toolbar_bottom->getRect().getHeight(); + left_tb_width = toolbar_left->getRect().getWidth(); } if(LLPanel* panel_ssf_container = getRootView()->getChild<LLPanel>("stand_stop_flying_container")) { - panel_ssf_container->setOrigin(0, y); + panel_ssf_container->setOrigin(0, y_pos); } - setOrigin(x, 0); + S32 x_pos = bottom_tb_center-getRect().getWidth()/2 - left_tb_width; + + setOrigin( x_pos, 0); } // EOF -- GitLab From a1f0101ca293768a37889856b1dde69110b30b7c Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 13:50:20 -0700 Subject: [PATCH 163/213] EXP-1275 WIP A UI element or Keyboard shortcut to clear the viewport restores hidden floaters now --- indra/llui/llfloater.cpp | 46 ++++++++++++++++++++++++++++++++ indra/llui/llfloater.h | 11 ++++++-- indra/newview/llviewerwindow.cpp | 6 ++++- 3 files changed, 60 insertions(+), 3 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 0398c0d7eb4..4bcc7c6fe0d 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -2506,6 +2506,52 @@ void LLFloaterView::closeAllChildren(bool app_quitting) } } +void LLFloaterView::hiddenFloaterClosed(LLFloater* floater) +{ + for (hidden_floaters_t::iterator it = mHiddenFloaters.begin(), end_it = mHiddenFloaters.end(); + it != end_it; + ++it) + { + if (it->first.get() == floater) + { + it->second.disconnect(); + mHiddenFloaters.erase(it); + break; + } + } +} + +void LLFloaterView::hideAllFloaters() +{ + child_list_t child_list = *(getChildList()); + + for (child_list_iter_t it = child_list.begin(); it != child_list.end(); ++it) + { + LLFloater* floaterp = dynamic_cast<LLFloater*>(*it); + if (floaterp && floaterp->getVisible()) + { + floaterp->setVisible(false); + boost::signals2::connection connection = floaterp->mCloseSignal.connect(boost::bind(&LLFloaterView::hiddenFloaterClosed, this, floaterp)); + mHiddenFloaters.push_back(std::make_pair(floaterp->getHandle(), connection)); + } + } +} + +void LLFloaterView::showHiddenFloaters() +{ + for (hidden_floaters_t::iterator it = mHiddenFloaters.begin(), end_it = mHiddenFloaters.end(); + it != end_it; + ++it) + { + LLFloater* floaterp = it->first.get(); + if (floaterp) + { + floaterp->setVisible(true); + } + it->second.disconnect(); + } + mHiddenFloaters.clear(); +} BOOL LLFloaterView::allChildrenClosed() { diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index b404306e948..275b508f799 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -35,6 +35,7 @@ #include "lluuid.h" //#include "llnotificationsutil.h" #include <set> +#include <boost/signals2.hpp> class LLDragHandle; class LLResizeHandle; @@ -454,8 +455,6 @@ class LLFloater : public LLPanel typedef std::map<LLHandle<LLFloater>, LLFloater*>::iterator handle_map_iter_t; static handle_map_t sFloaterMap; - std::vector<LLHandle<LLView> > mMinimizedHiddenChildren; - BOOL mHasBeenDraggedWhileMinimized; S32 mPreviousMinimizedBottom; S32 mPreviousMinimizedLeft; @@ -509,6 +508,10 @@ class LLFloaterView : public LLUICtrl BOOL allChildrenClosed(); void shiftFloaters(S32 x_offset, S32 y_offset); + void hideAllFloaters(); + void showHiddenFloaters(); + + LLFloater* getFrontmost() const; LLFloater* getBackmost() const; LLFloater* getParentFloater(LLView* viewp) const; @@ -523,11 +526,15 @@ class LLFloaterView : public LLUICtrl void setFloaterSnapView(LLHandle<LLView> snap_view) {mSnapView = snap_view; } private: + void hiddenFloaterClosed(LLFloater* floater); + LLHandle<LLView> mSnapView; BOOL mFocusCycleMode; S32 mSnapOffsetBottom; S32 mSnapOffsetRight; S32 mMinimizePositionVOffset; + typedef std::vector<std::pair<LLHandle<LLFloater>, boost::signals2::connection> > hidden_floaters_t; + hidden_floaters_t mHiddenFloaters; }; // diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 2473d41a35b..665b31a427e 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -4992,7 +4992,11 @@ void LLViewerWindow::setUIVisibility(bool visible) if (!visible) { - gFloaterView->closeAllChildren(false); + gFloaterView->hideAllFloaters(); + } + else + { + gFloaterView->showHiddenFloaters(); } } -- GitLab From 23a2a77369b9f4b4fb5e606dc962e5838fb44503 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 15:39:40 -0700 Subject: [PATCH 164/213] added separator above navigation bar --- .../skins/default/textures/navbar/separator.png | Bin 0 -> 2826 bytes .../newview/skins/default/textures/textures.xml | 2 +- .../default/xui/en/panel_navigation_bar.xml | 10 ++++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 indra/newview/skins/default/textures/navbar/separator.png diff --git a/indra/newview/skins/default/textures/navbar/separator.png b/indra/newview/skins/default/textures/navbar/separator.png new file mode 100644 index 0000000000000000000000000000000000000000..b93e5791a7eab8ba17fae0cd8991daf7d38ef992 GIT binary patch literal 2826 zcmV+l3-$DgP)<h;3K|Lk000e1NJLTq000C40006A1^@s6f2e(900004XF*Lt006O$ zeEU(80000WV@Og>004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000U( zX+uL$P-t&-Z*ypGa3D!TLm+T+Z)Rz1WdHz3$DNjUR8-d%htIutdZEoQ0#b(FyTAa_ zdy`&8VVD_UC<6{NG_fI~0ue<-nj%P0#DLLIBvwSR5EN9f2P6n6F&ITuEN@2Ei>|D^ z_ww@l<E(G(v-i3C?7h!g7XXr{FPE1FO97C|6YzsPoaqsfQFQD8fB_z0fGGe>Rz|vC zuzLs)$;-`!o*{AqUjza0dRV*yaMRE;fKCVhpQKsoe1Yhg01=zBIT<Vw7l=3|OOP(M z&x)8Dmn>!&C1$=TK@rP|Ibo3vKKm@PqnO#LJhq6%Ij6Hz*<$V$@wQAMN5qJ)hzm2h zoGcOF60t^#FqJFfH{#e-4l@G)6iI9sa9D{VHW4w29}?su;^hF~NC{tY+*d5%WDCTX za!E_i;d2ub1#}&jF5T4HnnCyEWTkKf0>c0%E1Ah>(_PY1)0w;+02c53Su*0<(nUqK zG_|(0G&D0Z{i;y^b@OjZ+}lNZ8Th$p5Uu}<?XUdO8USF-iE6X+i!H7SfX*!d$ld#5 z(>MTtq^NHl*T1?CO*}7&0ztZsv2j*bmJyf3G7=Z`5B*PvzoD<bXCyxEkMhu6Iq^(k zihwSz8!Ig(O~|Kbq%&C@y5XOP_#X%Ubsh#moOlkO!xKe>iKdLpOAxi2$L0#SX*@cY z_n(^h55xYX#km%V()bZjV~l{*bt*u9?FT3d5g^g~#a;iSZ@&02Abxq_DwB(I|L-^b zXThc7C4-yrInE_0gw7K3GZ**7&k~>k0Z0NWkO#^@9q0f<U<Ry!EpP;Gz#I635D*Dg z0~SaGseli%Kpxlx3PCa03HE?$PzM@8GiU|JK_@r`&Vx(f8n^*&gZp3<On_%#7Q6-v z5CmZ%GDLyoAr(jy(ud3-24oMpLB3EB6bZ#b2@nqwLV3_;s2D1Ps-b$Q8TuYN37v<o zK!ea-XbhT$euv({2uy;huoA2V8^a9P3HE_Q;8kz}yavvN3*a4aCENfXg*)K$@HO~0 zJPJR9=MaDp5gMY37$OYB1@T9ska&cTtVfEF3ZwyPMY@qb<R&tT%ph-37!(CXM;W4Q zQJ$z!6brQmwH{T1szx0~b)b4tH&J7#S=2`~8Lf!cN86yi&=KeabQZc0U4d>wx1%qj zZ=)yBuQ3=54Wo^*!gyjLF-e%Um=erBOdIALW)L%unZshS@>qSW9o8Sq#0s#5*edK% z>{;v(b^`kbN5rY%%y90wC>#%$kE_5P!JWYk;U;klcqzOl-UjcFXXA75rT9jCH~u<) z0>40zCTJ7v2qA<d!X`o`p_Oov@PP1=NF=Het%-p|E^#BVl6Z`GnK(v#OOhe!kz7d8 zBq3=B=@980=`QIdnM~FqJCdWw0`d-WGx-Af5&4Y-MZ!qJOM)%2L83;YLt;qcxg=gv zQ_@LtwPdbjh2#mz>yk54cquI@7b&LHdZ`+zlTss6bJ7%PQ)z$cROu4wBhpu-r)01) zS~6}jY?%U?gEALn#wiFzo#H}aQ8rT=DHkadR18&{>P1bW7E`~Y4p3)hWn`DhhRJ5j z*2tcg9i<^OEt(fCg;q*CP8+7ZTcWhYX$fb^_9d-LhL+6BEtPYW<H!}swaML<dnZqq zcau++-zDEE|4;#?pr;V1kfpF+;iAIKQtDFMrL3hzOOG$TrwA+RDF!L7RXnKJuQ;cq ztmL7Tu2iLTL1{*rrtGMkq+G6iMtNF=qGGSYRVi0FtMZgCOLwBD&@1V^^jTF!RZmr+ zYQ5@!>VlfKTBusSTASKKb%HuWJzl+By+?gkLq)?+BTu76<DMp7lcAZYxmUAKb6!hZ zD_m=<R;SjKww$(?cCL1d_5&TVj)Tq`od%s-x)@!CZnEw^-5Ywao`qhbUX9*$eOTX8 zpR2!5f6xGJU~RxNXfPNtBpEsxW*W8_jv3L6e2wyrI*pziYZylv?=tQ){%B%hl48<m za^F<O)Y~-QwA=J|Gd(kwS&i8(bF#U+`3CbY^B2qXmvNTuUv|fWV&P}8)uPAZgQb-v z-?G(m+DgMJ)~eQOgh6ElFiIGgt<l!b)*Gx(S--Whv=P`GxB1Q1&^Foji0#yJ?d6>1 zjmyXF)a;mc^>(B7bo*HQ1NNg1st!zt28YLv>W*y3CdWx9U8f|cqfXDAO`Q48?auQq zHZJR2&bcD49<D{M18y>Ip>EY~kKEPV6Wm+eXFV)D)_R=tM0@&p?(!V*Qu1PXHG9o^ zTY0bZ?)4%01p8F`JoeS|<@<K~!G7L;yZs)l&|JY=(diHTz5I9kKMc?gSQGGLASN&% zuqN<HkZDj}P+u@5I41Z=@aqugkkXL*p*o?$(4H{Ku;{Snu=#M;@UrmH2;+!#5!WIW zBDs-WQP`-ksHUj7m2NBdtel9ph%SsCUZuS%d)1ZI3ae9ApN^4?VaA+@MaPE69*KR= z^k+6O=i<ELYU5^EF08$*XKY7yIeVI8$0_4X#@of0#ZM*JCG1X^PIO4DNSxuiaI3j5 zl01{@lID~BlMf|-N(oPCOU0$erk>=<@RE7GY07EYX@lwd>4oW|Yi!o+Su@M`;WuSK z8LKk71XR(_RKHM1xJ5XYX`fk>`6eqY>qNG6HZQwBM=xi4&Sb88?zd}EYguc1@>KIS z<&CX#T35dwS|7K*XM_5Nf(;WJJvJWRMA($P>8E^?{IdL4o5MGE7bq2MEEwP7v8AO@ zqL5!WvekBL-8R%V?zVyL=G&{be=K4bT`e{#t|)$A!YaA?jp;X)-+bB;zhj`(vULAW z%ue3U;av{94wp%n<(7@__S@Z2PA@Mif3+uO&y|X06?J<Fdxd*PD}5`wsx+#0R=uxI ztiE02T+>#oSi8M;ejj_^(0<4Lt#wLu#dYrva1Y$6_o(k^&}yhSh&h;f@JVA>W8b%o zZ=0JGnu?n~9O4}sJsfnnx7n(>`H13?(iXTy*fM=I`sj`CT)*pTHEgYKqqP+u1IL8N zo_-(u{qS+0<2@%BCt82d{Gqm;(q7a7b>wu+b|!X?c13m#p7cK1({0<`{-e>4hfb-U zsyQuty7Ua;Ou?B?XLHZaol8GAb3Wnxcu!2v{R<HnZuJKC4qWuPc=?k1r3-ydeP=J* zT|RZi=E}*djH{j3EU$I+TlBa8Wbsq`faO5Pb*t-LH>_`T4=x`(GvqLI{-*2AOSimk zUAw*F_TX^n@STz9k<mNsJ5zU4?!LH}d2iwV#s}yJMGvJORy<OC)bO+J&uycYqo>DQ z$NC=!KfXWC8h`dn#xL(D3Z9UkR7|Q&Hcy#Notk!^zVUSB(}`#4&lYA1f0h2V_PNgU zAAWQEt$#LRcH#y9#i!p(Udq2b^lI6wp1FXzN3T;~FU%Lck$-deE#qz9yYP3D3t8{6 z?<+s(e(3(_^YOu_)K8!O1p}D#{JO;G(*OVf32;bRa{vGf5&!@T5&_cPe*6Fc02*{f zSaefwW^{L9a%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0000LNkl<Z7*}JEk&*e2j2Rpq c9seU^0J$;@Rn+ZfNdN!<07*qoM6N<$g2^sNg#Z8m literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 27577d42ea2..4f343525164 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -769,5 +769,5 @@ with the same filename but different name <texture name="Yellow_Gradient" file_name="windows/yellow_gradient.png"/> <texture name="Popup_Caution" file_name="icons/pop_up_caution.png"/> <texture name="Camera_Drag_Dot" file_name="world/CameraDragDot.png"/> - + <texture name="NavBar Separator" file_name="navbar/separator.png"/> </textures> diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index bf9eeb6d265..ab6fa36e6cb 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -43,6 +43,16 @@ top="0" height="34" width="600"/> + <icon + follows="all" + image_name="NavBar Separator" + mouse_opaque="false" + name="separator_image" + scale_image="true" + left="0" + top="0" + width="800" + height="2"/> <layout_stack use_border="true" bevel_style="none" -- GitLab From 9ca4b8219f1a18b11d457d6f18d3c695aba9aed2 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 15:46:45 -0700 Subject: [PATCH 165/213] EXP-1275 WIP A UI element or Keyboard shortcut to clear the viewport added confirmation dialog before hiding UI --- indra/llui/llfloater.cpp | 1 + indra/llui/llfloater.h | 3 +- indra/newview/llviewermenu.cpp | 30 ++++++++++++++++++- .../skins/default/xui/en/menu_viewer.xml | 14 ++++----- .../skins/default/xui/en/notifications.xml | 14 +++++++++ 5 files changed, 53 insertions(+), 9 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 4bcc7c6fe0d..16fe3b8ca68 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -247,6 +247,7 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p) mHeaderHeight(p.header_height), mLegacyHeaderHeight(p.legacy_header_height), mMinimized(FALSE), + mVisibleWhenMinimized(TRUE), mForeground(FALSE), mFirstLook(TRUE), mButtonScale(1.0f), diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 275b508f799..c94aa0207ea 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -212,7 +212,7 @@ class LLFloater : public LLPanel void addDependentFloater(LLFloater* dependent, BOOL reposition = TRUE); void addDependentFloater(LLHandle<LLFloater> dependent_handle, BOOL reposition = TRUE); LLFloater* getDependee() { return (LLFloater*)mDependeeHandle.get(); } - void removeDependentFloater(LLFloater* dependent); + void removeDependentFloater(LLFloater* dependent); BOOL isMinimized() const { return mMinimized; } /// isShown() differs from getVisible() in that isShown() also considers /// isMinimized(). isShown() is true only if visible and not minimized. @@ -420,6 +420,7 @@ class LLFloater : public LLPanel S32 mLegacyHeaderHeight;// HACK see initFloaterXML() BOOL mMinimized; + bool mVisibleWhenMinimized; BOOL mForeground; LLHandle<LLFloater> mDependeeHandle; diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 0cbbfae002f..478af6ab7dc 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3766,9 +3766,37 @@ class LLViewToggleUI : public view_listener_t { bool handleEvent(const LLSD& userdata) { - gViewerWindow->setUIVisibility(!gViewerWindow->getUIVisibility()); + LLNotification::Params params("ConfirmHideUI"); + params.functor.function(boost::bind(&LLViewToggleUI::confirm, this, _1, _2)); + LLSD substitutions; +#if LL_DARWIN + substitutions["SHORTCUT"] = "Cmd+Shift+U"; +#else + substitutions["SHORTCUT"] = "Ctrl+Shift+U"; +#endif + params.substitutions = substitutions; + if (gViewerWindow->getUIVisibility()) + { + // hiding, so show notification + LLNotifications::instance().add(params); + } + else + { + LLNotifications::instance().forceResponse(params, 0); + } + return true; } + + void confirm(const LLSD& notification, const LLSD& response) + { + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + + if (option == 0) // OK + { + gViewerWindow->setUIVisibility(!gViewerWindow->getUIVisibility()); + } + } }; class LLEditDuplicate : public view_listener_t diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index fdbc3d18826..c586e3a098e 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -24,6 +24,13 @@ function="Floater.Toggle" parameter="toybox" /> </menu_item_call> + <menu_item_call + label="Hide all controls" + name="Hide UI" + shortcut="control|shift|U"> + <menu_item_call.on_click + function="View.ToggleUI" /> + </menu_item_call> <menu_item_call label="My Dashboard" name="Manage My Account"> @@ -1719,13 +1726,6 @@ <menu_item_call.on_click function="View.DefaultUISize" /> </menu_item_call> - <menu_item_call - label="Toggle UI" - name="Toggle UI" - shortcut="control|shift|U"> - <menu_item_call.on_click - function="View.ToggleUI" /> - </menu_item_call> <!-- This second, alternative shortcut for Show Advanced Menu is for backward compatibility. The main shortcut has been changed so it's Linux-friendly, where the old shortcut is typically eaten by the window manager. --> <menu_item_check label="Show Advanced Menu - legacy shortcut" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 087744fea77..6b0ffd9d33c 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -7536,6 +7536,20 @@ The site at '<nolink>[HOST_NAME]</nolink>' in realm ' notext="Don't Quit"/> </notification> + <notification + name="ConfirmHideUI" + label="" + type="alertmodal"> + <unique/> + <tag>confirm</tag> + This action will hide all menu items and buttons. To get them back, click [SHORTCUT] again. + <usetemplate + name="okcancelignore" + yestext="OK" + notext="Cancel" + ignoretext="Confirm before hiding UI"/> + </notification> + <global name="UnsupportedGLRequirements"> You do not appear to have the proper hardware requirements for [APP_NAME]. [APP_NAME] requires an OpenGL graphics card that has multitexture support. If this is the case, you may want to make sure that you have the latest drivers for your graphics card, and service packs and patches for your operating system. -- GitLab From 45a316831636043663972bdf83adbefb345549de Mon Sep 17 00:00:00 2001 From: callum <none@none> Date: Wed, 12 Oct 2011 16:08:53 -0700 Subject: [PATCH 166/213] EXP-1337 FIX Add Confirmation dialog to "Restore Defaults" in the Toybox Reviewed by Leslie --- indra/newview/llfloatertoybox.cpp | 17 +++++++++++++++-- .../skins/default/xui/en/notifications.xml | 14 ++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index 84881655f81..b4c98942716 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -30,12 +30,13 @@ #include "llbutton.h" #include "llcommandmanager.h" +#include "llnotifications.h" +#include "llnotificationsutil.h" #include "llpanel.h" #include "lltoolbar.h" #include "lltoolbarview.h" #include "lltrans.h" - LLFloaterToybox::LLFloaterToybox(const LLSD& key) : LLFloater(key) , mBtnRestoreDefaults(NULL) @@ -113,9 +114,21 @@ void LLFloaterToybox::draw() LLFloater::draw(); } +static bool finish_restore_toybox(const LLSD& notification, const LLSD& response) +{ + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + + if (option == 0) + { + LLToolBarView::loadDefaultToolbars(); + } + return false; +} +static LLNotificationFunctorRegistration finish_restore_toybox_reg("ConfirmRestoreToybox", finish_restore_toybox); + void LLFloaterToybox::onBtnRestoreDefaults() { - LLToolBarView::loadDefaultToolbars(); + LLNotificationsUtil::add("ConfirmRestoreToybox"); } BOOL LLFloaterToybox::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 6b0ffd9d33c..f510b3c5bac 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -4622,6 +4622,20 @@ Are you sure you want to quit? yestext="Quit"/> </notification> + <notification + icon="alertmodal.tga" + name="ConfirmRestoreToybox" + type="alertmodal"> + <unique/> +Are you sure you want to restore your default buttons and toolbars? + +You cannot undo this action. + <usetemplate + name="okcancelbuttons" + notext="Cancel" + yestext="OK"/> + </notification> + <notification icon="alertmodal.tga" name="DeleteItems" -- GitLab From 3594853d0ef166c98d04c015b1217f2a437f8872 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 16:17:24 -0700 Subject: [PATCH 167/213] don't highlight toolbar buttons during drag and drop added mVisibleWhenMinimized to floaters --- indra/llui/llfloater.cpp | 22 ++++++++++++++++++---- indra/llui/llfloater.h | 4 +++- indra/llui/lltoolbar.cpp | 5 ++++- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 16fe3b8ca68..1e6c8b4a71d 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -1407,6 +1407,17 @@ void LLFloater::removeDependentFloater(LLFloater* floaterp) floaterp->mDependeeHandle = LLHandle<LLFloater>(); } +void LLFloater::setVisibleWhenMinimized(bool visible) +{ + mVisibleWhenMinimized = visible; + if (visible && isMinimized()) + { + // restack in minimized stack + setMinimized(FALSE); + setMinimized(TRUE); + } +} + BOOL LLFloater::offerClickToButton(S32 x, S32 y, MASK mask, EFloaterButton index) { if( mButtonsEnabled[index] ) @@ -1783,11 +1794,14 @@ void LLFloater::draw() } if (isMinimized()) { - for (S32 i = 0; i < BUTTON_COUNT; i++) + if (mVisibleWhenMinimized) { - drawChild(mButtons[i]); + for (S32 i = 0; i < BUTTON_COUNT; i++) + { + drawChild(mButtons[i]); + } + drawChild(mDragHandle); } - drawChild(mDragHandle); } else { @@ -2442,7 +2456,7 @@ void LLFloaterView::getMinimizePosition(S32 *left, S32 *bottom) { // Examine minimized children. LLFloater* floater = (LLFloater*)((LLView*)*child_it); - if(floater->isMinimized()) + if(floater->isMinimized() && floater->getVisibleWhenMinimized()) { LLRect r = floater->getRect(); if((r.mBottom < (row + floater_header_size)) diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index c94aa0207ea..5e3d3aefc97 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -213,7 +213,9 @@ class LLFloater : public LLPanel void addDependentFloater(LLHandle<LLFloater> dependent_handle, BOOL reposition = TRUE); LLFloater* getDependee() { return (LLFloater*)mDependeeHandle.get(); } void removeDependentFloater(LLFloater* dependent); - BOOL isMinimized() const { return mMinimized; } + BOOL isMinimized() const { return mMinimized; } + void setVisibleWhenMinimized(bool visible); + bool getVisibleWhenMinimized() const { return mVisibleWhenMinimized;} /// isShown() differs from getVisible() in that isShown() also considers /// isMinimized(). isShown() is true only if visible and not minimized. bool isShown() const; diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a1ea4ba18b2..02970bc9697 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -871,7 +871,10 @@ void LLToolBarButton::onMouseEnter(S32 x, S32 y, MASK mask) LLUICtrl::onMouseEnter(x, y, mask); // Always highlight toolbar buttons, even if they are disabled - mNeedsHighlight = TRUE; + if (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() != this) + { + mNeedsHighlight = TRUE; + } } void LLToolBarButton::onMouseCaptureLost() -- GitLab From d5d7e264ad636a42470772f5e96914327e30eca2 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 16:51:00 -0700 Subject: [PATCH 168/213] don't highlight toolbar buttons during drag and drop (for real) --- indra/llui/llbutton.cpp | 2 +- indra/llui/lltoolbar.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 0a7584a5765..4f0c0d31bd1 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -548,7 +548,7 @@ void LLButton::setHighlight(bool b) BOOL LLButton::handleHover(S32 x, S32 y, MASK mask) { if (isInEnabledChain() - && (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() != this)) + && (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() == this)) mNeedsHighlight = TRUE; if (!childrenHandleHover(x, y, mask)) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 02970bc9697..a75a1552fc1 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -871,7 +871,7 @@ void LLToolBarButton::onMouseEnter(S32 x, S32 y, MASK mask) LLUICtrl::onMouseEnter(x, y, mask); // Always highlight toolbar buttons, even if they are disabled - if (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() != this) + if (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() == this) { mNeedsHighlight = TRUE; } -- GitLab From fbd883ab36e49fea76b16a04aad0be5fc5196d49 Mon Sep 17 00:00:00 2001 From: leyla_linden <none@none> Date: Wed, 12 Oct 2011 17:18:17 -0700 Subject: [PATCH 169/213] updating destination guide and avatar picker urls --- indra/newview/app_settings/settings.xml | 4 ++-- indra/newview/skins/default/xui/en/floater_avatar.xml | 2 +- indra/newview/skins/default/xui/en/floater_destinations.xml | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index aa2ff646a86..dd540654fbf 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -619,7 +619,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/avatars.html</string> + <string>http://drofnas.components.pdp48.lindenlab.com/avatars.html</string> </map> <key>AvatarBakedTextureUploadTimeout</key> <map> @@ -2717,7 +2717,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html</string> + <string>http://drofnas.components.pdp48.lindenlab.com/guide.html</string> </map> <key>DisableCameraConstraints</key> <map> diff --git a/indra/newview/skins/default/xui/en/floater_avatar.xml b/indra/newview/skins/default/xui/en/floater_avatar.xml index 6e5c4ada482..3c7de6f3348 100644 --- a/indra/newview/skins/default/xui/en/floater_avatar.xml +++ b/indra/newview/skins/default/xui/en/floater_avatar.xml @@ -5,7 +5,7 @@ can_close="true" can_resize="true" min_height="230" - min_width="445" + min_width="450" height="230" layout="topleft" name="Avatar" diff --git a/indra/newview/skins/default/xui/en/floater_destinations.xml b/indra/newview/skins/default/xui/en/floater_destinations.xml index 2b48a9f6d6a..e63dc02a578 100644 --- a/indra/newview/skins/default/xui/en/floater_destinations.xml +++ b/indra/newview/skins/default/xui/en/floater_destinations.xml @@ -7,7 +7,7 @@ user_resize="true" can_resize="true" min_height="230" - min_width="525" + min_width="350" height="230" layout="topleft" name="Destinations" @@ -22,6 +22,5 @@ width="840" follows="all" name="destination_guide_contents" - start_url="http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/guide.html" trusted_content="true"/> </floater> -- GitLab From 309ebb84a8cf93e03e2594525aa128b3002040bf Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 12 Oct 2011 17:43:47 -0700 Subject: [PATCH 170/213] * Floater positioning now based on position of other cascading windows currently open. --- indra/llui/llfloater.cpp | 84 ++++++++++++------- indra/llui/llfloater.h | 19 +++-- indra/llui/llfloaterreg.cpp | 73 +++++++++++++++- indra/llui/llfloaterreg.h | 2 + indra/newview/llnearbychatbar.cpp | 9 +- indra/newview/llnearbychatbar.h | 2 +- .../skins/default/xui/en/floater_camera.xml | 4 +- .../skins/default/xui/en/floater_chat_bar.xml | 4 +- .../skins/default/xui/en/floater_moveview.xml | 4 +- 9 files changed, 152 insertions(+), 49 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 0398c0d7eb4..984b710b9d6 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -175,6 +175,8 @@ LLFloater::Params::Params() save_visibility("save_visibility", false), can_dock("can_dock", false), open_positioning("open_positioning", LLFloaterEnums::OPEN_POSITIONING_NONE), + specified_left("specified_left"), + specified_bottom("specified_bottom"), header_height("header_height", 0), legacy_header_height("legacy_header_height", 0), close_image("close_image"), @@ -242,6 +244,9 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p) mCanClose(p.can_close), mDragOnLeft(p.can_drag_on_left), mResizable(p.can_resize), + mOpenPositioning(p.open_positioning), + mSpecifiedLeft(p.specified_left), + mSpecifiedBottom(p.specified_bottom), mMinWidth(p.min_width), mMinHeight(p.min_height), mHeaderHeight(p.header_height), @@ -678,6 +683,7 @@ void LLFloater::openFloater(const LLSD& key) } else { + applyControlsAndPosition(LLFloaterReg::getLastFloaterCascading()); setMinimized(FALSE); setVisibleAndFrontmost(mAutoFocus); } @@ -840,39 +846,54 @@ LLMultiFloater* LLFloater::getHost() return (LLMultiFloater*)mHostHandle.get(); } -void LLFloater::applySavedVariables() +void LLFloater::applyControlsAndPosition(LLFloater* other) { - applyRectControl(); - applyDockState(); + if (!applyDockState()) + { + if (!applyRectControl()) + { + applyPositioning(other); + } + } } -void LLFloater::applyRectControl() +bool LLFloater::applyRectControl() { + bool saved_rect = false; + // If we have a saved rect, use it if (mRectControl.size() > 1) { const LLRect& rect = getControlGroup()->getRect(mRectControl); - if (rect.notEmpty()) + saved_rect = rect.notEmpty(); + if (saved_rect) { setOrigin(rect.mLeft, rect.mBottom); + if (mResizable) { reshape(llmax(mMinWidth, rect.getWidth()), llmax(mMinHeight, rect.getHeight())); } } } + + return saved_rect; } -void LLFloater::applyDockState() +bool LLFloater::applyDockState() { + bool docked = false; + if (mDocStateControl.size() > 1) { - bool dockState = getControlGroup()->getBOOL(mDocStateControl); - setDocked(dockState); + docked = getControlGroup()->getBOOL(mDocStateControl); + setDocked(docked); } + + return docked; } -void LLFloater::applyPositioning() +void LLFloater::applyPositioning(LLFloater* other) { // Otherwise position according to the positioning code switch (mOpenPositioning) @@ -884,28 +905,33 @@ void LLFloater::applyPositioning() case LLFloaterEnums::OPEN_POSITIONING_SPECIFIED: { // Translate relative to snap rect - LLRect r = getRect(); - r.mBottom = getSnapRect().getHeight() - r.getHeight() - r.mBottom; - setOrigin(r.mLeft, r.mBottom); - translateIntoRect(getSnapRect(), FALSE); + setOrigin(mSpecifiedLeft, mSpecifiedBottom); + const LLRect& snap_rect = gFloaterView->getSnapRect(); + translate(snap_rect.mLeft, snap_rect.mBottom); + translateIntoRect(snap_rect, FALSE); } break; case LLFloaterEnums::OPEN_POSITIONING_CASCADING: + if (other != NULL) { - static const U32 CASCADING_FLOATER_HOFFSET = 25; - static const U32 CASCADING_FLOATER_VOFFSET = 25; - static const S32 CASCADING_FLOATER_LIMIT = 15; - static S32 cascading_floater_count = 1; - const S32 top = CASCADING_FLOATER_VOFFSET * cascading_floater_count; - const S32 left = CASCADING_FLOATER_HOFFSET * cascading_floater_count; - setOrigin(left, top); - translateIntoRect(getSnapRect(), FALSE); + stackWith(*other); + } + else + { + static const U32 CASCADING_FLOATER_HOFFSET = 0; + static const U32 CASCADING_FLOATER_VOFFSET = 0; + + const LLRect& snap_rect = gFloaterView->getSnapRect(); - if (++cascading_floater_count > CASCADING_FLOATER_LIMIT) - { - cascading_floater_count = 1; - } + const S32 horizontal_offset = CASCADING_FLOATER_HOFFSET; + const S32 vertical_offset = snap_rect.getHeight() - CASCADING_FLOATER_VOFFSET; + + S32 rect_height = getRect().getHeight(); + setOrigin(horizontal_offset, vertical_offset - rect_height); + + translate(snap_rect.mLeft, snap_rect.mBottom); + translateIntoRect(snap_rect, FALSE); } break; @@ -2891,9 +2917,11 @@ void LLFloater::initFromParams(const LLFloater::Params& p) mHeaderHeight = p.header_height; mLegacyHeaderHeight = p.legacy_header_height; mSingleInstance = p.single_instance; + mOpenPositioning = p.open_positioning; + mSpecifiedLeft = p.specified_left; + mSpecifiedBottom = p.specified_bottom; - /* if (p.save_rect && mRectControl.empty()) { mRectControl = "t"; // flag to build mRectControl name once mInstanceName is set @@ -2901,8 +2929,7 @@ void LLFloater::initFromParams(const LLFloater::Params& p) if (p.save_visibility) { mVisibilityControl = "t"; // flag to build mVisibilityControl name once mInstanceName is set - }*/ - + } if(p.save_dock_state) { mDocStateControl = "t"; // flag to build mDocStateControl name once mInstanceName is set @@ -3053,7 +3080,6 @@ bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::str llerrs << "Failed to construct floater " << getName() << llendl; } - applyPositioning(); applyRectControl(); // If we have a saved rect control, apply it gFloaterView->adjustToFitScreen(this, FALSE); // Floaters loaded from XML should all fit on screen diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index b404306e948..b094c76168a 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -130,6 +130,9 @@ class LLFloater : public LLPanel can_dock; Optional<LLFloaterEnums::EOpenPositioning> open_positioning; + Optional<S32> specified_left; + Optional<S32> specified_bottom; + Optional<S32> header_height, legacy_header_height; // HACK see initFromXML() @@ -291,8 +294,6 @@ class LLFloater : public LLPanel virtual void setTornOff(bool torn_off) { mTornOff = torn_off; } - void stackWith(LLFloater& other); - // Return a closeable floater, if any, given the current focus. static LLFloater* getClosableFloaterFromFocus(); @@ -317,12 +318,16 @@ class LLFloater : public LLPanel void updateTransparency(ETypeTransparency transparency_type); void enableResizeCtrls(bool enable, bool width = true, bool height = true); + + bool isPositioning(LLFloaterEnums::EOpenPositioning p) const { return (p == mOpenPositioning); } protected: - virtual void applySavedVariables(); + void applyControlsAndPosition(LLFloater* other); + + void stackWith(LLFloater& other); - virtual void applyRectControl(); - void applyDockState(); - void applyPositioning(); + virtual bool applyRectControl(); + bool applyDockState(); + void applyPositioning(LLFloater* other); void storeRectControl(); void storeVisibilityControl(); void storeDockStateControl(); @@ -412,6 +417,8 @@ class LLFloater : public LLPanel BOOL mResizable; LLFloaterEnums::EOpenPositioning mOpenPositioning; + S32 mSpecifiedLeft; + S32 mSpecifiedBottom; S32 mMinWidth; S32 mMinHeight; diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index 058223abbd4..a148f5a32e4 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -59,19 +59,57 @@ void LLFloaterReg::add(const std::string& name, const std::string& filename, con //static LLFloater* LLFloaterReg::getLastFloaterInGroup(const std::string& name) { - LLRect rect; const std::string& groupname = sGroupMap[name]; if (!groupname.empty()) { instance_list_t& list = sInstanceMap[groupname]; if (!list.empty()) { - return list.back(); + for (instance_list_t::reverse_iterator iter = list.rbegin(); iter != list.rend(); ++iter) + { + LLFloater* inst = *iter; + + if (inst->getVisible() && !inst->isMinimized()) + { + return inst; + } + } } } return NULL; } +LLFloater* LLFloaterReg::getLastFloaterCascading() +{ + LLRect candidate_rect; + candidate_rect.mTop = 100000; + LLFloater* candidate_floater = NULL; + + std::map<std::string,std::string>::const_iterator it = sGroupMap.begin(), it_end = sGroupMap.end(); + for( ; it != it_end; ++it) + { + const std::string& group_name = it->second; + + instance_list_t& instances = sInstanceMap[group_name]; + + for (instance_list_t::const_iterator iter = instances.begin(); iter != instances.end(); ++iter) + { + LLFloater* inst = *iter; + + if (inst->getVisible() && inst->isPositioning(LLFloaterEnums::OPEN_POSITIONING_CASCADING)) + { + if (candidate_rect.mTop > inst->getRect().mTop) + { + candidate_floater = inst; + candidate_rect = inst->getRect(); + } + } + } + } + + return candidate_floater; +} + //static LLFloater* LLFloaterReg::findInstance(const std::string& name, const LLSD& key) { @@ -127,9 +165,10 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key) res->mKey = key; } res->setInstanceName(name); - res->applySavedVariables(); // Can't apply rect and dock state until setting instance name - // apply list.size() and possibly stackWith(getLastFloaterInGroup(groupname)) + LLFloater *last_floater = (list.empty() ? NULL : list.back()); + res->applyControlsAndPosition(last_floater); + gFloaterView->adjustToFitScreen(res, false); list.push_back(res); @@ -533,3 +572,29 @@ bool LLFloaterReg::floaterInstanceMinimized(const LLSD& sdname) LLFloater* instance = findInstance(name, key); return LLFloater::isShown(instance); } + +// static +U32 LLFloaterReg::getVisibleFloaterInstanceCount() +{ + U32 count = 0; + + std::map<std::string,std::string>::const_iterator it = sGroupMap.begin(), it_end = sGroupMap.end(); + for( ; it != it_end; ++it) + { + const std::string& group_name = it->second; + + instance_list_t& instances = sInstanceMap[group_name]; + + for (instance_list_t::const_iterator iter = instances.begin(); iter != instances.end(); ++iter) + { + LLFloater* inst = *iter; + + if (inst->getVisible() && !inst->isMinimized()) + { + count++; + } + } + } + + return count; +} diff --git a/indra/llui/llfloaterreg.h b/indra/llui/llfloaterreg.h index 07ae45cc4c5..817fe2e8c6a 100644 --- a/indra/llui/llfloaterreg.h +++ b/indra/llui/llfloaterreg.h @@ -87,6 +87,7 @@ class LLFloaterReg // Helpers static LLFloater* getLastFloaterInGroup(const std::string& name); + static LLFloater* getLastFloaterCascading(); // Find / get (create) / remove / destroy static LLFloater* findInstance(const std::string& name, const LLSD& key = LLSD()); @@ -153,6 +154,7 @@ class LLFloaterReg static void blockShowFloaters(bool value) { sBlockShowFloaters = value;} + static U32 getVisibleFloaterInstanceCount(); }; #endif diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index cd84275ef09..3e4228cfb64 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -109,15 +109,18 @@ BOOL LLNearbyChatBar::postBuild() return TRUE; } -void LLNearbyChatBar::applyRectControl() +bool LLNearbyChatBar::applyRectControl() { - LLFloater::applyRectControl(); - if (getRect().getHeight() > getMinHeight()) + bool rect_controlled = LLFloater::applyRectControl(); + + if (getRect().getHeight() > getMinHeight()) { getChildView("nearby_chat")->setVisible(true); mExpandedHeight = getRect().getHeight(); enableResizeCtrls(true); } + + return rect_controlled; } void LLNearbyChatBar::onChatFontChange(LLFontGL* fontp) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index 5a7edac1bbf..bc00c1b9fce 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -71,7 +71,7 @@ class LLNearbyChatBar : public LLFloater void onChatBoxCommit(); void onChatFontChange(LLFontGL* fontp); - /* virtual */ void applyRectControl(); + /* virtual */ bool applyRectControl(); void onToggleNearbyChatPanel(); diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index 7f3abbb4815..20d0fa1c91a 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" + specified_left="683" + specified_bottom="0" legacy_header_height="18" can_minimize="true" can_close="true" follows="bottom" height="164" layout="topleft" - left="683" - bottom="0" name="camera_floater" help_topic="camera_floater" save_visibility="true" diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index 924e4bc11ea..92297418012 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" + specified_left="150" + specified_bottom="0" height="60" - left="150" - bottom="0" layout="topleft" legacy_header_height="25" single_instance="true" diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index 3d23a94ec2c..cbbd68beb3d 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" + specified_left="535" + specified_bottom="0" legacy_header_height="18" can_dock="false" can_minimize="true" can_close="true" follows="bottom" height="110" - left="535" - bottom="0" layout="topleft" name="move_floater" help_topic="move_floater" -- GitLab From 20358ea89dc9823ac0b539030fdf03268dbdf4e9 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Wed, 12 Oct 2011 17:45:21 -0700 Subject: [PATCH 171/213] * Added mModified flag and isModified() query to check it. (currently it is not connect to actual data) --- indra/llui/lltoolbar.cpp | 1 + indra/llui/lltoolbar.h | 4 +++- indra/newview/lltoolbarview.cpp | 11 +++++++++++ indra/newview/lltoolbarview.h | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a1ea4ba18b2..1320f03a256 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -99,6 +99,7 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p) mSideType(p.side), mWrap(p.wrap), mNeedsLayout(false), + mModified(false), mButtonPanel(NULL), mCenteringStack(NULL), mPadLeft(p.pad_left), diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 709399c59f9..2c66f29c16a 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -178,7 +178,8 @@ class LLToolBar LLToolBarButton* createButton(const LLCommandId& id); - bool hasButtons() { return !mButtons.empty(); } + bool hasButtons() const { return !mButtons.empty(); } + bool isModified() const { return mModified; } protected: friend class LLUICtrlFactory; @@ -225,6 +226,7 @@ class LLToolBar bool mWrap; bool mNeedsLayout; + bool mModified; S32 mPadLeft, mPadRight, mPadTop, diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 133835aafc6..bac154f4358 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -471,3 +471,14 @@ void LLToolBarView::setToolBarsVisible(bool visible) mToolbarLeft->getParent()->setVisible(visible); mToolbarRight->getParent()->setVisible(visible); } + +bool LLToolBarView::isModified() const +{ + bool modified = false; + + modified |= mToolbarBottom->isModified(); + modified |= mToolbarLeft->isModified(); + modified |= mToolbarRight->isModified(); + + return modified; +} diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index 01ff137c155..8b3af438753 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -81,6 +81,8 @@ class LLToolBarView : public LLUICtrl static BOOL handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar); static void stopDragTool(); void onEndDrag(); + + bool isModified() const; protected: friend class LLUICtrlFactory; -- GitLab From aa1f0215c764fa346625ace43c467a0e0f803057 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 12 Oct 2011 18:01:50 -0700 Subject: [PATCH 172/213] EXP-1331 : Implement new longer caret and make it work on multi lines or columns of tools. EXP-1304 : handle only tools in DaD on toolbars --- indra/llui/lltoolbar.cpp | 92 +++++++++++++----- indra/llui/lltoolbar.h | 6 +- indra/newview/lltoolbarview.cpp | 4 +- .../skins/default/textures/textures.xml | 6 +- .../textures/toolbar_icons/caret_bottom.png | Bin 169 -> 195 bytes .../textures/toolbar_icons/caret_left.png | Bin 913 -> 948 bytes .../textures/toolbar_icons/caret_right.png | Bin 911 -> 949 bytes .../default/xui/en/panel_toolbar_view.xml | 12 +-- 8 files changed, 81 insertions(+), 39 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a1ea4ba18b2..ce3ef1db973 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -395,12 +395,14 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row // Returns the position of the coordinates as a rank in the button list. // The rank is the position a tool dropped in (x,y) would assume in the button list. -// The value returned is between 0 and mButtons.size(), 0 being the first element to the left +// The returned value is between 0 and mButtons.size(), 0 being the first element to the left // (or top) and mButtons.size() the last one to the right (or bottom). -int LLToolBar::getRankFromPosition(S32& x, S32& y) +// Various drag data are stored in the toolbar object though are not exposed outside (and shouldn't). +int LLToolBar::getRankFromPosition(S32 x, S32 y) { int rank = 0; + // Convert the toolbar coord into button panel coords LLLayoutStack::ELayoutOrientation orientation = getOrientation(mSideType); S32 button_panel_x = 0; S32 button_panel_y = 0; @@ -408,32 +410,72 @@ int LLToolBar::getRankFromPosition(S32& x, S32& y) S32 dx = x - button_panel_x; S32 dy = y - button_panel_y; - // Simply compare the passed coord with the buttons outbound box + // Simply compare the passed coord with the buttons outbound box + padding std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); std::list<LLToolBarButton*>::iterator end_button = mButtons.end(); LLRect button_rect; while (it_button != end_button) { button_rect = (*it_button)->getRect(); - if (((orientation == LLLayoutStack::HORIZONTAL) && (button_rect.mRight > button_panel_x)) || - ((orientation == LLLayoutStack::VERTICAL) && (button_rect.mBottom < button_panel_y)) ) + S32 point_x, point_y; + if (orientation == LLLayoutStack::HORIZONTAL) + { + // Horizontal + point_x = (button_rect.mRight + button_rect.mLeft) / 2; + point_y = button_rect.mBottom - mPadBottom; + } + else + { + // Vertical + point_x = button_rect.mRight + mPadRight; + point_y = (button_rect.mTop + button_rect.mBottom) / 2; + } + + if ((button_panel_x < point_x) && (button_panel_y > point_y)) { break; } + mDragCommand = (*it_button)->mId; rank++; ++it_button; } - if (it_button != end_button) + + // Update the passed coordinates to the hit button relevant corner + // (different depending on toolbar orientation) + if (rank < mButtons.size()) { - x = button_rect.mLeft + dx; - y = button_rect.mTop + dy; + mDragx = button_rect.mLeft - mPadLeft; + mDragy = button_rect.mTop + mPadTop; } else { - x = button_rect.mRight + dx; - y = button_rect.mBottom + dy; + // We hit passed the end of the list so put the insertion point at the end + if (orientation == LLLayoutStack::HORIZONTAL) + { + mDragx = button_rect.mRight + mPadRight; + mDragy = button_rect.mTop + mPadTop; + } + else + { + mDragx = button_rect.mLeft - mPadLeft; + mDragy = button_rect.mBottom - mPadBottom; + } + } + + // Update the "girth" of the caret, i.e. the width or height (depending of orientation) + if (orientation == LLLayoutStack::HORIZONTAL) + { + mDragGirth = button_rect.getHeight() + mPadBottom + mPadTop; + } + else + { + mDragGirth = button_rect.getWidth() + mPadLeft + mPadRight; } + // The delta account for the coord model change (i.e. convert back to toolbar coord) + mDragx += dx; + mDragy += dy; + return rank; } @@ -628,26 +670,18 @@ void LLToolBar::draw() { LLRect caret_rect = caret->getRect(); LLRect toolbar_rect = getRect(); - if (mSideType == SIDE_BOTTOM) + if (getOrientation(mSideType) == LLLayoutStack::HORIZONTAL) { caret->setRect(LLRect(mDragx-caret_rect.getWidth()/2+1, - toolbar_rect.getHeight()+3, + mDragy, mDragx+caret_rect.getWidth()/2+1, - toolbar_rect.getHeight()-caret_rect.getHeight()+3)); - } - else if (mSideType == SIDE_LEFT) - { - - caret->setRect(LLRect(toolbar_rect.getWidth()-caret_rect.getWidth()+3, - mDragy+caret_rect.getHeight()/2, - toolbar_rect.getWidth()+3, - mDragy-caret_rect.getHeight()/2)); + mDragy-mDragGirth)); } else { - caret->setRect(LLRect(-3, + caret->setRect(LLRect(mDragx, mDragy+caret_rect.getHeight()/2, - caret_rect.getWidth()-3, + mDragx+mDragGirth, mDragy-caret_rect.getHeight()/2)); } caret->setVisible(TRUE); @@ -791,16 +825,20 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { - mDragx = x; - mDragy = y; - mDragRank = getRankFromPosition(mDragx, mDragy); - mDragAndDropTarget = true; + mDragRank = getRankFromPosition(x, y); + // Don't DaD if we're dragging a command on itself + mDragAndDropTarget = (mDragCommand.uuid() != inv_item->getUUID()); + //llinfos << "Merov debug : DaD, rank = " << mDragRank << ", hit uuid = " << mDragCommand.uuid() << ", dragged uui = " << inv_item->getUUID() << llendl; /* Do the following if you want to animate the button itself LLCommandId dragged_command(inv_item->getUUID()); removeCommand(dragged_command); addCommand(dragged_command,rank); */ } + else + { + handled = FALSE; + } } return handled; diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 709399c59f9..8fd509bacc9 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -156,7 +156,7 @@ class LLToolBar // virtuals void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); - int getRankFromPosition(S32& x, S32& y); + int getRankFromPosition(S32 x, S32 y); BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, @@ -192,7 +192,9 @@ class LLToolBar bool mDragAndDropTarget; int mDragRank; S32 mDragx, - mDragy; + mDragy, + mDragGirth; + LLCommandId mDragCommand; public: // Methods used in loading and saving toolbar settings diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 133835aafc6..a3b9552f913 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -394,11 +394,13 @@ BOOL LLToolBarView::handleDragTool( S32 x, S32 y, const LLUUID& uuid, LLAssetTyp BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* toolbar) { + BOOL handled = FALSE; LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data; LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { + handled = TRUE; // Get the command from its uuid LLCommandManager& mgr = LLCommandManager::instance(); LLCommandId command_id(inv_item->getUUID()); @@ -443,7 +445,7 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t } } stopDragTool(); - return TRUE; + return handled; } void LLToolBarView::stopDragTool() diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 27577d42ea2..c221f683c25 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -149,9 +149,9 @@ with the same filename but different name <texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" /> <texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" /> <texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" /> - <texture name="Caret_Bottom_Icon" file_name="toolbar_icons/caret_bottom.png" preload="true" /> - <texture name="Caret_Right_Icon" file_name="toolbar_icons/caret_right.png" preload="true" /> - <texture name="Caret_Left_Icon" file_name="toolbar_icons/caret_left.png" preload="true" /> + <texture name="Caret_Bottom_Icon" file_name="toolbar_icons/caret_bottom.png" preload="true" scale.left="1" scale.top="23" scale.right="15" scale.bottom="1" /> + <texture name="Caret_Right_Icon" file_name="toolbar_icons/caret_right.png" preload="true" scale.left="5" scale.top="15" scale.right="28" scale.bottom="1" /> + <texture name="Caret_Left_Icon" file_name="toolbar_icons/caret_left.png" preload="true" scale.left="1" scale.top="15" scale.right="23" scale.bottom="1" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png b/indra/newview/skins/default/textures/toolbar_icons/caret_bottom.png index d506cda5c90a894ca1710f114c1c6e6f5aa0ca04..5f6a01eaa180c17613ed34818e0fe8025a118a79 100644 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+j!3HGvO?g@mq&N#aB8wRqxP?KOkzv*x37}x9 zr;B5Vg<$fZ|NrfocQ&wgyVWc+R9c<x^vvO=2G@iqhDSDLvaNIv?>NUkyVKiv6JvyF zlgNY1Jd^HoDits~&HDe~5{HoblAq$Lv+DU~JbORo#-C=Pvm!VD<YwIRnYdZ=l1;%v r+k$h;G%ACZ%v^L~*$S0~bJG|uc1t<^Wq<7qbO3{=tDnm{r-UW|wzWqH literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4NtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?j^7eFb45_%4^ymM7duGFi&PET1Ely$r2Tz=kX!2&fkeU5} z%YUxbR;m8Po`Th9&zzCixY9u^{g7HmsBzT?hPfZ*W93>TSIYG<FtRa-@Jjy_eE#7p P&{zgfS3j3^P6<r_!woqK diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_left.png b/indra/newview/skins/default/textures/toolbar_icons/caret_left.png index b1284aaf79e92b4cc4aebf725b3f731b99caa735..0b8090314c6cabaeddecddc9a3c0deca3dda305e 100644 GIT binary patch delta 173 zcmV;e08;;v2ebzviBL{Q4GJ0x0000DNk~Le0000S0000F2nGNE0QXO?p|K$n1AlBu zL_t(I5$%&v3cxT3L+2Rnwu|llC$grfxc`xlG9hS7@nNu{sv9$QCJd|}_@(1>Sy-0l zW-@>YgI$NKSq@!RpDxt5tJb)SbG%3HF7!h0$Mgyz{KGn-Ff5fiA_E9sLRr9sGJ(_C b^??Io;R_hy2>jdt0000<MNUMnLIPld%8Nti delta 137 zcmdnOK9OCqGr-TCmrII^fq{Y7)59eQNQ2m19Be?c*XaD-jfz6dah{$ojv*3~OD_a+ zF&MD0J@~tOruCbBeQA{nvocNfr|7dN8O0@qb<AWv(6yIYtLwlkmVA$mhxt@JTsD}7 me(SvTrl3jo*me2U(&jERMHi$6E>Q%U&fw|l=d#Wzp$PzY{w$~f diff --git a/indra/newview/skins/default/textures/toolbar_icons/caret_right.png b/indra/newview/skins/default/textures/toolbar_icons/caret_right.png index bf6a4ed66c6c49cadb772c3854b0edf19100ca04..044751560f11625156715bd2d6f378d07f100374 100644 GIT binary patch delta 174 zcmeBY-^#Ao8Q|y6%O%Cdz`(%k>ERLtq-B7ZpMwoZe)nI$aHFCSbA7I-i(`m|;M0q- zTnz?1%n9oE{@cZ!v2U5x(Hu~dE4M{p*T#qKvE3a9BNq!V{wjar+XSm1?o|r+x5&(0 zu|&yAS-nW%_hivp=NsZLW1iRUzy1ERb@{ymZHG6VQr12CL!4_`GFOxV>&|Uc`o7G5 az`C?rR;AS}TNda722WQ%mvzie2~7ZXb3()b delta 135 zcmdnW-p{Vs8Q|y6%O%Cdz`(%k>ERLtq(N*h4mKd!Yjl3^Mnxg!7<W$>#}En0-U|mg z84Ng>4=kI#)A@U;iMO1SsP3<Q83JkB)HbVks5vmWhn^N@{Pm4%`h>=w=oufyyEyjv kamTyF9O~gPto^}yrb=|d#E!-lK(iS<UHx3vIVCg!0O$oPI{*Lx diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index 9ffd62f7a9f..5475fcd2454 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -48,8 +48,8 @@ side="left" button_display_mode="icons_only"> <icon layout="topleft" - height="10" - width="10" + height="15" + width="28" follows="left|top" top="20" left="10" @@ -99,8 +99,8 @@ side="right" button_display_mode="icons_only"> <icon layout="topleft" - height="10" - width="10" + height="15" + width="28" follows="left|top" top="20" left="10" @@ -130,8 +130,8 @@ button_display_mode="icons_with_text" visible="true"> <icon layout="topleft" - height="10" - width="10" + height="28" + width="15" follows="left|top" top="20" left="10" -- GitLab From 9206226a377c88d34036ebd8a3ac6d9d55bc4146 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 18:16:59 -0700 Subject: [PATCH 173/213] tooltips now only show labels for toolbar buttons when label is hidden or truncated tooltips are no longer instantaneous once a tooltip is visible --- indra/llui/llbutton.cpp | 39 ++++++++++++------------- indra/llui/llbutton.h | 2 ++ indra/llui/lltoolbar.cpp | 36 ++++++++++++++++++----- indra/llui/lltoolbar.h | 4 +++ indra/llui/llview.cpp | 7 +++-- indra/llui/llview.h | 2 +- indra/newview/app_settings/settings.xml | 12 +++++++- indra/newview/llviewermenu.cpp | 8 +++++ 8 files changed, 78 insertions(+), 32 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 4f0c0d31bd1..f40d99c024a 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -732,16 +732,7 @@ void LLButton::draw() } // Unselected label assignments - LLWString label; - - if( getToggleState() ) - { - label = mSelectedLabel; - } - else - { - label = mUnselectedLabel; - } + LLWString label = getCurrentLabel(); // overlay with keyboard focus border if (hasFocus()) @@ -988,6 +979,23 @@ void LLButton::setLabelSelected( const LLStringExplicit& label ) mSelectedLabel = label; } +bool LLButton::labelIsTruncated() const +{ + return getCurrentLabel().getString().size() > mLastDrawCharsCount; +} + +const LLUIString& LLButton::getCurrentLabel() const +{ + if( getToggleState() ) + { + return mSelectedLabel; + } + else + { + return mUnselectedLabel; + } +} + void LLButton::setImageUnselected(LLPointer<LLUIImage> image) { mImageUnselected = image; @@ -999,16 +1007,7 @@ void LLButton::setImageUnselected(LLPointer<LLUIImage> image) void LLButton::autoResize() { - LLUIString label; - if(getToggleState()) - { - label = mSelectedLabel; - } - else - { - label = mUnselectedLabel; - } - resize(label); + resize(getCurrentLabel()); } void LLButton::resize(LLUIString label) diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index ba0345f6109..7d9adcd8927 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -242,6 +242,8 @@ class LLButton S32 getLastDrawCharsCount() const { return mLastDrawCharsCount; } + bool labelIsTruncated() const; + const LLUIString& getCurrentLabel() const; void setScaleImage(BOOL scale) { mScaleImage = scale; } BOOL getScaleImage() const { return mScaleImage; } diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index a75a1552fc1..fc5ec5ea264 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -193,9 +193,9 @@ void LLToolBar::initFromParams(const LLToolBar::Params& p) mCenteringStack->addChild(LLUICtrlFactory::create<LLLayoutPanel>(border_panel_p)); - BOOST_FOREACH(LLCommandId::Params params, p.commands) + BOOST_FOREACH(LLCommandId id, p.commands) { - addCommand(params); + addCommand(id); } mNeedsLayout = true; @@ -688,13 +688,10 @@ LLToolBarButton* LLToolBar::createButton(const LLCommandId& id) LLCommand* commandp = LLCommandManager::instance().getCommand(id); if (!commandp) return NULL; - std::string label = LLTrans::getString(commandp->labelRef()); - std::string tooltip = label + "\n" + LLTrans::getString(commandp->tooltipRef()); - LLToolBarButton::Params button_p; button_p.name = id.name(); - button_p.label = label; - button_p.tool_tip = tooltip; + button_p.label = LLTrans::getString(commandp->labelRef()); + button_p.tool_tip = LLTrans::getString(commandp->tooltipRef()); button_p.image_overlay = LLUI::getUIImage(commandp->icon()); button_p.overwriteFrom(mButtonParams[mButtonType]); LLToolBarButton* button = LLUICtrlFactory::create<LLToolBarButton>(button_p); @@ -886,3 +883,28 @@ void LLToolBarButton::reshape(S32 width, S32 height, BOOL called_from_parent) { LLButton::reshape(mWidthRange.clamp(width), height, called_from_parent); } + +const std::string LLToolBarButton::getToolTip() const +{ + std::string tooltip; + if (labelIsTruncated() || getCurrentLabel().empty()) + { + return LLTrans::getString(LLCommandManager::instance().getCommand(mId)->labelRef()) + " -- " + LLView::getToolTip(); + } + else + { + return LLView::getToolTip(); + } +} + + + + + + + + + + + + diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 709399c59f9..72fc5630bc3 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -72,6 +72,10 @@ class LLToolBarButton : public LLButton void onMouseEnter(S32 x, S32 y, MASK mask); void onMouseCaptureLost(); + virtual const std::string getToolTip() const; + + + private: LLCommandId mId; S32 mMouseDownX; diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index e10c2f0d1e2..55d053254c9 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -708,15 +708,16 @@ BOOL LLView::handleToolTip(S32 x, S32 y, MASK mask) // parents provide tooltips first, which are optionally // overridden by children, in case child is mouse_opaque - if (!mToolTipMsg.empty()) + std::string tooltip = getToolTip(); + if (!tooltip.empty()) { // allow "scrubbing" over ui by showing next tooltip immediately // if previous one was still visible F32 timeout = LLToolTipMgr::instance().toolTipVisible() - ? 0.f + ? LLUI::sSettingGroups["config"]->getF32( "ToolTipFastDelay" ) : LLUI::sSettingGroups["config"]->getF32( "ToolTipDelay" ); LLToolTipMgr::instance().show(LLToolTip::Params() - .message(mToolTipMsg) + .message(tooltip) .sticky_rect(calcScreenRect()) .delay_time(timeout)); diff --git a/indra/llui/llview.h b/indra/llui/llview.h index a1c46f3bf3a..5e3387dc984 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -238,7 +238,7 @@ class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElem ECursorType getHoverCursor() { return mHoverCursor; } - const std::string& getToolTip() const { return mToolTipMsg.getString(); } + virtual const std::string getToolTip() const { return mToolTipMsg.getString(); } void sendChildToFront(LLView* child); void sendChildToBack(LLView* child); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index aa2ff646a86..3298d6c6272 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -10905,7 +10905,17 @@ <key>Value</key> <real>0.699999988079</real> </map> - <key>ToolTipFadeTime</key> + <key>ToolTipFastDelay</key> + <map> + <key>Comment</key> + <string>Seconds before displaying tooltip when mouse stops over UI element (when a tooltip is already visible)</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>0.1</real> + </map> <key>ToolTipFadeTime</key> <map> <key>Comment</key> <string>Seconds over which tooltip fades away</string> diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 478af6ab7dc..aee46ed5bed 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6875,6 +6875,13 @@ class LLToolsEnableSaveToObjectInventory : public view_listener_t } }; +class LLToggleHowTo : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + return true; + } +}; class LLViewEnableMouselook : public view_listener_t { @@ -8039,6 +8046,7 @@ void initialize_menus() // Help menu // most items use the ShowFloater method + view_listener_t::addMenu(new LLToggleHowTo(), "Help.ToggleHowTo"); // Advanced menu view_listener_t::addMenu(new LLAdvancedToggleConsole(), "Advanced.ToggleConsole"); -- GitLab From 8affdabac33abbe63bea028dc92620550c06aff4 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Wed, 12 Oct 2011 19:17:44 -0700 Subject: [PATCH 174/213] removed visiblewhenminimized logic pending redesign --- indra/llui/llfloater.cpp | 23 ++++------------------- indra/llui/llfloater.h | 3 --- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 81b14aac176..fa533e81532 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -252,7 +252,6 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p) mHeaderHeight(p.header_height), mLegacyHeaderHeight(p.legacy_header_height), mMinimized(FALSE), - mVisibleWhenMinimized(TRUE), mForeground(FALSE), mFirstLook(TRUE), mButtonScale(1.0f), @@ -1433,17 +1432,6 @@ void LLFloater::removeDependentFloater(LLFloater* floaterp) floaterp->mDependeeHandle = LLHandle<LLFloater>(); } -void LLFloater::setVisibleWhenMinimized(bool visible) -{ - mVisibleWhenMinimized = visible; - if (visible && isMinimized()) - { - // restack in minimized stack - setMinimized(FALSE); - setMinimized(TRUE); - } -} - BOOL LLFloater::offerClickToButton(S32 x, S32 y, MASK mask, EFloaterButton index) { if( mButtonsEnabled[index] ) @@ -1820,14 +1808,11 @@ void LLFloater::draw() } if (isMinimized()) { - if (mVisibleWhenMinimized) + for (S32 i = 0; i < BUTTON_COUNT; i++) { - for (S32 i = 0; i < BUTTON_COUNT; i++) - { - drawChild(mButtons[i]); - } - drawChild(mDragHandle); + drawChild(mButtons[i]); } + drawChild(mDragHandle); } else { @@ -2482,7 +2467,7 @@ void LLFloaterView::getMinimizePosition(S32 *left, S32 *bottom) { // Examine minimized children. LLFloater* floater = (LLFloater*)((LLView*)*child_it); - if(floater->isMinimized() && floater->getVisibleWhenMinimized()) + if(floater->isMinimized()) { LLRect r = floater->getRect(); if((r.mBottom < (row + floater_header_size)) diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 7cfec09e5fd..8beb11507e1 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -217,8 +217,6 @@ class LLFloater : public LLPanel LLFloater* getDependee() { return (LLFloater*)mDependeeHandle.get(); } void removeDependentFloater(LLFloater* dependent); BOOL isMinimized() const { return mMinimized; } - void setVisibleWhenMinimized(bool visible); - bool getVisibleWhenMinimized() const { return mVisibleWhenMinimized;} /// isShown() differs from getVisible() in that isShown() also considers /// isMinimized(). isShown() is true only if visible and not minimized. bool isShown() const; @@ -429,7 +427,6 @@ class LLFloater : public LLPanel S32 mLegacyHeaderHeight;// HACK see initFloaterXML() BOOL mMinimized; - bool mVisibleWhenMinimized; BOOL mForeground; LLHandle<LLFloater> mDependeeHandle; -- GitLab From c14aa1b64e1190ff4bd7deef864d5393988e7f91 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Wed, 12 Oct 2011 19:48:13 -0700 Subject: [PATCH 175/213] EXP-1331 : Avoid showing the caret if the tool is dragged over itself --- indra/llui/lltoolbar.cpp | 29 ++++++++++++++++++++++++++--- indra/llui/lltoolbar.h | 1 + 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 21eeed1d276..5e025f6a45b 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -418,6 +418,7 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) while (it_button != end_button) { button_rect = (*it_button)->getRect(); + mDragCommand = (*it_button)->mId; S32 point_x, point_y; if (orientation == LLLayoutStack::HORIZONTAL) { @@ -436,7 +437,6 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) { break; } - mDragCommand = (*it_button)->mId; rank++; ++it_button; } @@ -480,6 +480,27 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) return rank; } +int LLToolBar::getRankFromPosition(const LLCommandId& id) +{ + if (!hasCommand(id)) + { + return RANK_NONE; + } + int rank = 0; + std::list<LLToolBarButton*>::iterator it_button = mButtons.begin(); + std::list<LLToolBarButton*>::iterator end_button = mButtons.end(); + while (it_button != end_button) + { + if ((*it_button)->mId == id) + { + break; + } + rank++; + ++it_button; + } + return rank; +} + void LLToolBar::updateLayoutAsNeeded() { if (!mNeedsLayout) return; @@ -826,10 +847,12 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, LLAssetType::EType type = inv_item->getType(); if (type == LLAssetType::AT_WIDGET) { + LLCommandId dragged_command(inv_item->getUUID()); + int orig_rank = getRankFromPosition(dragged_command); mDragRank = getRankFromPosition(x, y); // Don't DaD if we're dragging a command on itself - mDragAndDropTarget = (mDragCommand.uuid() != inv_item->getUUID()); - //llinfos << "Merov debug : DaD, rank = " << mDragRank << ", hit uuid = " << mDragCommand.uuid() << ", dragged uui = " << inv_item->getUUID() << llendl; + mDragAndDropTarget = ((mDragRank == orig_rank) || ((mDragRank-1) == orig_rank) ? false : true); + llinfos << "Merov debug : DaD, rank = " << mDragRank << ", hit uuid = " << mDragCommand.uuid() << ", dragged uui = " << inv_item->getUUID() << llendl; /* Do the following if you want to animate the button itself LLCommandId dragged_command(inv_item->getUUID()); removeCommand(dragged_command); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 7f8ae4f8393..49750a9ac27 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -157,6 +157,7 @@ class LLToolBar void draw(); void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); int getRankFromPosition(S32 x, S32 y); + int getRankFromPosition(const LLCommandId& id); BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, -- GitLab From 1a9eaf09b0f36b675732d04c6f10615e2a8a9e05 Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Thu, 13 Oct 2011 08:58:36 -0700 Subject: [PATCH 176/213] EXP-1331 : Fix the drag to position 0 case I broke while fixing the drag on itself case... Aaagh... --- indra/llui/lltoolbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 3ea0968bfc6..7fcd1da7b12 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -848,7 +848,7 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, int orig_rank = getRankFromPosition(dragged_command); mDragRank = getRankFromPosition(x, y); // Don't DaD if we're dragging a command on itself - mDragAndDropTarget = ((mDragRank == orig_rank) || ((mDragRank-1) == orig_rank) ? false : true); + mDragAndDropTarget = ((orig_rank != RANK_NONE) && ((mDragRank == orig_rank) || ((mDragRank-1) == orig_rank)) ? false : true); llinfos << "Merov debug : DaD, rank = " << mDragRank << ", hit uuid = " << mDragCommand.uuid() << ", dragged uui = " << inv_item->getUUID() << llendl; /* Do the following if you want to animate the button itself LLCommandId dragged_command(inv_item->getUUID()); -- GitLab From 084169645a7e7d9228ef5fa9b0547cbf26510eef Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 13 Oct 2011 09:54:47 -0700 Subject: [PATCH 177/213] FUI Menubar changes per the wiki --- .../skins/default/xui/en/menu_viewer.xml | 316 +++++++++--------- 1 file changed, 161 insertions(+), 155 deletions(-) diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index c586e3a098e..69029d2ab9c 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -8,7 +8,168 @@ label="Me" 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 + function="ShowAgentProfile" + parameter="agent" /> + </menu_item_call> + <menu_item_call + label="Appearance..." + name="ChangeOutfit"> + <menu_item_call.on_click + function="CustomizeAvatar" /> + <menu_item_call.on_enable + function="Edit.EnableCustomizeAvatar" /> + </menu_item_call> + <menu_item_check + label="Inventory..." + name="Inventory" + shortcut="control|shift|I" + visible="false"> + <menu_item_check.on_check + function="Floater.Visible" + parameter="inventory" /> + <menu_item_check.on_click + function="Floater.Toggle" + parameter="inventory" /> + </menu_item_check> + <menu_item_check + label="Inventory..." + name="ShowSidetrayInventory" + shortcut="control|I" + visible="true"> + <menu_item_check.on_check + function="SidetrayPanelVisible" + parameter="my_inventory" /> + <menu_item_check.on_click + function="ShowSidetrayPanel" + parameter="my_inventory" /> + </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_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 + create_jump_keys="true" + label="Movement" + name="Movement" + tear_off="true"> + <menu_item_call + label="Sit Down" + layout="topleft" + shortcut="alt|shift|S" + name="Sit Down Here"> + <menu_item_call.on_click + function="Self.SitDown" + parameter="" /> + <menu_item_call.on_enable + function="Self.EnableSitDown" /> + </menu_item_call> + <menu_item_check + label="Fly" + name="Fly" + shortcut="Home"> + <menu_item_check.on_check + function="Agent.getFlying" /> + <menu_item_check.on_click + function="Agent.toggleFlying" /> + <menu_item_check.on_enable + function="Agent.enableFlying" /> + </menu_item_check> + <menu_item_check + label="Always Run" + name="Always Run" + shortcut="control|R"> + <menu_item_check.on_check + function="World.CheckAlwaysRun" /> + <menu_item_check.on_click + function="World.AlwaysRun" /> + </menu_item_check> + <menu_item_call + label="Stop Animating Me" + name="Stop Animating My Avatar"> + <menu_item_call.on_click + function="Tools.StopAllAnimations" /> + </menu_item_call> + </menu> + + <menu + create_jump_keys="true" + label="Status" + name="Status" + tear_off="true"> <menu_item_call + label="Away" + name="Set Away"> + <menu_item_call.on_click + function="World.SetAway" /> + </menu_item_call> + <menu_item_call + label="Busy" + name="Set Busy"> + <menu_item_call.on_click + function="World.SetBusy"/> + </menu_item_call> + </menu> + + <menu_item_call + label="Request Admin Status" + name="Request Admin Options" + shortcut="control|alt|G" + visible="false"> + <menu_item_call.on_click + function="Advanced.RequestAdminStatus" /> + </menu_item_call> + <menu_item_call + label="Leave Admin Status" + name="Leave Admin Options" + shortcut="control|alt|shift|G" + visible="false"> + <menu_item_call.on_click + function="Advanced.LeaveAdminStatus" /> + </menu_item_call> + + <menu_item_separator/> + + <menu_item_call + label="Buy L$" + name="Buy and Sell L$"> + <menu_item_call.on_click + function="BuyCurrency" /> + </menu_item_call> + + <menu_item_separator/> + + <menu_item_call label="Preferences..." name="Preferences" shortcut="control|P"> @@ -31,161 +192,6 @@ <menu_item_call.on_click function="View.ToggleUI" /> </menu_item_call> - <menu_item_call - label="My 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="Buy L$" - name="Buy and Sell L$"> - <menu_item_call.on_click - function="BuyCurrency" /> - </menu_item_call> - - <menu_item_separator/> - - <menu_item_call - label="My Profile" - name="Profile"> - <menu_item_call.on_click - function="ShowAgentProfile" - parameter="agent" /> - </menu_item_call> - <menu_item_call - label="My Appearance" - name="ChangeOutfit"> - <menu_item_call.on_click - function="CustomizeAvatar" /> - <menu_item_call.on_enable - function="Edit.EnableCustomizeAvatar" /> - </menu_item_call> - <menu_item_check - label="My Inventory" - name="Inventory" - shortcut="control|shift|I" - visible="false"> - <menu_item_check.on_check - function="Floater.Visible" - parameter="inventory" /> - <menu_item_check.on_click - function="Floater.Toggle" - parameter="inventory" /> - </menu_item_check> - <menu_item_check - label="My Inventory" - name="ShowSidetrayInventory" - shortcut="control|I" - visible="true"> - <menu_item_check.on_check - function="SidetrayPanelVisible" - parameter="my_inventory" /> - <menu_item_check.on_click - function="ShowSidetrayPanel" - parameter="my_inventory" /> - </menu_item_check> - <menu_item_check - label="My 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="My 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 - create_jump_keys="true" - label="Movement" - name="Movement" - tear_off="true"> - <menu_item_call - label="Sit Down" - layout="topleft" - shortcut="alt|shift|S" - name="Sit Down Here"> - <menu_item_call.on_click - function="Self.SitDown" - parameter="" /> - <menu_item_call.on_enable - function="Self.EnableSitDown" /> - </menu_item_call> - <menu_item_check - label="Fly" - name="Fly" - shortcut="Home"> - <menu_item_check.on_check - function="Agent.getFlying" /> - <menu_item_check.on_click - function="Agent.toggleFlying" /> - <menu_item_check.on_enable - function="Agent.enableFlying" /> - </menu_item_check> - <menu_item_check - label="Always Run" - name="Always Run" - shortcut="control|R"> - <menu_item_check.on_check - function="World.CheckAlwaysRun" /> - <menu_item_check.on_click - function="World.AlwaysRun" /> - </menu_item_check> - <menu_item_call - label="Stop Animating Me" - name="Stop Animating My Avatar"> - <menu_item_call.on_click - function="Tools.StopAllAnimations" /> - </menu_item_call> - </menu> - <menu - create_jump_keys="true" - label="My Status" - name="Status" - tear_off="true"> - <menu_item_call - label="Away" - name="Set Away"> - <menu_item_call.on_click - function="World.SetAway" /> - </menu_item_call> - <menu_item_call - label="Busy" - name="Set Busy"> - <menu_item_call.on_click - function="World.SetBusy"/> - </menu_item_call> - </menu> - <menu_item_call - label="Request Admin Status" - name="Request Admin Options" - shortcut="control|alt|G" - visible="false"> - <menu_item_call.on_click - function="Advanced.RequestAdminStatus" /> - </menu_item_call> - <menu_item_call - label="Leave Admin Status" - name="Leave Admin Options" - shortcut="control|alt|shift|G" - visible="false"> - <menu_item_call.on_click - function="Advanced.LeaveAdminStatus" /> - </menu_item_call> <menu_item_separator/> -- GitLab From 87c321512a24527e2e4deddc6bb5db6dda5ca9b8 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Thu, 13 Oct 2011 10:47:53 -0700 Subject: [PATCH 178/213] fix for profile button not following floater state --- indra/newview/llviewerhelp.cpp | 1 - indra/newview/llviewermenu.cpp | 20 +++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp index d1120b6269f..a8a918f259b 100644 --- a/indra/newview/llviewerhelp.cpp +++ b/indra/newview/llviewerhelp.cpp @@ -144,4 +144,3 @@ std::string LLViewerHelp::getTopicFromFocus() return defaultTopic(); } - diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index aee46ed5bed..4b90f1952a7 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3113,6 +3113,11 @@ void handle_avatar_eject(const LLSD& avatar_id) } } +bool my_profile_visible() +{ + return LLAvatarActions::profileVisible(gAgent.getID()); +} + bool enable_freeze_eject(const LLSD& avatar_id) { // Use avatar_id if available, otherwise default to right-click avatar @@ -4516,6 +4521,13 @@ bool tools_visible_take_object() return !is_selection_buy_not_take(); } +bool enable_how_to_visible(const LLSD& param) +{ + LLFloaterWebContent::Params p; + p.target = "__help_how_to"; + return LLFloaterReg::instanceVisible(param, p); +} + class LLToolsEnableBuyOrTake : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -6879,6 +6891,11 @@ class LLToggleHowTo : public view_listener_t { bool handleEvent(const LLSD& userdata) { + LLFloaterWebContent::Params p; + p.url = gSavedSettings.getString("HowToHelpURL"); + p.target = "__help_how_to"; + + LLFloaterReg::toggleInstanceOrBringToFront(userdata, p); return true; } }; @@ -8047,6 +8064,7 @@ void initialize_menus() // Help menu // most items use the ShowFloater method view_listener_t::addMenu(new LLToggleHowTo(), "Help.ToggleHowTo"); + enable.add("Help.HowToVisible", boost::bind(&enable_how_to_visible, _2)); // Advanced menu view_listener_t::addMenu(new LLAdvancedToggleConsole(), "Advanced.ToggleConsole"); @@ -8240,7 +8258,7 @@ void initialize_menus() enable.add("Avatar.EnableCall", boost::bind(&LLAvatarActions::canCall)); view_listener_t::addMenu(new LLAvatarReportAbuse(), "Avatar.ReportAbuse"); view_listener_t::addMenu(new LLAvatarToggleMyProfile(), "Avatar.ToggleMyProfile"); - enable.add("Avatar.IsMyProfileOpen", boost::bind(&LLAvatarActions::profileVisible, gAgent.getID())); + enable.add("Avatar.IsMyProfileOpen", boost::bind(&my_profile_visible)); view_listener_t::addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend"); enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); -- GitLab From 63e4fdfc6498ad8a0af92e89759ae4fdb7035af6 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Thu, 13 Oct 2011 10:49:53 -0700 Subject: [PATCH 179/213] cleaned up floater reg, removed extraneous functions --- indra/llui/llbutton.cpp | 2 +- indra/llui/llfloaterreg.cpp | 96 +------------------------ indra/llui/llfloaterreg.h | 9 +-- indra/llui/llui.cpp | 35 +++++---- indra/newview/app_settings/commands.xml | 45 ++++++------ indra/newview/llpanelpeople.cpp | 2 +- indra/newview/llviewerfloaterreg.cpp | 1 + 7 files changed, 44 insertions(+), 146 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index f40d99c024a..3572d18860d 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -1189,7 +1189,7 @@ void LLButton::setFloaterToggle(LLUICtrl* ctrl, const LLSD& sdname) // Set the button control value (toggle state) to the floater visibility control (Sets the value as well) button->setControlVariable(LLFloater::getControlGroup()->getControl(vis_control_name)); // Set the clicked callback to toggle the floater - button->setClickedCallback(boost::bind(&LLFloaterReg::toggleFloaterInstance, sdname)); + button->setClickedCallback(boost::bind(&LLFloaterReg::toggleInstance, sdname, LLSD())); } // static diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index a148f5a32e4..0edfc8da2d4 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -436,57 +436,8 @@ void LLFloaterReg::registerControlVariables() } } -// Callbacks - -// static -// Call once (i.e use for init callbacks) -void LLFloaterReg::initUICtrlToFloaterVisibilityControl(LLUICtrl* ctrl, const LLSD& sdname) -{ - // Get the visibility control name for the floater - std::string vis_control_name = LLFloaterReg::declareVisibilityControl(sdname.asString()); - // Set the control value to the floater visibility control (Sets the value as well) - ctrl->setControlVariable(LLFloater::getControlGroup()->getControl(vis_control_name)); -} - -// callback args may use "floatername.key" format -static void parse_name_key(std::string& name, LLSD& key) -{ - std::string instname = name; - std::size_t dotpos = instname.find("."); - if (dotpos != std::string::npos) - { - name = instname.substr(0, dotpos); - key = LLSD(instname.substr(dotpos+1, std::string::npos)); - } -} - -//static -void LLFloaterReg::showFloaterInstance(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - showInstance(name, key, TRUE); -} -//static -void LLFloaterReg::hideFloaterInstance(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - hideInstance(name, key); -} //static -void LLFloaterReg::toggleFloaterInstance(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - toggleInstance(name, key); -} - -//static -void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) +void LLFloaterReg::toggleInstanceOrBringToFront(const LLSD& sdname, const LLSD& key) { // // Floaters controlled by the toolbar behave a bit differently from others. @@ -501,11 +452,7 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) // * Else the target floater is open, close it. // - // First parse the parameter - LLSD key; std::string name = sdname.asString(); - parse_name_key(name, key); - LLFloater* instance = getInstance(name, key); if (!instance) @@ -532,47 +479,6 @@ void LLFloaterReg::toggleToolbarFloaterInstance(const LLSD& sdname) } } -//static -bool LLFloaterReg::floaterInstanceOpen(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - - bool visible_or_minimized = instanceVisible(name, key); - - if (!visible_or_minimized) - { - LLFloater* instance = findInstance(name, key); - - if (instance != NULL) - { - visible_or_minimized = LLFloater::isMinimized(instance); - } - } - - return visible_or_minimized; -} - -//static -bool LLFloaterReg::floaterInstanceVisible(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - return instanceVisible(name, key); -} - -//static -bool LLFloaterReg::floaterInstanceMinimized(const LLSD& sdname) -{ - LLSD key; - std::string name = sdname.asString(); - parse_name_key(name, key); - LLFloater* instance = findInstance(name, key); - return LLFloater::isShown(instance); -} - // static U32 LLFloaterReg::getVisibleFloaterInstanceCount() { diff --git a/indra/llui/llfloaterreg.h b/indra/llui/llfloaterreg.h index 817fe2e8c6a..534cf8b40ab 100644 --- a/indra/llui/llfloaterreg.h +++ b/indra/llui/llfloaterreg.h @@ -124,14 +124,7 @@ class LLFloaterReg static void registerControlVariables(); // Callback wrappers - static void initUICtrlToFloaterVisibilityControl(LLUICtrl* ctrl, const LLSD& sdname); - static void showFloaterInstance(const LLSD& sdname); - static void hideFloaterInstance(const LLSD& sdname); - static void toggleFloaterInstance(const LLSD& sdname); - static void toggleToolbarFloaterInstance(const LLSD& sdname); - static bool floaterInstanceOpen(const LLSD& sdname); - static bool floaterInstanceVisible(const LLSD& sdname); - static bool floaterInstanceMinimized(const LLSD& sdname); + static void toggleInstanceOrBringToFront(const LLSD& sdname, const LLSD& key = LLSD()); // Typed find / get / show template <class T> diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 9c0253f0743..79ad99a7704 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -89,7 +89,7 @@ std::list<std::string> gUntranslated; /*static*/ LLUI::remove_popup_t LLUI::sRemovePopupFunc; /*static*/ LLUI::clear_popups_t LLUI::sClearPopupsFunc; -// register filtereditor here +// register filter editor here static LLDefaultChildRegistry::Register<LLFilterEditor> register_filter_editor("filter_editor"); static LLDefaultChildRegistry::Register<LLFlyoutButton> register_flyout_button("flyout_button"); static LLDefaultChildRegistry::Register<LLSearchEditor> register_search_editor("search_editor"); @@ -106,7 +106,7 @@ void make_ui_sound(const char* namep) std::string name = ll_safe_string(namep); if (!LLUI::sSettingGroups["config"]->controlExists(name)) { - llwarns << "tried to make ui sound for unknown sound name: " << name << llendl; + llwarns << "tried to make UI sound for unknown sound name: " << name << llendl; } else { @@ -117,12 +117,12 @@ void make_ui_sound(const char* namep) { if (LLUI::sSettingGroups["config"]->getBOOL("UISndDebugSpamToggle")) { - llinfos << "ui sound name: " << name << " triggered but silent (null uuid)" << llendl; + llinfos << "UI sound name: " << name << " triggered but silent (null uuid)" << llendl; } } else { - llwarns << "ui sound named: " << name << " does not translate to a valid uuid" << llendl; + llwarns << "UI sound named: " << name << " does not translate to a valid uuid" << llendl; } } @@ -130,7 +130,7 @@ void make_ui_sound(const char* namep) { if (LLUI::sSettingGroups["config"]->getBOOL("UISndDebugSpamToggle")) { - llinfos << "ui sound name: " << name << llendl; + llinfos << "UI sound name: " << name << llendl; } LLUI::sAudioCallback(uuid); } @@ -474,7 +474,7 @@ void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTex return; } - // add in offset of current image to current ui translation + // add in offset of current image to current UI translation const LLVector3 ui_scale = gGL.getUIScale(); const LLVector3 ui_translation = (gGL.getUITranslation() + LLVector3(x, y, 0.f)).scaledVec(ui_scale); @@ -1616,17 +1616,16 @@ void LLUI::initClass(const settings_map_t& settings, LLUICtrl::CommitCallbackRegistry::Registrar& reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar(); - // Callbacks for associating controls with floater visibilty: - reg.add("Floater.Toggle", boost::bind(&LLFloaterReg::toggleFloaterInstance, _2)); - reg.add("Floater.ToolbarToggle", boost::bind(&LLFloaterReg::toggleToolbarFloaterInstance, _2)); - reg.add("Floater.Show", boost::bind(&LLFloaterReg::showFloaterInstance, _2)); - reg.add("Floater.Hide", boost::bind(&LLFloaterReg::hideFloaterInstance, _2)); - reg.add("Floater.InitToVisibilityControl", boost::bind(&LLFloaterReg::initUICtrlToFloaterVisibilityControl, _1, _2)); + // Callbacks for associating controls with floater visibility: + reg.add("Floater.Toggle", boost::bind(&LLFloaterReg::toggleInstance, _2, LLSD())); + reg.add("Floater.ToggleOrBringToFront", boost::bind(&LLFloaterReg::toggleInstanceOrBringToFront, _2, LLSD())); + reg.add("Floater.Show", boost::bind(&LLFloaterReg::showInstance, _2, LLSD(), FALSE)); + reg.add("Floater.Hide", boost::bind(&LLFloaterReg::hideInstance, _2, LLSD())); // Button initialization callback for toggle buttons reg.add("Button.SetFloaterToggle", boost::bind(&LLButton::setFloaterToggle, _1, _2)); - // Button initialization callback for toggle buttons on dockale floaters + // Button initialization callback for toggle buttons on dockable floaters reg.add("Button.SetDockableFloaterToggle", boost::bind(&LLButton::setDockableFloaterToggle, _1, _2)); // Display the help topic for the current context @@ -1635,9 +1634,9 @@ void LLUI::initClass(const settings_map_t& settings, // Currently unused, but kept for reference: reg.add("Button.ToggleFloater", boost::bind(&LLButton::toggleFloaterAndSetToggleState, _1, _2)); - // Used by menus along with Floater.Toggle to display visibility as a checkmark - LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.Visible", boost::bind(&LLFloaterReg::floaterInstanceVisible, _2)); - LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.IsOpen", boost::bind(&LLFloaterReg::floaterInstanceOpen, _2)); + // Used by menus along with Floater.Toggle to display visibility as a check-mark + LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.Visible", boost::bind(&LLFloaterReg::instanceVisible, _2, LLSD())); + LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.IsOpen", boost::bind(&LLFloaterReg::instanceVisible, _2, LLSD())); // Parse the master list of commands LLCommandManager::load(); @@ -2034,12 +2033,12 @@ void LLUI::positionViewNearMouse(LLView* view, S32 spawn_x, S32 spawn_y) CURSOR_HEIGHT + MOUSE_CURSOR_PADDING * 2); S32 local_x, local_y; - // convert screen coordinates to tooltipview-local coordinates + // convert screen coordinates to tooltip view-local coordinates parent->screenPointToLocal(spawn_x, spawn_y, &local_x, &local_y); // Start at spawn position (using left/top) view->setOrigin( local_x, local_y - view->getRect().getHeight()); - // Make sure we're onscreen and not overlapping the mouse + // Make sure we're on-screen and not overlapping the mouse view->translateIntoRectWithExclusion( virtual_window_rect, mouse_rect, FALSE ); } diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 3625ce5088d..e4aaca1bd08 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -5,7 +5,7 @@ icon="Command_AboutLand_Icon" label_ref="Command_AboutLand_Label" tooltip_ref="Command_AboutLand_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="about_land" is_running_function="Floater.IsOpen" is_running_parameters="about_land" @@ -15,7 +15,7 @@ icon="Command_Appearance_Icon" label_ref="Command_Appearance_Label" tooltip_ref="Command_Appearance_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="appearance" is_running_function="Floater.IsOpen" is_running_parameters="appearance" @@ -25,7 +25,7 @@ icon="Command_Avatar_Icon" label_ref="Command_Avatar_Label" tooltip_ref="Command_Avatar_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="avatar" is_running_function="Floater.IsOpen" is_running_parameters="avatar" @@ -35,7 +35,7 @@ icon="Command_Build_Icon" label_ref="Command_Build_Label" tooltip_ref="Command_Build_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="build" is_enabled_function="Agent.IsActionAllowed" is_enabled_parameters="build" @@ -47,7 +47,7 @@ icon="Command_Chat_Icon" label_ref="Command_Chat_Label" tooltip_ref="Command_Chat_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="chat_bar" is_running_function="Floater.IsOpen" is_running_parameters="chat_bar" @@ -57,7 +57,7 @@ icon="Command_Compass_Icon" label_ref="Command_Compass_Label" tooltip_ref="Command_Compass_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="compass" is_running_function="Floater.IsOpen" is_running_parameters="compass" @@ -67,7 +67,7 @@ icon="Command_Destinations_Icon" label_ref="Command_Destinations_Label" tooltip_ref="Command_Destinations_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="destinations" is_running_function="Floater.IsOpen" is_running_parameters="destinations" @@ -77,7 +77,7 @@ icon="Command_Gestures_Icon" label_ref="Command_Gestures_Label" tooltip_ref="Command_Gestures_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="gestures" is_running_function="Floater.IsOpen" is_running_parameters="gestures" @@ -87,8 +87,7 @@ icon="Command_HowTo_Icon" label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" - execute_function="Floater.ToolbarToggle" - execute_parameters="help_browser" + execute_function="Help.ToggleHowTo" is_running_function="Floater.IsOpen" is_running_parameters="help_browser" /> @@ -97,7 +96,7 @@ icon="Command_Inventory_Icon" label_ref="Command_Inventory_Label" tooltip_ref="Command_Inventory_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="my_inventory" is_running_function="Floater.IsOpen" is_running_parameters="my_inventory" @@ -107,7 +106,7 @@ icon="Command_Map_Icon" label_ref="Command_Map_Label" tooltip_ref="Command_Map_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="world_map" is_running_function="Floater.IsOpen" is_running_parameters="world_map" @@ -117,7 +116,7 @@ icon="Command_Marketplace_Icon" label_ref="Command_Marketplace_Label" tooltip_ref="Command_Marketplace_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="marketplace" is_running_function="Floater.IsOpen" is_running_parameters="marketplace" @@ -127,7 +126,7 @@ icon="Command_MiniMap_Icon" label_ref="Command_MiniMap_Label" tooltip_ref="Command_MiniMap_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="mini_map" is_running_function="Floater.IsOpen" is_running_parameters="mini_map" @@ -137,7 +136,7 @@ icon="Command_Move_Icon" label_ref="Command_Move_Label" tooltip_ref="Command_Move_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="moveview" is_running_function="Floater.IsOpen" is_running_parameters="moveview" @@ -147,7 +146,7 @@ icon="Command_People_Icon" label_ref="Command_People_Label" tooltip_ref="Command_People_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="people" is_running_function="Floater.IsOpen" is_running_parameters="people" @@ -157,7 +156,7 @@ icon="Command_Picks_Icon" label_ref="Command_Picks_Label" tooltip_ref="Command_Picks_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="picks" is_running_function="Floater.IsOpen" is_running_parameters="picks" @@ -167,7 +166,7 @@ icon="Command_Places_Icon" label_ref="Command_Places_Label" tooltip_ref="Command_Places_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="places" is_running_function="Floater.IsOpen" is_running_parameters="places" @@ -177,7 +176,7 @@ icon="Command_Preferences_Icon" label_ref="Command_Preferences_Label" tooltip_ref="Command_Preferences_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="preferences" is_running_function="Floater.IsOpen" is_running_parameters="preferences" @@ -195,7 +194,7 @@ icon="Command_Search_Icon" label_ref="Command_Search_Label" tooltip_ref="Command_Search_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="search" is_running_function="Floater.IsOpen" is_running_parameters="search" @@ -205,7 +204,7 @@ icon="Command_Snapshot_Icon" label_ref="Command_Snapshot_Label" tooltip_ref="Command_Snapshot_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="snapshot" is_running_function="Floater.IsOpen" is_running_parameters="snapshot" @@ -229,7 +228,7 @@ icon="Command_View_Icon" label_ref="Command_View_Label" tooltip_ref="Command_View_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="camera" is_running_function="Floater.IsOpen" is_running_parameters="camera" @@ -239,7 +238,7 @@ icon="Command_Voice_Icon" label_ref="Command_Voice_Label" tooltip_ref="Command_Voice_Tooltip" - execute_function="Floater.ToolbarToggle" + execute_function="Floater.ToggleOrBringToFront" execute_parameters="voice_controls" is_running_function="Floater.IsOpen" is_running_parameters="voice_controls" diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index 80c431f4812..d5e289e6e6a 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -1451,7 +1451,7 @@ bool LLPanelPeople::notifyChildren(const LLSD& info) container->onOpen(LLSD().with(LLSideTrayPanelContainer::PARAM_SUB_PANEL_NAME, getName())); } else - LLFloaterReg::hideFloaterInstance("people"); + LLFloaterReg::hideInstance("people"); return true; // this notification is only supposed to be handled by task panels } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 3463eec5d8b..b5ed8b04bc4 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -289,6 +289,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("snapshot", "floater_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSnapshot>); LLFloaterReg::add("search", "floater_search.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSearch>); LLFloaterReg::add("profile", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); + LLFloaterReg::add("how_to", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterUIPreviewUtil::registerFloater(); -- GitLab From 211ad465bf97dd0c9c858671be94d397fbfaf67b Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Thu, 13 Oct 2011 10:50:10 -0700 Subject: [PATCH 180/213] added url for how to help content --- indra/newview/app_settings/settings.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 4b847dfbf71..2dbf9e714b8 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4028,6 +4028,17 @@ <key>Value</key> <string>http://viewer-help.secondlife.com/[LANGUAGE]/[CHANNEL]/[VERSION]/[TOPIC][DEBUG_MODE]</string> </map> + <key>HowToHelpURL</key> + <map> + <key>Comment</key> + <string>URL for How To help content</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>String</string> + <key>Value</key> + <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/howto/index.html</string> + </map> <key>HomeSidePanelURL</key> <map> <key>Comment</key> -- GitLab From 972bbd39e19c7a0cbab4b55bc0cad18462bdeaaa Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 14:23:06 -0700 Subject: [PATCH 181/213] EXP-1345 FIX Chat text color is all blank when restarting --- indra/llxuixml/llinitparam.cpp | 2 +- indra/llxuixml/llinitparam.h | 6 +++--- indra/llxuixml/llxuiparser.cpp | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/indra/llxuixml/llinitparam.cpp b/indra/llxuixml/llinitparam.cpp index 2520502cf1f..482064ed7b6 100644 --- a/indra/llxuixml/llinitparam.cpp +++ b/indra/llxuixml/llinitparam.cpp @@ -190,7 +190,7 @@ namespace LLInitParam return true; } - void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const + void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const LLInitParam::BaseBlock* diff_block) const { // named param is one like LLView::Params::follows // unnamed param is like LLView::Params::rect - implicit diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 06140d09319..1e295ada2da 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -465,7 +465,7 @@ namespace LLInitParam S32 getLastChangeVersion() const { return mChangeVersion; } bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool new_name); - void serializeBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const; + void serializeBlock(Parser& p, Parser::name_stack_t& name_stack, const BaseBlock* diff_block = NULL) const; bool inspectBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), S32 min_count = 0, S32 max_count = S32_MAX) const; virtual const BlockDescriptor& mostDerivedBlockDescriptor() const { return selfBlockDescriptor(); } @@ -1774,7 +1774,7 @@ namespace LLInitParam // block param interface bool deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack_range, bool new_name); - void serializeBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const; + void serializeBlock(Parser& p, Parser::name_stack_t& name_stack, const BaseBlock* diff_block = NULL) const; bool inspectBlock(Parser& p, Parser::name_stack_t name_stack = Parser::name_stack_t(), S32 min_count = 0, S32 max_count = S32_MAX) const { //TODO: implement LLSD params as schema type Any @@ -1838,7 +1838,7 @@ namespace LLInitParam return typed_param.BaseBlock::deserializeBlock(parser, name_stack_range, new_name); } - void serializeBlock(Parser& parser, Parser::name_stack_t name_stack = Parser::name_stack_t(), const BaseBlock* diff_block = NULL) const + void serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const BaseBlock* diff_block = NULL) const { const derived_t& typed_param = static_cast<const derived_t&>(*this); const derived_t* diff_param = static_cast<const derived_t*>(diff_block); diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index aee8fa8d8f8..9c3e855c81a 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -739,6 +739,7 @@ LLXMLNodePtr LLXUIParser::getNode(name_stack_t& stack) ++next_it; if (it->first.empty()) { + it->second = false; continue; } -- GitLab From 1e0a81ad68460f3bf11f4fced84c8832cedc4508 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 13 Oct 2011 14:50:37 -0700 Subject: [PATCH 182/213] Build fixes because damn standard doesn't allow binding rvalues to non-const refs. --- indra/llui/llsdparam.cpp | 6 ++++-- indra/llui/tests/llurlentry_stub.cpp | 2 +- indra/llui/tests/llurlmatch_test.cpp | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index 242b1fca7f7..6fa90933a4c 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -104,7 +104,9 @@ void LLParamSDParser::writeSD(LLSD& sd, const LLInitParam::BaseBlock& block) { mNameStack.clear(); mWriteRootSD = &sd; - block.serializeBlock(*this); + + name_stack_t name_stack; + block.serializeBlock(*this, name_stack); } /*virtual*/ std::string LLParamSDParser::getCurrentElementName() @@ -329,7 +331,7 @@ namespace LLInitParam p.writeValue<LLSD::String>(sd.asString(), name_stack); } - void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t name_stack, const BaseBlock* diff_block) const + void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t& name_stack, const BaseBlock* diff_block) const { // read from LLSD value and serialize out to parser (which could be LLSD, XUI, etc) Parser::name_stack_t stack; diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp index c8303bfc894..4f251db93bb 100644 --- a/indra/llui/tests/llurlentry_stub.cpp +++ b/indra/llui/tests/llurlentry_stub.cpp @@ -125,7 +125,7 @@ namespace LLInitParam descriptor.mCurrentBlockPtr = this; } bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } - void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} + void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_value, S32 max_value) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } bool BaseBlock::validateBlock(bool emit_errors) const { return true; } diff --git a/indra/llui/tests/llurlmatch_test.cpp b/indra/llui/tests/llurlmatch_test.cpp index 9dbccf125a3..627f3129e93 100644 --- a/indra/llui/tests/llurlmatch_test.cpp +++ b/indra/llui/tests/llurlmatch_test.cpp @@ -97,7 +97,7 @@ namespace LLInitParam } bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } - void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} + void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_count, S32 max_count) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } bool BaseBlock::validateBlock(bool emit_errors) const { return true; } -- GitLab From 6b7ea2f198e9ec721b6e01aaeba3b6c7a44db7d2 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 13 Oct 2011 14:56:19 -0700 Subject: [PATCH 183/213] Mac build fix --- indra/llxuixml/llxuiparser.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp index 9c3e855c81a..d4556113eae 100644 --- a/indra/llxuixml/llxuiparser.cpp +++ b/indra/llxuixml/llxuiparser.cpp @@ -722,7 +722,8 @@ bool LLXUIParser::readAttributes(LLXMLNodePtr nodep, LLInitParam::BaseBlock& blo void LLXUIParser::writeXUI(LLXMLNodePtr node, const LLInitParam::BaseBlock &block, const LLInitParam::BaseBlock* diff_block) { mWriteRootNode = node; - block.serializeBlock(*this, Parser::name_stack_t(), diff_block); + name_stack_t name_stack = Parser::name_stack_t(); + block.serializeBlock(*this, name_stack, diff_block); mOutNodes.clear(); } -- GitLab From bdf6363e6aa4216913607e83bfc5e159f2535407 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine <slitovchuk@productengine.com> Date: Fri, 14 Oct 2011 01:07:16 +0300 Subject: [PATCH 184/213] EXP-1282 FIXED Bottom bar removed. - LLBottomTray code and XUI removed. - "Speak" buttom which resided in Bottom bar removed. - Voice connection status update moved from LLBottomTray to LLVivoxVoiceClient. --- indra/newview/CMakeLists.txt | 4 - indra/newview/llbottomtray.cpp | 1996 ----------------- indra/newview/llbottomtray.h | 564 ----- indra/newview/llchatbar.cpp | 1 - indra/newview/llfloatersounddevices.cpp | 4 - indra/newview/llimpanel.cpp | 1 - indra/newview/llimview.cpp | 8 - indra/newview/llnearbychathandler.cpp | 1 - indra/newview/llspeakbutton.cpp | 165 -- indra/newview/llspeakbutton.h | 88 - indra/newview/llviewermenu.cpp | 5 +- indra/newview/llviewerwindow.cpp | 11 +- indra/newview/llvoicevivox.cpp | 15 +- .../skins/default/xui/en/panel_bottomtray.xml | 530 ----- .../skins/default/xui/en/panel_side_tray.xml | 174 -- 15 files changed, 21 insertions(+), 3546 deletions(-) delete mode 100644 indra/newview/llbottomtray.cpp delete mode 100644 indra/newview/llbottomtray.h delete mode 100644 indra/newview/llspeakbutton.cpp delete mode 100644 indra/newview/llspeakbutton.h delete mode 100644 indra/newview/skins/default/xui/en/panel_bottomtray.xml delete mode 100644 indra/newview/skins/default/xui/en/panel_side_tray.xml diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 6cbd76bc71a..4024e93b331 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -102,7 +102,6 @@ set(viewer_SOURCE_FILES llavatarlist.cpp llavatarlistitem.cpp llavatarpropertiesprocessor.cpp - llbottomtray.cpp llbox.cpp llbreadcrumbview.cpp llbrowsernotification.cpp @@ -449,7 +448,6 @@ set(viewer_SOURCE_FILES llsky.cpp llslurl.cpp llspatialpartition.cpp - llspeakbutton.cpp llspeakers.cpp llspeakingindicatormanager.cpp llsplitbutton.cpp @@ -669,7 +667,6 @@ set(viewer_HEADER_FILES llavatarlist.h llavatarlistitem.h llavatarpropertiesprocessor.h - llbottomtray.h llbox.h llbreadcrumbview.h llbuycurrencyhtml.h @@ -1011,7 +1008,6 @@ set(viewer_HEADER_FILES llsky.h llslurl.h llspatialpartition.h - llspeakbutton.h llspeakers.h llspeakingindicatormanager.h llsplitbutton.h diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp deleted file mode 100644 index af91702f9b8..00000000000 --- a/indra/newview/llbottomtray.cpp +++ /dev/null @@ -1,1996 +0,0 @@ -/** - * @file llbottomtray.cpp - * @brief LLBottomTray class implementation - * - * $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" // must be first include - -#define LLBOTTOMTRAY_CPP -#include "llbottomtray.h" - -// library includes -#include "llfloaterreg.h" -#include "llfloatersidepanelcontainer.h" -#include "llflyoutbutton.h" -#include "lllayoutstack.h" -#include "llnotifications.h" -#include "llnotificationsutil.h" -#include "lltexteditor.h" - -// newview includes -#include "llagent.h" -#include "llagentcamera.h" -#include "llavataractions.h" -#include "llchiclet.h" -#include "llfloatercamera.h" -#include "llhints.h" -#include "llimfloater.h" // for LLIMFloater -#include "llnearbychatbar.h" -#include "llnearbychatbarlistener.h" -#include "llspeakbutton.h" -#include "llsplitbutton.h" -#include "llsyswellwindow.h" -#include "lltoolmgr.h" -#include "llviewerparcelmgr.h" - -#include "llviewerwindow.h" -#include "llsdserialize.h" -#include "llfirstuse.h" - -// Distance from mouse down on which drag'n'drop should be started. -#define DRAG_START_DISTANCE 3 - -static const std::string SORTING_DATA_FILE_NAME = "bottomtray_buttons_order.xml"; - -LLDefaultChildRegistry::Register<LLBottomtrayButton> bottomtray_button("bottomtray_button"); - -// LLBottomtrayButton methods - -// virtual -BOOL LLBottomtrayButton::handleHover(S32 x, S32 y, MASK mask) -{ - if (mCanDrag) - { - // pass hover to bottomtray - S32 screenX, screenY; - localPointToScreen(x, y, &screenX, &screenY); - LLBottomTray::getInstance()->onDraggableButtonHover(screenX, screenY); - - return TRUE; - } - else - { - return LLButton::handleHover(x, y, mask); - } -} -//virtual -BOOL LLBottomtrayButton::handleMouseUp(S32 x, S32 y, MASK mask) -{ - if (mCanDrag) - { - S32 screenX, screenY; - localPointToScreen(x, y, &screenX, &screenY); - // pass mouse up to bottomtray - LLBottomTray::getInstance()->onDraggableButtonMouseUp(this, screenX, screenY); - } - return LLButton::handleMouseUp(x, y, mask); -} -//virtual -BOOL LLBottomtrayButton::handleMouseDown(S32 x, S32 y, MASK mask) -{ - if (mCanDrag) - { - S32 screenX, screenY; - localPointToScreen(x, y, &screenX, &screenY); - // pass mouse up to bottomtray - LLBottomTray::getInstance()->onDraggableButtonMouseDown(this, screenX, screenY); - } - return LLButton::handleMouseDown(x, y, mask); -} - -static void update_build_button_enable_state() -{ - bool can_edit = LLToolMgr::getInstance()->canEdit(); - - LLBottomTray::getInstance()->getChildView("build_btn")->setEnabled(can_edit); -} - -// Build time optimization, generate extern template once in .cpp file -template class LLBottomTray* LLSingleton<class LLBottomTray>::getInstance(); - -namespace -{ - const std::string& PANEL_CHICLET_NAME = "chiclet_list_panel"; - - S32 get_panel_min_width(LLLayoutStack* stack, LLView* panel) - { - S32 minimal_width = 0; - llassert(stack); - if ( stack && panel && panel->getVisible() ) - { - stack->getPanelMinSize(panel->getName(), &minimal_width); - } - return minimal_width; - } - - S32 get_panel_max_width(LLLayoutStack* stack, LLPanel* panel) - { - S32 max_width = 0; - llassert(stack); - if ( stack && panel && panel->getVisible() ) - { - stack->getPanelMaxSize(panel->getName(), &max_width); - } - return max_width; - } - - S32 get_curr_width(LLUICtrl* ctrl) - { - S32 cur_width = 0; - if ( ctrl && ctrl->getVisible() ) - { - cur_width = ctrl->getRect().getWidth(); - } - return cur_width; - } -} - -class LLBottomTrayLite - : public LLPanel -{ -public: - LLBottomTrayLite() - : mNearbyChatBar(NULL), - mChatBarContainer(NULL), - mGesturePanel(NULL) - { - //mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); - buildFromFile("panel_bottomtray_lite.xml"); - } - - BOOL postBuild() - { - //mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); - mChatBarContainer = getChild<LLLayoutPanel>("chat_bar_layout_panel"); - mGesturePanel = getChild<LLPanel>("gesture_panel"); - - // Hide "show_nearby_chat" button - if (mNearbyChatBar) - { - LLLineEditor* chat_box = mNearbyChatBar->getChatBox(); - LLUICtrl* show_btn = mNearbyChatBar->getChild<LLUICtrl>("show_nearby_chat"); - S32 delta_width = show_btn->getRect().getWidth(); - show_btn->setVisible(FALSE); - chat_box->reshape(chat_box->getRect().getWidth() + delta_width, chat_box->getRect().getHeight()); - } - return TRUE; - } - - void onFocusLost() - { - if (gAgentCamera.cameraMouselook()) - { - LLBottomTray::getInstance()->setVisible(FALSE); - } - } - - LLNearbyChatBar* mNearbyChatBar; - LLLayoutPanel* mChatBarContainer; - LLPanel* mGesturePanel; -}; - -LLBottomTray::LLBottomTray(const LLSD&) -: mDesiredNearbyChatWidth(0), - mChicletPanel(NULL), - mSpeakPanel(NULL), - mSpeakBtn(NULL), - mNearbyChatBar(NULL), - mChatBarContainer(NULL), - mNearbyCharResizeHandlePanel(NULL), - mToolbarStack(NULL), - mMovementButton(NULL), - mResizeState(RS_NORESIZE), - mBottomTrayContextMenu(NULL), - mCamButton(NULL), - mBottomTrayLite(NULL), - mIsInLiteMode(false), - mDragStarted(false), - mDraggedItem(NULL), - mLandingTab(NULL), - mCheckForDrag(false) -{ - // Firstly add our self to IMSession observers, so we catch session events - // before chiclets do that. - LLIMMgr::getInstance()->addSessionObserver(this); - - //mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL); - - buildFromFile("panel_bottomtray.xml"); - - LLUICtrl::CommitCallbackRegistry::defaultRegistrar().add("CameraPresets.ChangeView", boost::bind(&LLFloaterCamera::onClickCameraItem, _2)); - - //this is to fix a crash that occurs because LLBottomTray is a singleton - //and thus is deleted at the end of the viewers lifetime, but to be cleanly - //destroyed LLBottomTray requires some subsystems that are long gone - //LLUI::getRootView()->addChild(this); - - { - mBottomTrayLite = new LLBottomTrayLite(); - mBottomTrayLite->setFollowsAll(); - mBottomTrayLite->setVisible(FALSE); - } - - mImageDragIndication = LLUI::getUIImage(getString("DragIndicationImageName")); - mDesiredNearbyChatWidth = mNearbyChatBar ? mNearbyChatBar->getRect().getWidth() : 0; -} - -LLBottomTray::~LLBottomTray() -{ - if (!LLSingleton<LLIMMgr>::destroyed()) - { - LLIMMgr::getInstance()->removeSessionObserver(this); - } - - if (mNearbyChatBar) - { - // store custom width of chatbar panel. - S32 custom_width = mChatBarContainer->getRect().getWidth(); - gSavedSettings.setS32("ChatBarCustomWidth", custom_width); - } - - // emulate previous floater behavior to be hidden on startup. - // override effect of save_visibility=true. - // this attribute is necessary to button.initial_callback=Button.SetFloaterToggle works properly: - // i.g when floater changes its visibility - button changes its toggle state. - getChild<LLUICtrl>("build_btn")->setControlValue(false); - getChild<LLUICtrl>("search_btn")->setControlValue(false); - getChild<LLUICtrl>("world_map_btn")->setControlValue(false); -} - -// *TODO Vadim: why void* ? -void* LLBottomTray::createNearbyChatBar(void* userdata) -{ - //return new LLNearbyChatBar(); - return NULL; -} - -LLNearbyChatBar* LLBottomTray::getNearbyChatBar() -{ - return mIsInLiteMode ? mBottomTrayLite->mNearbyChatBar : mNearbyChatBar; -} - -LLIMChiclet* LLBottomTray::createIMChiclet(const LLUUID& session_id) -{ - LLIMChiclet::EType im_chiclet_type = LLIMChiclet::getIMSessionType(session_id); - - switch (im_chiclet_type) - { - case LLIMChiclet::TYPE_IM: - return getChicletPanel()->createChiclet<LLIMP2PChiclet>(session_id); - case LLIMChiclet::TYPE_GROUP: - return getChicletPanel()->createChiclet<LLIMGroupChiclet>(session_id); - case LLIMChiclet::TYPE_AD_HOC: - return getChicletPanel()->createChiclet<LLAdHocChiclet>(session_id); - case LLIMChiclet::TYPE_UNKNOWN: - break; - } - - return NULL; -} - -//virtual -void LLBottomTray::sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) -{ - if (!getChicletPanel()) return; - - LLIMModel::LLIMSession* session = LLIMModel::getInstance()->findIMSession(session_id); - if (!session) return; - - // no need to spawn chiclets for participants in P2P calls called through Avaline - if (session->isP2P() && session->isOtherParticipantAvaline()) return; - - if (getChicletPanel()->findChiclet<LLChiclet>(session_id)) return; - - LLIMChiclet* chiclet = createIMChiclet(session_id); - if(chiclet) - { - chiclet->setIMSessionName(name); - chiclet->setOtherParticipantId(other_participant_id); - - LLIMFloater::onIMChicletCreated(session_id); - - } - else - { - llerrs << "Could not create chiclet" << llendl; - } -} - -//virtual -void LLBottomTray::sessionRemoved(const LLUUID& session_id) -{ - if(getChicletPanel()) - { - // IM floater should be closed when session removed and associated chiclet closed - LLIMFloater* iMfloater = LLFloaterReg::findTypedInstance<LLIMFloater>( - "impanel", session_id); - if (iMfloater != NULL) - { - iMfloater->closeFloater(); - } - - getChicletPanel()->removeChiclet(session_id); - } -} - -void LLBottomTray::sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id) -{ - //this is only needed in case of outgoing ad-hoc/group chat sessions - LLChicletPanel* chiclet_panel = getChicletPanel(); - if (chiclet_panel) - { - //it should be ad-hoc im chiclet or group im chiclet - LLChiclet* chiclet = chiclet_panel->findChiclet<LLChiclet>(old_session_id); - if (chiclet) chiclet->setSessionId(new_session_id); - } -} - -S32 LLBottomTray::getTotalUnreadIMCount() -{ - return getChicletPanel()->getTotalUnreadIMCount(); -} - -// virtual -void LLBottomTray::onChange(EStatusType status, const std::string &channelURI, bool proximal) -{ - // Time it takes to connect to voice channel might be pretty long, - // so don't expect user login or STATUS_VOICE_ENABLED to be followed by STATUS_JOINED. - BOOL enable = FALSE; - - switch (status) - { - // Do not add STATUS_VOICE_ENABLED because voice chat is - // inactive until STATUS_JOINED - case STATUS_JOINED: - enable = TRUE; - break; - default: - enable = FALSE; - break; - } - - // We have to enable/disable right and left parts of speak button separately (EXT-4648) - getChild<LLButton>("speak_btn")->setEnabled(enable); - - // skipped to avoid button blinking - if (status != STATUS_JOINING && status!= STATUS_LEFT_CHANNEL) - { - bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); - - gAgent.setVoiceConnected(voice_status); - - getChild<LLButton>("speak_flyout_btn")->setEnabled(voice_status); - gMenuBarView->getChild<LLView>("Nearby Voice")->setEnabled(voice_status); - if (voice_status) - { - LLFirstUse::speak(true); - } - } -} - -void LLBottomTray::onMouselookModeOut() -{ - mIsInLiteMode = false; - mBottomTrayLite->setVisible(FALSE); - //mNearbyChatBar->getChatBox()->setText(mBottomTrayLite->mNearbyChatBar->getChatBox()->getText()); - setVisible(TRUE); -} - -void LLBottomTray::onMouselookModeIn() -{ - setVisible(FALSE); - - // Attach the lite bottom tray - if (getParent() && mBottomTrayLite->getParent() != getParent()) - getParent()->addChild(mBottomTrayLite); - - mBottomTrayLite->setShape(getLocalRect()); - //mBottomTrayLite->mNearbyChatBar->getChatBox()->setText(mNearbyChatBar->getChatBox()->getText()); - //mBottomTrayLite->mGesturePanel->setVisible(gSavedSettings.getBOOL("ShowGestureButton")); - - mIsInLiteMode = true; -} - -//virtual -// setVisible used instead of onVisibilityChange, since LLAgent calls it on entering/leaving mouselook mode. -// If bottom tray is already visible in mouselook mode, then onVisibilityChange will not be called from setVisible(true), -void LLBottomTray::setVisible(BOOL visible) -{ - if (mIsInLiteMode) - { - mBottomTrayLite->setVisible(visible); - } - else - { - LLPanel::setVisible(visible); - } -} - -S32 LLBottomTray::notifyParent(const LLSD& info) -{ - if(info.has("well_empty")) // implementation of EXT-3397 - { - const std::string chiclet_name = info["well_name"]; - - // only "im_well" or "notification_well" names are expected. - // They are set in panel_bottomtray.xml in <chiclet_im_well> & <chiclet_notification> - llassert("im_well" == chiclet_name || "notification_well" == chiclet_name); - - BOOL should_be_visible = !info["well_empty"]; - showWellButton("im_well" == chiclet_name ? RS_IM_WELL : RS_NOTIFICATION_WELL, should_be_visible); - return 1; - } - - if (info.has("action") && info["action"] == "resize") - { - const std::string& name = info["view_name"]; - - // expected only resize of nearby chatbar - if (mChatBarContainer->getName() != name) return LLPanel::notifyParent(info); - - const S32 new_width = info["new_width"]; - - processChatbarCustomization(new_width); - - return 2; - } - return LLPanel::notifyParent(info); -} - -void LLBottomTray::showBottomTrayContextMenu(S32 x, S32 y, MASK mask) -{ - // We should show BottomTrayContextMenu in last turn - if (mBottomTrayContextMenu && !LLMenuGL::sMenuContainer->getVisibleMenu()) - { - //there are no other context menu (IM chiclet etc ), so we can show BottomTrayContextMenu - - updateContextMenu(x, y, mask); - mBottomTrayContextMenu->buildDrawLabels(); - mBottomTrayContextMenu->updateParent(LLMenuGL::sMenuContainer); - LLMenuGL::showPopup(this, mBottomTrayContextMenu, x, y); - - } -} - -void LLBottomTray::updateContextMenu(S32 x, S32 y, MASK mask) -{ - LLUICtrl* edit_box = mNearbyChatBar->getChild<LLUICtrl>("chat_box"); - - S32 local_x = x - mChatBarContainer->getRect().mLeft - edit_box->getRect().mLeft; - S32 local_y = y - mChatBarContainer->getRect().mBottom - edit_box->getRect().mBottom; - - bool in_edit_box = edit_box->pointInView(local_x, local_y); - - mBottomTrayContextMenu->setItemVisible("Separator", in_edit_box); - mBottomTrayContextMenu->setItemVisible("NearbyChatBar_Cut", in_edit_box); - mBottomTrayContextMenu->setItemVisible("NearbyChatBar_Copy", in_edit_box); - mBottomTrayContextMenu->setItemVisible("NearbyChatBar_Paste", in_edit_box); - mBottomTrayContextMenu->setItemVisible("NearbyChatBar_Delete", in_edit_box); - mBottomTrayContextMenu->setItemVisible("NearbyChatBar_Select_All", in_edit_box); -} - -void LLBottomTray::showSpeakButton(bool visible) -{ - // Show/hide the button - setTrayButtonVisible(RS_BUTTON_SPEAK, visible); - - // and adjust other panels according to the occupied/freed space. - const S32 panel_width = mSpeakPanel->getRect().getWidth(); - if (visible) - { - processWidthDecreased(-panel_width); - } - else - { - processWidthIncreased(panel_width); - } -} - -void LLBottomTray::toggleMovementControls() -{ - if (mMovementButton) - mMovementButton->onCommit(); -} - -void LLBottomTray::toggleCameraControls() -{ - if (mCamButton) - mCamButton->onCommit(); -} - -BOOL LLBottomTray::postBuild() -{ - LLHints::registerHintTarget("bottom_tray", LLView::getHandle()); - LLHints::registerHintTarget("dest_guide_btn", getChild<LLUICtrl>("destination_btn")->getHandle()); - LLHints::registerHintTarget("avatar_picker_btn", getChild<LLUICtrl>("avatar_btn")->getHandle()); - - LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("NearbyChatBar.Action", boost::bind(&LLBottomTray::onContextMenuItemClicked, this, _2)); - LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("NearbyChatBar.EnableMenuItem", boost::bind(&LLBottomTray::onContextMenuItemEnabled, this, _2)); - - mBottomTrayContextMenu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_bottomtray.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); - gMenuHolder->addChild(mBottomTrayContextMenu); - - //mNearbyChatBar = findChild<LLNearbyChatBar>("chat_bar"); - //LLHints::registerHintTarget("chat_bar", mNearbyChatBar->LLView::getHandle()); - - //mListener.reset(new LLNearbyChatBarListener(*mNearbyChatBar)); - - mChatBarContainer = getChild<LLLayoutPanel>("chat_bar_layout_panel"); - mNearbyCharResizeHandlePanel = getChild<LLPanel>("chat_bar_resize_handle_panel"); - - mToolbarStack = getChild<LLLayoutStack>("toolbar_stack"); - mMovementButton = getChild<LLButton>("movement_btn"); - LLHints::registerHintTarget("move_btn", mMovementButton->getHandle()); - mCamButton = getChild<LLButton>("camera_btn"); - setRightMouseDownCallback(boost::bind(&LLBottomTray::showBottomTrayContextMenu,this, _2, _3,_4)); - - mSpeakPanel = getChild<LLPanel>("speak_panel"); - mSpeakBtn = findChild<LLSpeakButton>("talk"); - if (mSpeakBtn) - { - LLHints::registerHintTarget("speak_btn", mSpeakBtn->getHandle()); - - // Localization tool doesn't understand custom buttons like <talk_button> - mSpeakBtn->setSpeakToolTip( getString("SpeakBtnToolTip") ); - mSpeakBtn->setShowToolTip( getString("VoiceControlBtnToolTip") ); - } - else - { - LLTransientFloaterMgr::getInstance()->addControlView(getChild<LLButton>("speak_btn")); - LLTransientFloaterMgr::getInstance()->addControlView(getChild<LLButton>("flyout_btn")); - } - - - // Both parts of speak button should be initially disabled because - // it takes some time between logging in to world and connecting to voice channel. - getChild<LLButton>("speak_btn")->setEnabled(false); - getChild<LLButton>("speak_flyout_btn")->setEnabled(false); - gMenuBarView->getChild<LLView>("Nearby Voice")->setEnabled(false); - - // Registering Chat Bar to receive Voice client status change notifications. - LLVoiceClient::getInstance()->addObserver(this); - - //mNearbyChatBar->getChatBox()->setContextMenu(NULL); - - mChicletPanel = getChild<LLChicletPanel>("chiclet_list"); - - initResizeStateContainers(); - - setButtonsControlsAndListeners(); - - initButtonsVisibility(); - - // update wells visibility: - showWellButton(RS_IM_WELL, !LLIMWellWindow::getInstance()->isWindowEmpty()); - showWellButton(RS_NOTIFICATION_WELL, !LLNotificationWellWindow::getInstance()->isWindowEmpty()); - - loadButtonsOrder(); - - LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback(boost::bind(&update_build_button_enable_state)); - - return TRUE; -} - -//Drag-n-drop - -void LLBottomTray::onDraggableButtonMouseDown(LLUICtrl* ctrl, S32 x, S32 y) -{ - if (ctrl == NULL) return; - LLView* parent_view = ctrl->getParent(); - if(parent_view != NULL) - { - // we actually drag'n'drop panel (not button) in code, so have to find a parent - // of button which called this method on mouse down. - LLPanel* parent = dynamic_cast<LLPanel*>(parent_view); - // It may happen that we clicked not usual button, but button inside widget(speak, gesture) - // so we'll need to get a level higher to reach layout panel as a parent. - if(parent == NULL) parent = dynamic_cast<LLPanel*>(parent_view->getParent()); - if (parent && parent->getVisible()) - { - mDraggedItem = parent; - mCheckForDrag = true; - mStartX = x; - mStartY = y; - } - } -} - -LLPanel* LLBottomTray::findChildPanelByLocalCoords(S32 x, S32 y) -{ - LLPanel* ctrl = 0; - S32 screenX, screenY; - const child_list_t* list = mToolbarStack->getChildList(); - - localPointToScreen(x, y, &screenX, &screenY); - - // look for a child panel which contains the point (screenX, screenY) in it's rectangle - for (child_list_const_iter_t i = list->begin(); i != list->end(); ++i) - { - LLRect rect; - localRectToScreen((*i)->getRect(), &rect); - - if (rect.pointInRect(screenX, screenY)) - { - ctrl = dynamic_cast<LLPanel*>(*i); - break; - } - } - - return ctrl; -} - -void LLBottomTray::onDraggableButtonHover(S32 x, S32 y) -{ - // if mouse down on draggable item was done, check whether we should start DnD - if (mCheckForDrag) - { - // Start drag'n'drop if mouse cursor was dragged away frome mouse down location enough - if(sqrt((float)((mStartX-x)*(mStartX-x)+(mStartY-y)*(mStartY-y))) > DRAG_START_DISTANCE) - { - mDragStarted = true; - mCheckForDrag = false; - } - } - if (mDragStarted) - { - // Check whether the cursor is over draggable area, find which panel it is and set is as - // landing tab for drag'n'drop - if(isCursorOverDraggableArea(x, y)) - { - LLPanel* panel = findChildPanelByLocalCoords(x,y); - if (panel && panel != mDraggedItem) mLandingTab = panel; - gViewerWindow->getWindow()->setCursor(UI_CURSOR_ARROWDRAG); - } - else - { - gViewerWindow->getWindow()->setCursor(UI_CURSOR_NO); - } - } - else - { - // Reset cursor in case you move your mouse from the drag handle to a button. - getWindow()->setCursor(UI_CURSOR_ARROW); - - } -} - -bool LLBottomTray::isCursorOverDraggableArea(S32 x, S32 y) -{ - // Draggable area lasts from the nearby chat input resize handle - // to the chiclet area (exlusively). - bool result = getRect().pointInRect(x, y); - result = result && mNearbyCharResizeHandlePanel->calcScreenRect().mRight < x; - result = result && mChicletPanel->calcScreenRect().mRight > x; - return result; -} - -void LLBottomTray::updateButtonsOrdersAfterDnD() -{ - // *TODO: change implementation of this method to support simplify it - // (and according to future possible changes in the way button order is saved between sessions). - state_object_map_t::const_iterator it = mStateProcessedObjectMap.begin(); - state_object_map_t::const_iterator it_end = mStateProcessedObjectMap.end(); - EResizeState dragged_state = RS_NORESIZE; - EResizeState landing_state = RS_NORESIZE; - bool landing_state_found = false; - // Find states for dragged item and landing tab - for (; it != it_end; ++it) - { - if (it->second == mDraggedItem) - { - dragged_state = it->first; - } - else if (it->second == mLandingTab) - { - landing_state = it->first; - landing_state_found = true; - } - } - - if (dragged_state == RS_NORESIZE) - { - llwarns << "Cannot determine what button is being dragged" << llendl; - llassert(dragged_state != RS_NORESIZE); - return; - } - - lldebugs << "Will place " << resizeStateToString(dragged_state) - << " before " << resizeStateToString(landing_state) << llendl; - - // Update order of buttons according to drag'n'drop - mButtonsOrder.erase(std::find(mButtonsOrder.begin(), mButtonsOrder.end(), dragged_state)); - if (!landing_state_found && mLandingTab == getChild<LLPanel>(PANEL_CHICLET_NAME)) - { - mButtonsOrder.push_back(dragged_state); - } - else - { - if (!landing_state_found) landing_state = RS_BUTTON_SPEAK; // just a random fallback - mButtonsOrder.insert(std::find(mButtonsOrder.begin(), mButtonsOrder.end(), landing_state), dragged_state); - } - - // Synchronize button process order with their order - resize_state_vec_t::const_iterator it1 = mButtonsOrder.begin(); - const resize_state_vec_t::const_iterator it_end1 = mButtonsOrder.end(); - resize_state_vec_t::iterator it2 = mButtonsProcessOrder.begin(); - for (; it1 != it_end1; ++it1) - { - // Skip Speak because it is not in mButtonsProcessOrder(it's the reason why mButtonsOrder was introduced). - // If any other draggable items will be added to bottomtray later, they should also be skipped here. - if (*it1 != RS_BUTTON_SPEAK) - { - *it2 = *it1; - ++it2; - } - } - - saveButtonsOrder(); -} - -void LLBottomTray::saveButtonsOrder() -{ - if (!gSavedSettings.getBOOL("AllowBottomTrayButtonReordering")) return; - - std::string user_dir = gDirUtilp->getLindenUserDir(); - if (user_dir.empty()) return; - - std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, SORTING_DATA_FILE_NAME); - LLSD settings_llsd; - int i = 0; - const resize_state_vec_t::const_iterator it_end = mButtonsOrder.end(); - // we use numbers as keys for map which is saved in file and contains resize states as its values - for (resize_state_vec_t::const_iterator it = mButtonsOrder.begin(); it != it_end; ++it, i++) - { - std::string str = llformat("%d", i); - settings_llsd[str] = *it; - } - llofstream file; - file.open(filename); - LLSDSerialize::toPrettyXML(settings_llsd, file); -} - -void LLBottomTray::loadButtonsOrder() -{ - if (!gSavedSettings.getBOOL("AllowBottomTrayButtonReordering")) return; - - // load per-resident sorting information - std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, SORTING_DATA_FILE_NAME); - - LLSD settings_llsd; - llifstream file; - file.open(filename); - if (!file.is_open()) return; - - LLSDSerialize::fromXML(settings_llsd, file); - - - mButtonsOrder.clear(); - mButtonsProcessOrder.clear(); - int i = 0; - // getting button order from file - for (LLSD::map_const_iterator iter = settings_llsd.beginMap(); - iter != settings_llsd.endMap(); ++iter, ++i) - { - std::string str = llformat("%d", i); - EResizeState state = (EResizeState)settings_llsd[str].asInteger(); - mButtonsOrder.push_back(state); - // RS_BUTTON_SPEAK is skipped, because it shouldn't be in mButtonsProcessOrder (it does not hide or shrink). - if (state != RS_BUTTON_SPEAK) - { - mButtonsProcessOrder.push_back(state); - } - } - - // There are other panels in layout stack order of which is not saved. Also, panels order of which is saved, - // are already in layout stack but in wrong order. The most convenient way to place them is moving them - // to front one by one (because in this case we don't have to pass the panel before which we want to insert our - // panel to movePanel()). So panels are moved in order from the end of mButtonsOrder vector(reverse iterator is used). - const resize_state_vec_t::const_reverse_iterator it_end = mButtonsOrder.rend(); - // placing panels in layout stack according to button order which we loaded in previous for - for (resize_state_vec_t::const_reverse_iterator it = mButtonsOrder.rbegin(); it != it_end; ++it, ++i) - { - LLPanel* panel_to_move = getButtonPanel(*it); - mToolbarStack->movePanel(panel_to_move, NULL, true); // prepend - } - // Nearbychat is not stored in order settings file, but it must be the first of the panels, so moving it - // (along with its drag handle) manually here. - mToolbarStack->movePanel(getChild<LLLayoutPanel>("chat_bar_resize_handle_panel"), NULL, true); - mToolbarStack->movePanel(mChatBarContainer, NULL, true); -} - -void LLBottomTray::onDraggableButtonMouseUp(LLUICtrl* ctrl, S32 x, S32 y) -{ - //if mouse up happened over area where drop is possible, change order of buttons - if (mLandingTab != NULL && mDraggedItem != NULL && mDragStarted) - { - if(isCursorOverDraggableArea(x, y)) - { - // change order of panels in layout stack - mToolbarStack->movePanel(mDraggedItem, (LLPanel*)mLandingTab); - // change order of buttons in order vectors - updateButtonsOrdersAfterDnD(); - } - } - gViewerWindow->getWindow()->setCursor(UI_CURSOR_ARROW); - mDragStarted = false; - mDraggedItem = NULL; - mLandingTab = NULL; - mCheckForDrag = false; -} - -void LLBottomTray::draw() -{ - LLPanel::draw(); - if (mLandingTab) - { - static S32 w = mImageDragIndication->getWidth(); - static S32 h = mImageDragIndication->getHeight(); - LLRect rect = mLandingTab->calcScreenRect(); - mImageDragIndication->draw(rect.mLeft - w/2, rect.getHeight(), w, h); - } - getChild<LLButton>("show_profile_btn")->setToggleState(LLAvatarActions::profileVisible(gAgent.getID())); - - LLPanel* panel = LLFloaterSidePanelContainer::getPanel("people", "panel_people"); - if (panel && panel->isInVisibleChain()) - { - getChild<LLButton>("show_people_button")->setToggleState(true); - } - else - { - getChild<LLButton>("show_people_button")->setToggleState(false); - } - - LLFloater* help_browser = (LLFloaterReg::findInstance("help_browser")); - bool help_floater_visible = (help_browser && help_browser->isInVisibleChain()); - - getChild<LLButton>("show_help_btn")->setToggleState(help_floater_visible); - - bool openmic = LLVoiceClient::getInstance()->getUserPTTState(); - bool voiceenabled = LLVoiceClient::getInstance()->voiceEnabled(); - getChild<LLButton>("speak_btn")->setToggleState(openmic && voiceenabled); - getChild<LLOutputMonitorCtrl>("chat_zone_indicator")->setIsMuted(!voiceenabled); - -} - -bool LLBottomTray::onContextMenuItemEnabled(const LLSD& userdata) -{ - std::string item = userdata.asString(); - /* - LLLineEditor* edit_box = mNearbyChatBar->findChild<LLLineEditor>("chat_box"); - - if (item == "can_cut") - { - return edit_box->canCut(); - } - else if (item == "can_copy") - { - return edit_box->canCopy(); - } - else if (item == "can_paste") - { - return edit_box->canPaste(); - } - else if (item == "can_delete") - { - return edit_box->canDoDelete(); - } - else if (item == "can_select_all") - { - return edit_box->canSelectAll() && (edit_box->getLength()>0); - }*/ - return true; -} - - -void LLBottomTray::onContextMenuItemClicked(const LLSD& userdata) -{/* - std::string item = userdata.asString(); - LLLineEditor* edit_box = mNearbyChatBar->findChild<LLLineEditor>("chat_box"); - - if (item == "cut") - { - edit_box->cut(); - } - else if (item == "copy") - { - edit_box->copy(); - } - else if (item == "paste") - { - edit_box->paste(); - edit_box->setFocus(TRUE); - } - else if (item == "delete") - { - edit_box->doDelete(); - } - else if (item == "select_all") - { - edit_box->selectAll(); - }*/ -} - -void LLBottomTray::log(LLView* panel, const std::string& descr) -{ - if (NULL == panel) return; - LLView* layout = panel->getParent(); - LL_DEBUGS("Bottom Tray Rects") << descr << ": " - << "panel: " << panel->getName() - << ", rect: " << panel->getRect() - - - << " layout: " << layout->getName() - << ", rect: " << layout->getRect() - << LL_ENDL; -} - -void LLBottomTray::reshape(S32 width, S32 height, BOOL called_from_parent) -{ - static S32 debug_calling_number = 0; - lldebugs << "**************************************** " << ++debug_calling_number << llendl; - - S32 current_width = getRect().getWidth(); - S32 delta_width = width - current_width; - lldebugs << "Reshaping: " - << ", width: " << width - << ", cur width: " << current_width - << ", delta_width: " << delta_width - << ", called_from_parent: " << called_from_parent - << llendl; - - if (mNearbyChatBar) log(mNearbyChatBar, "before"); - if (mChicletPanel) log(mChicletPanel, "before"); - - // Difference between bottom tray width required to fit its children and the actual width. (see EXT-991) - // Positive value means that bottom tray is not wide enough. - // Negative value means that there is free space. - static S32 extra_shrink_width = 0; - bool should_be_reshaped = true; - - if (mChicletPanel && mToolbarStack && mNearbyChatBar) - { - // Firstly, update layout stack to ensure we deal with correct panel sizes. - { - BOOL saved_anim = mToolbarStack->getAnimate(); - // Set chiclet panel to be autoresized by default. - mToolbarStack->updatePanelAutoResize(PANEL_CHICLET_NAME, TRUE); - // Disable animation to prevent layout updating in several frames. - mToolbarStack->setAnimate(FALSE); - // Force the updating of layout to reset panels collapse factor. - mToolbarStack->updateLayout(); - // Restore animate state. - mToolbarStack->setAnimate(saved_anim); - } - - // bottom tray is narrowed - if (delta_width < 0) - { - if (extra_shrink_width > 0) // not enough space - { - extra_shrink_width += llabs(delta_width); - should_be_reshaped = false; - } - else - { - extra_shrink_width = processWidthDecreased(delta_width); - - // increase new width to extra_shrink_width value to not reshape less than bottom tray minimum - width += extra_shrink_width; - } - } - // bottom tray is widened - else - { - if (extra_shrink_width > delta_width) - { - // Still not enough space. - // Only subtract the delta from the required delta and don't reshape. - extra_shrink_width -= delta_width; - should_be_reshaped = false; - } - else - { - if (extra_shrink_width > 0) - { - // If we have some extra shrink width let's reduce delta_width & width - delta_width -= extra_shrink_width; - width -= extra_shrink_width; - extra_shrink_width = 0; - } - processWidthIncreased(delta_width); - } - } - } - - if (should_be_reshaped) - { - lldebugs << "Reshape all children with width: " << width << llendl; - LLPanel::reshape(width, height, called_from_parent); - } - - if (mNearbyChatBar) log(mNearbyChatBar, "after"); - if (mChicletPanel) log(mChicletPanel, "after"); - - - // Restore width of the chatbar on first reshape. - // we can not to do this from postBuild because reshape is called from parent view on startup - // creation after it and reset width according to resize logic. - static bool needs_restore_custom_state = true; - if (mChatBarContainer && needs_restore_custom_state) - { - // restore custom width of chatbar panel. - S32 new_width = gSavedSettings.getS32("ChatBarCustomWidth"); - if (new_width > 0) - { - mDesiredNearbyChatWidth = new_width; - processChatbarCustomization(new_width); - lldebugs << "Setting nearby chat bar width to " << new_width << " px" << llendl; - mChatBarContainer->reshape(new_width, mChatBarContainer->getRect().getHeight()); - } - needs_restore_custom_state = false; - } - -} - -S32 LLBottomTray::processWidthDecreased(S32 delta_width) -{ - bool still_should_be_processed = true; - - const S32 chiclet_panel_shrink_headroom = getChicletPanelShrinkHeadroom(); - - // There are four steps of processing width decrease. If in one of them required width was reached, - // further are not needed. - // 1. Decreasing width of chiclet panel. - if (chiclet_panel_shrink_headroom > 0) - { - // we have some space to decrease chiclet panel - S32 shrink_by = llmin(-delta_width, chiclet_panel_shrink_headroom); - - lldebugs << "delta_width: " << delta_width - << ", panel_delta_min: " << chiclet_panel_shrink_headroom - << ", shrink_by: " << shrink_by - << llendl; - - // is chiclet panel wide enough to process resizing? - delta_width += chiclet_panel_shrink_headroom; - - still_should_be_processed = delta_width < 0; - - lldebugs << "Shrinking chiclet panel by " << shrink_by << " px" << llendl; - mChicletPanel->getParent()->reshape(mChicletPanel->getParent()->getRect().getWidth() - shrink_by, mChicletPanel->getParent()->getRect().getHeight()); - log(mChicletPanel, "after processing panel decreasing via chiclet panel"); - - lldebugs << "RS_CHICLET_PANEL" - << ", delta_width: " << delta_width - << llendl; - } - - S32 buttons_freed_width = 0; - // 2. Decreasing width of buttons. - if (still_should_be_processed) - { - processShrinkButtons(delta_width, buttons_freed_width); - still_should_be_processed = delta_width < 0; - } - - // 3. Decreasing width of nearby chat. - const S32 chatbar_panel_min_width = get_panel_min_width(mToolbarStack, mChatBarContainer); - const S32 chatbar_panel_width = mChatBarContainer->getRect().getWidth(); - if (still_should_be_processed && chatbar_panel_width > chatbar_panel_min_width) - { - // we have some space to decrease chatbar panel - S32 chatbar_shrink_headroom = chatbar_panel_width - chatbar_panel_min_width; - - S32 shrink_by = llmin(-delta_width, chatbar_shrink_headroom); - - // is chatbar panel wide enough to process resizing? - delta_width += chatbar_shrink_headroom; - - still_should_be_processed = delta_width < 0; - - // chatbar should only be shrunk here, not stretched - if (shrink_by > 0) - { - //lldebugs << "Shrinking nearby chat bar by " << delta_panel << " px " << llendl; - //mChatBarContainer->reshape(mNearbyChatBar->getRect().getWidth() - delta_panel, mChatBarContainer->getRect().getHeight()); - } - - log(mNearbyChatBar, "after processing panel decreasing via nearby chatbar panel"); - - lldebugs << "RS_CHATBAR_INPUT" - << ", shrink_by: " << shrink_by - << ", delta_width: " << delta_width - << llendl; - } - - S32 extra_shrink_width = 0; - // 4. Hiding buttons if needed. - if (still_should_be_processed) - { - processHideButtons(delta_width, buttons_freed_width); - - if (delta_width < 0) - { - extra_shrink_width = -delta_width; - llwarns << "There is no enough width to reshape all children: " - << extra_shrink_width << llendl; - } - - if (buttons_freed_width > 0) - { - S32 nearby_needed_width = mDesiredNearbyChatWidth; - if ( 0) - { - S32 compensative_width = nearby_needed_width > buttons_freed_width ? buttons_freed_width : nearby_needed_width; - log(mNearbyChatBar, "before applying compensative width"); - lldebugs << "Extending nearby chat bar by " << compensative_width << " px" << llendl; - mChatBarContainer->reshape(mChatBarContainer->getRect().getWidth() + compensative_width, mChatBarContainer->getRect().getHeight() ); - log(mNearbyChatBar, "after applying compensative width"); - lldebugs << buttons_freed_width << llendl; - } - } - } - - return extra_shrink_width; -} - -void LLBottomTray::processWidthIncreased(S32 delta_width) -{ - if (delta_width <= 0) return; - - // how much room we have to show hidden buttons - S32 available_width = delta_width + getChicletPanelShrinkHeadroom(); - - lldebugs << "Distributing (" << getChicletPanelShrinkHeadroom() - << " + " << delta_width << ") = " << available_width << " px" << llendl; - - // 1. Try showing buttons that have been auto-hidden. - S32 processed_width = processShowButtons(available_width); - lldebugs << "processed_width = " << processed_width << ", delta_width = " << delta_width << llendl; - - lldebugs << "Available_width after showing buttons: " << available_width << llendl; - - // If the newly shown buttons have consumed more than delta_width pixels, - // shrink the chiclet panel. - if (processed_width > delta_width) - { - // 1. use delta width of resizing - S32 shrink_by = processed_width - delta_width; - - // 2. use width available via decreasing of chiclet panel - if (shrink_by > 0) - { - lldebugs << "Shrinking chiclet panel by " << shrink_by << " px" << llendl; - mChicletPanel->getParent()->reshape(mChicletPanel->getParent()->getRect().getWidth() - shrink_by, mChicletPanel->getParent()->getRect().getHeight()); - log(mChicletPanel, "after applying compensative width for chiclets: "); - lldebugs << shrink_by << llendl; - } - - // shown buttons take some space, rest should be processed by nearby chatbar & chiclet panels - delta_width -= processed_width; - } - - // 2. Expand the nearby chat bar if needed. - S32 chatbar_panel_width = mChatBarContainer->getRect().getWidth(); - lldebugs << "delta_width = " << delta_width - << ", chatbar_panel_width = " << chatbar_panel_width - << ", mDesiredNearbyChatWidth = " << mDesiredNearbyChatWidth << llendl; - if (delta_width > 0 && chatbar_panel_width < mDesiredNearbyChatWidth) - { - S32 extend_by_max = mDesiredNearbyChatWidth - chatbar_panel_width; - S32 extend_by = llmin(delta_width, extend_by_max); - lldebugs << "Unprocessed delta width: " << delta_width - << " px, chatbar can be extended by " << extend_by_max - << " px, extending it by " << extend_by << " px" - << llendl; - - delta_width -= extend_by_max; - lldebugs << "Extending nearby chat bar by " << extend_by << " px " << llendl; - mChatBarContainer->reshape(chatbar_panel_width + extend_by, mChatBarContainer->getRect().getHeight()); - log(mNearbyChatBar, "applied unprocessed delta width"); - } - - // 3. Expand buttons that have been auto-shrunk, - // if we haven't yet consumed all the available headroom. - if (delta_width > 0) - { - S32 available_width = delta_width + getChicletPanelShrinkHeadroom(); - processExtendButtons(available_width); - } -} - -S32 LLBottomTray::processShowButtons(S32& available_width) -{ - lldebugs << "Distributing " << available_width << " px" << llendl; - S32 original_available_width = available_width; - - // process buttons from left to right - resize_state_vec_t::const_iterator it = mButtonsProcessOrder.begin(); - const resize_state_vec_t::const_iterator it_end = mButtonsProcessOrder.end(); - - for (; it != it_end; ++it) - { - // is there available space? - if (available_width <= 0) break; - - // try to show next button - processShowButton(*it, available_width); - } - - return original_available_width - available_width; -} - -bool LLBottomTray::processShowButton(EResizeState shown_object_type, S32& available_width) -{ - // Check if the button was previously auto-hidden (due to lack of space). - if (!isAutoHidden(shown_object_type)) - { - return false; - } - - // Ok. Try showing the button. - return showButton(shown_object_type, available_width); -} - -void LLBottomTray::processHideButtons(S32& required_width, S32& buttons_freed_width) -{ - // process buttons from right to left - resize_state_vec_t::const_reverse_iterator it = mButtonsProcessOrder.rbegin(); - const resize_state_vec_t::const_reverse_iterator it_end = mButtonsProcessOrder.rend(); - - for (; it != it_end; ++it) - { - // is it still necessary to hide a button? - if (required_width >= 0) break; - - // try to hide next button - processHideButton(*it, required_width, buttons_freed_width); - } -} - -void LLBottomTray::processHideButton(EResizeState processed_object_type, S32& required_width, S32& buttons_freed_width) -{ - lldebugs << "Trying to hide object type: " << processed_object_type << llendl; - LLPanel* panel = getButtonPanel(processed_object_type); - if (NULL == panel) - { - return; - } - - if (panel->getVisible()) - { - required_width += panel->getRect().getWidth(); - - if (required_width > 0) - { - buttons_freed_width += required_width; - } - - setTrayButtonVisible(processed_object_type, false); - - setAutoHidden(processed_object_type, true); - - lldebugs << "processing object type: " << processed_object_type - << ", buttons_freed_width: " << buttons_freed_width - << llendl; - } -} - -void LLBottomTray::processShrinkButtons(S32& required_width, S32& buttons_freed_width) -{ - // process buttons from right to left - resize_state_vec_t::const_reverse_iterator it = mButtonsProcessOrder.rbegin(); - const resize_state_vec_t::const_reverse_iterator it_end = mButtonsProcessOrder.rend(); - - // iterate through buttons in the mButtonsProcessOrder first - for (; it != it_end; ++it) - { - // is it still necessary to hide a button? - if (required_width >= 0) break; - - // try to shrink next button - processShrinkButton(*it, required_width); - } - - // then shrink Speak button - if (required_width < 0) - { - S32 panel_min_width = 0; - std::string panel_name = mSpeakPanel->getName(); - bool success = mToolbarStack->getPanelMinSize(panel_name, &panel_min_width); - if (!success) - { - lldebugs << "Panel was not found to get its min width: " << panel_name << llendl; - } - else - { - S32 panel_width = mSpeakPanel->getRect().getWidth(); - S32 possible_shrink_width = panel_width - panel_min_width; - - if (possible_shrink_width > 0) - { - if (mSpeakBtn) - { - mSpeakBtn->setLabelVisible(false); - } - - mSpeakPanel->reshape(panel_width - possible_shrink_width, mSpeakPanel->getRect().getHeight()); - - required_width += possible_shrink_width; - - if (required_width > 0) - { - buttons_freed_width += required_width; - } - - lldebugs << "Shrunk Speak button panel: " << panel_name - << ", shrunk width: " << possible_shrink_width - << ", rest width to process: " << required_width - << llendl; - } - } - } -} - -void LLBottomTray::processShrinkButton(EResizeState processed_object_type, S32& required_width) -{ - LLPanel* panel = getButtonPanel(processed_object_type); - if (NULL == panel) - { - return; - } - - if (panel->getVisible()) - { - S32 panel_width = panel->getRect().getWidth(); - S32 panel_min_width = 0; - std::string panel_name = panel->getName(); - bool success = mToolbarStack->getPanelMinSize(panel_name, &panel_min_width); - S32 possible_shrink_width = panel_width - panel_min_width; - - if (!success) - { - lldebugs << "Panel was not found to get its min width: " << panel_name << llendl; - } - // we have some space to free by shrinking the button - else if (possible_shrink_width > 0) - { - // let calculate real width to shrink - - // 1. apply all possible width - required_width += possible_shrink_width; - - // 2. it it is too much... - if (required_width > 0) - { - // reduce applied shrunk width to the excessive value. - possible_shrink_width -= required_width; - required_width = 0; - } - panel->reshape(panel_width - possible_shrink_width, panel->getRect().getHeight()); - - lldebugs << "Shrunk panel: " << panel_name - << ", shrunk width: " << possible_shrink_width - << ", rest width to process: " << required_width - << llendl; - } - } -} - - -void LLBottomTray::processExtendButtons(S32& available_width) -{ - // do not allow extending any buttons if we have some buttons hidden via resize - if (isAutoHidden(RS_BUTTONS_CAN_BE_HIDDEN)) return; - - lldebugs << "Distributing " << available_width << " px" << llendl; - - // First try extending the Speak button. - if (available_width > 0) - { - if (!processExtendSpeakButton(available_width)) - { - // The Speak button needs extension but lacks some space. - // Don't extend other buttons in this case: the Speak button - // should consume the available headroom first. - return; - } - } - - // Then process the other buttons from left to right. - if (available_width > 0) - { - resize_state_vec_t::const_iterator it = mButtonsProcessOrder.begin(); - const resize_state_vec_t::const_iterator it_end = mButtonsProcessOrder.end(); - - // iterate through buttons in the mButtonsProcessOrder first - for (; it != it_end; ++it) - { - // is there available space? - if (available_width <= 0) break; - - // try to extend next button - processExtendButton(*it, available_width); - } - } -} - -bool LLBottomTray::processExtendSpeakButton(S32& available_width) -{ - if (available_width <= 0) - { - llassert(available_width > 0); - return true; - } - - const S32 panel_max_width = mObjectDefaultWidthMap[RS_BUTTON_SPEAK]; - const S32 panel_width = mSpeakPanel->getRect().getWidth(); - const S32 required_headroom = panel_max_width - panel_width; - - if (panel_width < panel_max_width) // if the button isn't extended already - { - if (available_width < required_headroom) // not enough space - { - lldebugs << "Need (" << required_headroom << " - " << available_width << ") = " - << (required_headroom - available_width) << " more px" - << " to extend the Speak button"<< llendl; - - return false; // Don't extend other buttons until we extend Speak. - } - - // Reshape the Speak button to its maximum width. - if (mSpeakBtn) mSpeakBtn->setLabelVisible(true); - mSpeakPanel->reshape(panel_max_width, mSpeakPanel->getRect().getHeight()); - - available_width -= required_headroom; - llassert(available_width >= 0); - - lldebugs << "Extending Speak button panel: " << mSpeakPanel->getName() - << ", extended width: " << required_headroom - << ", rest width to process: " << available_width - << llendl; - } - - return true; -} - -void LLBottomTray::processExtendButton(EResizeState processed_object_type, S32& available_width) -{ - llassert(available_width >= 0); - - LLPanel* panel = getButtonPanel(processed_object_type); - if (NULL == panel) - { - return; - } - - if (!panel->getVisible()) return; - - // Widen the button up to its maximum width, but by not more than <available_width> px. - S32 panel_max_width = mObjectDefaultWidthMap[processed_object_type]; - S32 panel_width = panel->getRect().getWidth(); - S32 required_headroom = panel_max_width - panel_width; - - S32 extend_by = llmin(available_width, required_headroom); - if (extend_by > 0) - { - panel->reshape(panel_width + extend_by, panel->getRect().getHeight()); - - // Decrease amount of headroom available for other panels. - available_width -= extend_by; - - lldebugs << "Extending " << panel->getName() - << " by " << extend_by - << " px; remaining available width: " << available_width - << llendl; - } -} - -bool LLBottomTray::canButtonBeShown(EResizeState processed_object_type) const -{ - // Check that all buttons (that can be hidden on resize) - // to the left of the given one are already shown. - - // process buttons in direct order (from left to right) - resize_state_vec_t::const_iterator it = mButtonsProcessOrder.begin(); - const resize_state_vec_t::const_iterator it_end = mButtonsProcessOrder.end(); - - MASK buttons_before_mask = RS_NORESIZE; - for (; it != it_end; ++it) - { - const EResizeState button_type = *it; - if (button_type == processed_object_type) break; - - buttons_before_mask |= button_type; - } - - return !isAutoHidden(buttons_before_mask); -} - -void LLBottomTray::initResizeStateContainers() -{ - // init map with objects should be processed for each type - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SPEAK, getChild<LLPanel>("speak_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_GESTURES, getChild<LLPanel>("gesture_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_MOVEMENT, getChild<LLPanel>("movement_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_CAMERA, getChild<LLPanel>("cam_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_DESTINATIONS, getChild<LLPanel>("destinations_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_AVATARS, getChild<LLPanel>("avatar_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SNAPSHOT, getChild<LLPanel>("snapshot_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_BUILD, getChild<LLPanel>("build_btn_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SEARCH, getChild<LLPanel>("search_btn_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_WORLD_MAP, getChild<LLPanel>("world_map_btn_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_MINI_MAP, getChild<LLPanel>("mini_map_btn_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SPLITTER_1, getChild<LLPanel>("splitter_panel_1"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_PEOPLE, getChild<LLPanel>("people_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_PROFILE, getChild<LLPanel>("profile_panel"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_SPLITTER_2, getChild<LLPanel>("splitter_panel_2"))); - mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_HOWTO, getChild<LLPanel>("howto_panel"))); - - // init an order of processed buttons - mButtonsProcessOrder.push_back(RS_BUTTON_DESTINATIONS); - mButtonsProcessOrder.push_back(RS_BUTTON_AVATARS); - mButtonsProcessOrder.push_back(RS_BUTTON_SNAPSHOT); - mButtonsProcessOrder.push_back(RS_BUTTON_BUILD); - mButtonsProcessOrder.push_back(RS_BUTTON_SEARCH); - mButtonsProcessOrder.push_back(RS_BUTTON_WORLD_MAP); - mButtonsProcessOrder.push_back(RS_BUTTON_MINI_MAP); - mButtonsProcessOrder.push_back(RS_BUTTON_SPLITTER_1); - mButtonsProcessOrder.push_back(RS_BUTTON_PEOPLE); - mButtonsProcessOrder.push_back(RS_BUTTON_PROFILE); - mButtonsProcessOrder.push_back(RS_BUTTON_SPLITTER_2); - mButtonsProcessOrder.push_back(RS_BUTTON_HOWTO); - mButtonsProcessOrder.push_back(RS_BUTTON_MOVEMENT); - mButtonsProcessOrder.push_back(RS_BUTTON_CAMERA); - mButtonsProcessOrder.push_back(RS_BUTTON_GESTURES); - - mButtonsOrder.push_back(RS_BUTTON_SPEAK); - mButtonsOrder.insert(mButtonsOrder.end(), mButtonsProcessOrder.begin(), mButtonsProcessOrder.end()); - - // init default widths - - // process buttons that can be hidden on resize... - resize_state_vec_t::const_iterator it = mButtonsProcessOrder.begin(); - const resize_state_vec_t::const_iterator it_end = mButtonsProcessOrder.end(); - - for (; it != it_end; ++it) - { - const EResizeState button_type = *it; - // is there an appropriate object? - LLPanel* button_panel = getButtonPanel(button_type); - if (!button_panel) continue; - - // set default width for it. - mObjectDefaultWidthMap[button_type] = button_panel->getRect().getWidth(); - } - - // ... and add Speak button because it also can be shrunk. - mObjectDefaultWidthMap[RS_BUTTON_SPEAK] = mSpeakPanel->getRect().getWidth(); -} - -// this method must be called before restoring of the chat entry field on startup -// because it resets chatbar's width according to resize logic. -void LLBottomTray::initButtonsVisibility() -{ - setVisibleAndFitWidths(RS_BUTTON_SPEAK, gSavedSettings.getBOOL("EnableVoiceChat") || !mSpeakBtn ); - setVisibleAndFitWidths(RS_BUTTON_GESTURES, gSavedSettings.getBOOL("ShowGestureButton")); - setVisibleAndFitWidths(RS_BUTTON_MOVEMENT, gSavedSettings.getBOOL("ShowMoveButton")); - setVisibleAndFitWidths(RS_BUTTON_CAMERA, gSavedSettings.getBOOL("ShowCameraButton")); - setVisibleAndFitWidths(RS_BUTTON_SNAPSHOT, gSavedSettings.getBOOL("ShowSnapshotButton")); - setVisibleAndFitWidths(RS_BUTTON_BUILD, gSavedSettings.getBOOL("ShowBuildButton")); - setVisibleAndFitWidths(RS_BUTTON_SEARCH, gSavedSettings.getBOOL("ShowSearchButton")); - setVisibleAndFitWidths(RS_BUTTON_WORLD_MAP, gSavedSettings.getBOOL("ShowWorldMapButton")); - setVisibleAndFitWidths(RS_BUTTON_MINI_MAP, gSavedSettings.getBOOL("ShowMiniMapButton")); - lldebugs << "mResizeState = " << resizeStateMaskToString(mResizeState) << llendl; -} - -void LLBottomTray::setButtonsControlsAndListeners() -{ - // always show the speak panel if using the basic skin - if (mSpeakBtn) - { - gSavedSettings.getControl("EnableVoiceChat")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_SPEAK, _2)); - } - - gSavedSettings.getControl("ShowGestureButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_GESTURES, _2)); - gSavedSettings.getControl("ShowMoveButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_MOVEMENT, _2)); - gSavedSettings.getControl("ShowCameraButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_CAMERA, _2)); - gSavedSettings.getControl("ShowSnapshotButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_SNAPSHOT, _2)); - gSavedSettings.getControl("ShowBuildButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_BUILD, _2)); - gSavedSettings.getControl("ShowSearchButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_SEARCH, _2)); - gSavedSettings.getControl("ShowWorldMapButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_WORLD_MAP, _2)); - gSavedSettings.getControl("ShowMiniMapButton")->getSignal()->connect(boost::bind(&LLBottomTray::toggleShowButton, RS_BUTTON_MINI_MAP, _2)); - - - LLButton* build_btn = getChild<LLButton>("build_btn"); - // set control name for Build button. It is not enough to link it with Button.SetFloaterToggle in xml - std::string vis_control_name = LLFloaterReg::declareVisibilityControl("build"); - // Set the button control value (toggle state) to the floater visibility control (Sets the value as well) - build_btn->setControlVariable(LLFloater::getControlGroup()->getControl(vis_control_name)); -} - -bool LLBottomTray::toggleShowButton(LLBottomTray::EResizeState button_type, const LLSD& new_visibility) -{ - if (LLBottomTray::instanceExists()) - { - LLBottomTray::getInstance()->setTrayButtonVisibleIfPossible(button_type, new_visibility.asBoolean()); - } - return true; -} - -bool LLBottomTray::showButton(EResizeState button_type, S32& available_width) -{ - LLPanel* panel = getButtonPanel(button_type); - if (NULL == panel) - { - return false; - } - - if (panel->getVisible()) - { - return false; - } - - // Check if none of the buttons to the left of the given one was auto-hidden. - // (we auto-show the buttons left to right). - if (!canButtonBeShown(button_type)) - { - return false; - } - - // Make sure we have enough room to show this button. - const S32 required_width = panel->getRect().getWidth(); - if (available_width < required_width) - { - lldebugs << "Need " << (required_width - available_width) << " more px to show " << resizeStateToString(button_type) << llendl; - return false; - } - - // All good. Show the button. - setTrayButtonVisible(button_type, true); - - // Let the caller know that there is now less available space. - available_width -= required_width; - - lldebugs << "Showing button " << resizeStateToString(button_type) - << ", remaining available width: " << available_width - << llendl; - setAutoHidden(button_type, false); - - return true; -} - -void LLBottomTray::setTrayButtonVisible(EResizeState shown_object_type, bool visible) -{ - LLPanel* panel = getButtonPanel(shown_object_type); - if (NULL == panel) - { - return; - } - - panel->setVisible(visible); -} - -void LLBottomTray::setTrayButtonVisibleIfPossible(EResizeState shown_object_type, bool visible, bool raise_notification) -{ - if (!setVisibleAndFitWidths(shown_object_type, visible) && visible && raise_notification) - { - LLNotificationsUtil::add("BottomTrayButtonCanNotBeShown", - LLSD(), - LLSD(), - LLNotificationFunctorRegistry::instance().DONOTHING); - } -} - -bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible) -{ - // The Speak button is treated specially: if voice is enabled, - // the button should be displayed no matter how much space we've got. - if (object_type == RS_BUTTON_SPEAK) - { - showSpeakButton(visible); - return true; - } - - LLPanel* cur_panel = getButtonPanel(object_type); - if (NULL == cur_panel) - { - return false; - } - - bool is_set = true; - - if (visible) - { - // Assume that only chiclet panel can be auto-resized - const S32 available_width = getChicletPanelShrinkHeadroom(); - - S32 preferred_width = mObjectDefaultWidthMap[object_type]; - S32 current_width = cur_panel->getRect().getWidth(); - S32 result_width = 0; - bool decrease_width = false; - - if (preferred_width > 0 && available_width >= preferred_width) - { - result_width = preferred_width; - } - else if (available_width >= current_width) - { - result_width = current_width; - } - else - { - // Calculate the possible shrunk width as difference between current and minimal widths - const S32 chatbar_shrunk_width = - mChatBarContainer->getRect().getWidth() - get_panel_min_width(mToolbarStack, mChatBarContainer); - - S32 sum_of_min_widths = get_panel_min_width(mToolbarStack, mSpeakPanel); - S32 sum_of_curr_widths = get_curr_width(mSpeakPanel); - - resize_state_vec_t::const_iterator it = mButtonsProcessOrder.begin(); - const resize_state_vec_t::const_iterator it_end = mButtonsProcessOrder.end(); - - for (; it != it_end; ++it) - { - LLPanel* cur_panel = getButtonPanel(*it); - sum_of_min_widths += get_panel_min_width(mToolbarStack, cur_panel); - sum_of_curr_widths += get_curr_width(cur_panel); - } - - const S32 possible_shrunk_width = - chatbar_shrunk_width + (sum_of_curr_widths - sum_of_min_widths); - - // Minimal width of current panel - S32 minimal_width = 0; - mToolbarStack->getPanelMinSize(cur_panel->getName(), &minimal_width); - - if ( (available_width + possible_shrunk_width) >= minimal_width) - { - // There is enough space for minimal width, but set the result_width - // to preferred_width so buttons widths decreasing will be done in predefined order - result_width = (preferred_width > 0) ? preferred_width : current_width; - decrease_width = true; - } - else - { - lldebugs << "Need " << (minimal_width - available_width - possible_shrunk_width) - << " more px to show " << resizeStateToString(object_type) << llendl; - - // Make the button uppear when we have more available space. - setAutoHidden(object_type, true); - return false; - } - } - - if (result_width != current_width) - { - cur_panel->reshape(result_width, cur_panel->getRect().getHeight()); - current_width = result_width; - } - - is_set = showButton(object_type, current_width); - - // Shrink buttons if needed - if (is_set && decrease_width) - { - processWidthDecreased( -result_width); - } - } - else - { - const S32 delta_width = get_curr_width(cur_panel); - - setTrayButtonVisible(object_type, false); - - // Mark button NOT to show while future bottom tray extending - lldebugs << "Removing " << resizeStateToString(object_type) << " from mResizeState" << llendl; - setAutoHidden(object_type, false); - - // Extend other buttons if need - if (delta_width) - { - processWidthIncreased(delta_width); - } - } - return is_set; -} - -LLPanel* LLBottomTray::getButtonPanel(EResizeState button_type) -{ - // Don't use the operator[] because it inserts a NULL value if the key is not found. - if (mStateProcessedObjectMap.count(button_type) == 0) - { - llwarns << "Cannot find a panel for " << resizeStateToString(button_type) << llendl; - llassert(mStateProcessedObjectMap.count(button_type) == 1); - return NULL; - } - - return mStateProcessedObjectMap[button_type]; -} - -void LLBottomTray::showWellButton(EResizeState object_type, bool visible) -{ - llassert( ((RS_NOTIFICATION_WELL | RS_IM_WELL) & object_type) == object_type ); - - const std::string panel_name = RS_IM_WELL == object_type ? "im_well_panel" : "notification_well_panel"; - - LLView * panel = getChild<LLView>(panel_name); - - // if necessary visibility is set nothing to do here - if (panel->getVisible() == (BOOL)visible) return; - - S32 panel_width = panel->getRect().getWidth(); - panel->setVisible(visible); - - if (visible) - { - // method assumes that input param is a negative value - processWidthDecreased(-panel_width); - } - else - { - processWidthIncreased(panel_width); - } -} - -void LLBottomTray::processChatbarCustomization(S32 new_width) -{ - if (NULL == mNearbyChatBar) return; - - const S32 delta_width = mChatBarContainer->getRect().getWidth() - new_width; - - if (delta_width == 0) return; - - { - static unsigned dbg_cnt = 0; - lldebugs << llformat("*** (%03d) ************************************* %d", delta_width, ++dbg_cnt) << llendl; - } - - mDesiredNearbyChatWidth = new_width; - - const S32 available_chiclet_shrink_width = getChicletPanelShrinkHeadroom(); - llassert(available_chiclet_shrink_width >= 0); - - if (delta_width > 0) // panel gets narrowly - { - S32 total_possible_width = delta_width + available_chiclet_shrink_width; - processShowButtons(total_possible_width); - processExtendButtons(total_possible_width); - } - // here (delta_width < 0) // panel gets wider - else //if (-delta_width > available_chiclet_shrink_width) - { - S32 required_width = delta_width + available_chiclet_shrink_width; - S32 buttons_freed_width = 0; - processShrinkButtons(required_width, buttons_freed_width); - processHideButtons(required_width, buttons_freed_width); - } -} - -S32 LLBottomTray::getChicletPanelShrinkHeadroom() const -{ - static const S32 min_width = mChicletPanel->getMinWidth(); - const S32 cur_width = mChicletPanel->getParent()->getRect().getWidth(); - - S32 shrink_headroom = cur_width - min_width; - llassert(shrink_headroom >= 0); // the panel cannot get narrower than the minimum - return shrink_headroom; -} - -// static -std::string LLBottomTray::resizeStateToString(EResizeState state) -{ - const char *rs_string = "UNKNOWN_BUTTON"; - - switch (state) - { - case RS_NORESIZE: rs_string = "RS_NORESIZE"; break; - case RS_CHICLET_PANEL: rs_string = "RS_CHICLET_PANEL"; break; - case RS_CHATBAR_INPUT: rs_string = "RS_CHATBAR_INPUT"; break; - case RS_BUTTON_SNAPSHOT: rs_string = "RS_BUTTON_SNAPSHOT"; break; - case RS_BUTTON_CAMERA: rs_string = "RS_BUTTON_CAMERA"; break; - case RS_BUTTON_MOVEMENT: rs_string = "RS_BUTTON_MOVEMENT"; break; - case RS_BUTTON_GESTURES: rs_string = "RS_BUTTON_GESTURES"; break; - case RS_BUTTON_SPEAK: rs_string = "RS_BUTTON_SPEAK"; break; - case RS_IM_WELL: rs_string = "RS_IM_WELL"; break; - case RS_NOTIFICATION_WELL: rs_string = "RS_NOTIFICATION_WELL"; break; - case RS_BUTTON_BUILD: rs_string = "RS_BUTTON_BUILD"; break; - case RS_BUTTON_SEARCH: rs_string = "RS_BUTTON_SEARCH"; break; - case RS_BUTTON_WORLD_MAP: rs_string = "RS_BUTTON_WORLD_MAP"; break; - case RS_BUTTON_MINI_MAP: rs_string = "RS_BUTTON_MINI_MAP"; break; - case RS_BUTTON_DESTINATIONS: rs_string = "RS_BUTTON_DESTINATIONS"; break; - case RS_BUTTON_AVATARS: rs_string = "RS_BUTTON_AVATARS"; break; - case RS_BUTTON_PEOPLE: rs_string = "RS_BUTTON_PEOPLE"; break; - case RS_BUTTON_PROFILE: rs_string = "RS_BUTTON_PROFILE"; break; - case RS_BUTTON_HOWTO: rs_string = "RS_BUTTON_HOWTO"; break; - case RS_BUTTON_SPLITTER_1: rs_string = "RS_BUTTON_SPLITTER_1"; break; - case RS_BUTTON_SPLITTER_2: rs_string = "RS_BUTTON_SPLITTER_2"; break; - case RS_BUTTONS_CAN_BE_HIDDEN: rs_string = "RS_BUTTONS_CAN_BE_HIDDEN"; break; - // No default to track additions. - } - - return rs_string; -} - -// static -std::string LLBottomTray::resizeStateMaskToString(MASK mask) -{ - std::string res; - - bool add_delimiter = false; - for (U32 i = 0; i < 16; i++) - { - EResizeState state = (EResizeState) (1 << i); - if (mask & state) - { - if (!add_delimiter) - { - add_delimiter = true; - } - else - { - res += ", "; - } - - res += resizeStateToString(state); - } - } - - if (res.empty()) - { - res = resizeStateToString(RS_NORESIZE); - } - - res += llformat(" (0x%X)", mask); - return res; -} - -bool LLBottomTray::isAutoHidden(MASK button_types) const -{ - return (mResizeState & button_types) != 0; -} - -void LLBottomTray::setAutoHidden(MASK button_types, bool hide) -{ - if (hide) - { - mResizeState |= button_types; - } - else - { - mResizeState &= ~button_types; - } -} - -//EOF diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h deleted file mode 100644 index e26b0792e93..00000000000 --- a/indra/newview/llbottomtray.h +++ /dev/null @@ -1,564 +0,0 @@ -/** -* @file llbottomtray.h -* @brief LLBottomTray class header file -* -* $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_LLBOTTOMPANEL_H -#define LL_LLBOTTOMPANEL_H - -#include "llpanel.h" -#include "llimview.h" -#include "llbutton.h" - -class LLChicletPanel; -class LLLayoutStack; -class LLSpeakButton; -class LLNearbyChatBar; -class LLIMChiclet; -class LLBottomTrayLite; -class LLLayoutPanel; -class LLMenuGL; -class LLNearbyChatBarListener; - -// Build time optimization, generate once in .cpp file -#ifndef LLBOTTOMTRAY_CPP -extern template class LLBottomTray* LLSingleton<class LLBottomTray>::getInstance(); -#endif - -/** - * Class for buttons that should have drag'n'drop ability in bottomtray. - * These buttons pass mouse events handling to bottomtray. - */ -class LLBottomtrayButton : public LLButton -{ -public: - struct Params : public LLInitParam::Block<Params, LLButton::Params> - { - Optional<bool> can_drag; - Params() - : can_drag("can_drag", true){} - }; - /*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask); - /*virtual*/ BOOL handleMouseUp(S32 x, S32 y, MASK mask); - /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask); - -protected: - LLBottomtrayButton(const Params& p) - : LLButton(p), - mCanDrag(p.can_drag) - { - - } - friend class LLUICtrlFactory; - - bool mCanDrag; -}; - -class LLBottomTray - : public LLSingleton<LLBottomTray> - , public LLPanel - , public LLIMSessionObserver - , public LLVoiceClientStatusObserver -{ - LOG_CLASS(LLBottomTray); - friend class LLSingleton<LLBottomTray>; - friend class LLBottomTrayLite; -public: - ~LLBottomTray(); - - BOOL postBuild(); - - LLChicletPanel* getChicletPanel() {return mChicletPanel;} - LLNearbyChatBar* getNearbyChatBar(); - - void onCommitGesture(LLUICtrl* ctrl); - - // LLIMSessionObserver observe triggers - virtual void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id); - virtual void sessionRemoved(const LLUUID& session_id); - void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id); - - S32 getTotalUnreadIMCount(); - - virtual void reshape(S32 width, S32 height, BOOL called_from_parent); - - virtual void setVisible(BOOL visible); - - /*virtual*/ S32 notifyParent(const LLSD& info); - - // Implements LLVoiceClientStatusObserver::onChange() to enable the speak - // button when voice is available - /*virtual*/ void onChange(EStatusType status, const std::string &channelURI, bool proximal); - - void showBottomTrayContextMenu(S32 x, S32 y, MASK mask); - - void showSpeakButton(bool visible); - - void toggleMovementControls(); - void toggleCameraControls(); - - void onMouselookModeIn(); - void onMouselookModeOut(); - - /** - * Creates IM Chiclet based on session type (IM chat or Group chat) - */ - LLIMChiclet* createIMChiclet(const LLUUID& session_id); - - // Below are methods that were introduced or overriden in bottomtray to handle drag'n'drop - - virtual void draw(); - - /** - * These three methods handle drag'n'drop, they may be called directly from child buttons. - * handleHover and other virtual handle* couldn't be used here, because we should call LLPanel::handle*, - * but x and y here are often outside of bottomtray. - */ - void onDraggableButtonHover(S32 x, S32 y); - void onDraggableButtonMouseDown(LLUICtrl* button, S32 x, S32 y); - void onDraggableButtonMouseUp(LLUICtrl* button, S32 x, S32 y); - - -private: - typedef enum e_resize_state - { - RS_NORESIZE = 0x0000, - RS_CHICLET_PANEL = 0x0001, - RS_CHATBAR_INPUT = 0x0002, - RS_BUTTON_SNAPSHOT = 0x0004, - RS_BUTTON_CAMERA = 0x0008, - RS_BUTTON_MOVEMENT = 0x0010, - RS_BUTTON_GESTURES = 0x0020, - RS_BUTTON_SPEAK = 0x0040, - RS_IM_WELL = 0x0080, - RS_NOTIFICATION_WELL = 0x0100, - RS_BUTTON_BUILD = 0x0200, - RS_BUTTON_SEARCH = 0x0400, - RS_BUTTON_WORLD_MAP = 0x0800, - RS_BUTTON_MINI_MAP = 0x1000, - RS_BUTTON_DESTINATIONS = 0x2000, - RS_BUTTON_AVATARS = 0x4000, - RS_BUTTON_PEOPLE = 0x8000, - RS_BUTTON_PROFILE = 0x10000, - RS_BUTTON_HOWTO = 0x20000, - RS_BUTTON_SPLITTER_1 = 0x40000, - RS_BUTTON_SPLITTER_2 = 0x80000, - - /* - Once new button that can be hidden on resize is added don't forget to update related places: - - RS_BUTTONS_CAN_BE_HIDDEN enum value below. - - initResizeStateContainers(): mStateProcessedObjectMap and mButtonsProcessOrder - */ - - /** - * Specifies buttons which can be hidden when bottom tray is shrunk. - * They are: Gestures, Movement (Move), Camera (View), Snapshot - * new: Build, Search, Map, World Map, Mini-Map, destinations, avatars - */ - RS_BUTTONS_CAN_BE_HIDDEN = RS_BUTTON_SNAPSHOT | RS_BUTTON_CAMERA | RS_BUTTON_MOVEMENT | RS_BUTTON_GESTURES - | RS_BUTTON_BUILD | RS_BUTTON_SEARCH | RS_BUTTON_WORLD_MAP | RS_BUTTON_MINI_MAP - | RS_BUTTON_DESTINATIONS | RS_BUTTON_AVATARS - }EResizeState; - - // Below are three methods that were introduced to handle drag'n'drop - - /** - * finds a panel under the specified LOCAL point - */ - LLPanel* findChildPanelByLocalCoords(S32 x, S32 y); - - /** - * checks whether the cursor is over an area where the dragged button may be dropped - */ - bool isCursorOverDraggableArea(S32 x, S32 y); - - /** - * Updates process(shrink/show/hide) order of buttons and order in which they'll be stored for further save/load. - * It is called when dragged button is dropped - */ - void updateButtonsOrdersAfterDnD(); - - // saves order of buttons to file on disk - void saveButtonsOrder(); - // reads order of buttons from file on disk - void loadButtonsOrder(); - - /** - * Updates child controls size and visibility when it is necessary to reduce total width. - * - * Process order: - * - reduce chiclet panel to its minimal width; - * - reduce chatbar to its minimal width; - * - reduce visible buttons from right to left to their minimal width; - * - hide visible buttons from right to left; - * When button is hidden chatbar extended to fill released space if it is necessary. - * - * @param[in] delta_width - value by which bottom tray should be shrunk. It is a negative value. - * @return positive value which bottom tray can not process when it reaches its minimal width. - * Zero if there was enough space to process delta_width. - */ - S32 processWidthDecreased(S32 delta_width); - - /** - * Updates child controls size and visibility when it is necessary to extend total width. - * - * Process order: - * - show invisible buttons should be shown from left to right if possible; - * - extend visible buttons from left to right to their default width; - * - extend chatbar to its maximal width; - * - extend chiclet panel to all available space; - * When chatbar & chiclet panels are wider then their minimal width they can be reduced to allow - * a button gets visible in case if passed delta_width is not enough (chatbar first). - * - * @param[in] delta_width - value by which bottom tray should be extended. It is a positive value. - */ - void processWidthIncreased(S32 delta_width); - - /** helper function to log debug messages */ - void log(LLView* panel, const std::string& descr); - - /** - * Tries to show hidden by resize buttons using available width. - * - * Gets buttons visible if there is enough space. Reduces available_width in this case. - * - * @params[in, out] available_width - reference to available width to be used to show buttons. - * @see processShowButton() - * @return consumed pixels (difference in available width). - */ - S32 processShowButtons(S32& available_width); - - /** - * Tries to show panel with specified button using available width. - * - * Shows button specified by type if there is enough space. Reduces available_width in this case. - * - * @params[in] shown_object_type - type of button to be shown. - * @params[in, out] available_width - reference to available width to be used to show button. - * - * @return true if button can be shown, false otherwise - */ - bool processShowButton(EResizeState shown_object_type, S32& available_width); - - /** - * Hides visible panels with all buttons that may be hidden by resize if it is necessary. - * - * When button gets hidden some space is released in bottom tray. - * This space is taken into account for several consecutive calls for several buttons. - * - * @params[in, out] required_width - reference to required width to be released. This is a negative value. - * Its absolute value is decreased by shown panel width. - * @params[in, out] buttons_freed_width - reference to value released over required one. - * If panel's width is more than required difference is added to buttons_freed_width. - * @see processHideButton() - */ - void processHideButtons(S32& required_width, S32& buttons_freed_width); - - /** - * Hides panel with specified button if it is visible. - * - * When button gets hidden some space is released in bottom tray. - * This space is taken into account for several consecutive calls for several buttons. - * - * @params[in] processed_object_type - type of button to be hide. - * @params[in, out] required_width - reference to required width to be released. This is a negative value. - * Its absolute value is decreased by panel width. - * @params[in, out] buttons_freed_width - reference to value released over required one. - * If panel's width is more than required difference is added to buttons_freed_width. - */ - void processHideButton(EResizeState processed_object_type, S32& required_width, S32& buttons_freed_width); - - /** - * Shrinks shown buttons to reduce total taken space. - * - * Shrinks buttons that may be shrunk smoothly first. Then shrinks Speak button. - * - * @param[in, out] required_width - reference to width value which should be released when buttons are shrunk. It is a negative value. - * It is increased on the value processed by buttons. - * @params[in, out] buttons_freed_width - reference to value released over required one. - * If width of panel with Speak button is more than required that difference is added - * to buttons_freed_width. - * This is because Speak button shrinks discretely unlike other buttons which are changed smoothly. - */ - void processShrinkButtons(S32& required_width, S32& buttons_freed_width); - - /** - * Shrinks panel with specified button if it is visible. - * - * @params[in] processed_object_type - type of button to be shrunk. - * @param[in, out] required_width - reference to width value which should be released when button is shrunk. It is a negative value. - * It is increased on the value released by the button. - */ - void processShrinkButton(EResizeState processed_object_type, S32& required_width); - - /** - * Extends shown buttons to increase total taken space. - * - * Extends buttons that may be extended smoothly first. Then extends Speak button. - * - * @param[in, out] available_width - reference to width value which buttons can use to be extended. - * It is a positive value. It is decreased on the value processed by buttons. - */ - void processExtendButtons(S32& available_width); - - /** - * Extends the Speak button if there is enough headroom. - * - * Unlike other buttons, the Speak buttons has only two possible widths: - * the minimal one (without label) and the maximal (default) one. - * - * If the button is at its minimum width there is not enough headroom to - * reshape it to the maximum width, the method does nothing. - * - * @param available_width Available headroom. - * @return false if the button requires extension but there's not enough headroom, true otherwise. - */ - bool processExtendSpeakButton(S32& available_width); - - /** - * Extends shown button to increase total taken space. - * - * @params[in] processed_object_type - type of button to be extended. - * @param[in, out] available_width - reference to width value which button can use to be extended. - * It is a positive value. It is decreased on the value processed by buttons. - */ - void processExtendButton(EResizeState processed_object_type, S32& available_width); - - /** - * Determines if specified by type object can be shown. It should be hidden by shrink before. - * - * Processes buttons a such way to show buttons in constant order: - * - Gestures, Move, View, Snapshot - */ - bool canButtonBeShown(EResizeState processed_object_type) const; - - /** - * Initializes all containers stored data related to children resize state. - * - * @see mStateProcessedObjectMap - * @see mObjectDefaultWidthMap - * @see mButtonsProcessOrder - */ - void initResizeStateContainers(); - - /** - * Initializes buttons' visibility depend on stored Control Settings. - */ - void initButtonsVisibility(); - - /** - * Initializes listeners of Control Settings to toggle appropriate buttons' visibility. - * - * @see toggleShowButton() - */ - void setButtonsControlsAndListeners(); - - /** - * Toggles visibility of specified button depend on passed value. - * - * @param button_type - type of button to be toggled - * @param new_visibility - new visibility of the button - * - * @see setButtonsControlsAndListeners() - */ - static bool toggleShowButton(EResizeState button_type, const LLSD& new_visibility); - - /** - * Show the button if there is enough space. - * - * @param[in] button_type - type of button to be shown. - * @param[in, out] available_width amount of available space on the bottom bar. - * - * @return true if button was shown, false that's not possible (not enough space, etc) - */ - bool showButton(EResizeState button_type, S32& available_width); - - /** - * Sets passed visibility to object specified by resize type. - */ - void setTrayButtonVisible(EResizeState shown_object_type, bool visible); - - /** - * Sets passed visibility to object specified by resize type if it is possible. - * - * If it is impossible to show required button due to there is no enough room in bottom tray - * it will no be shown. Is called via context menu commands. - * In this case Alert Dialog will be shown to notify user about that. - * - * Method also stores resize state to be processed while future bottom tray extending: - * - if hidden while resizing button should be hidden it will not be shown while extending; - * - if hidden via context menu button should be shown but there is no enough room for now - * it will be shown while extending. - */ - void setTrayButtonVisibleIfPossible(EResizeState shown_object_type, bool visible, bool raise_notification = true); - - /** - * Sets passed visibility to required button and fit widths of shown - * buttons(notice that method can shrink widths to - * allocate needed room in bottom tray). - * Returns true if visibility of required button was set. - */ - bool setVisibleAndFitWidths(EResizeState object_type, bool visible); - - /** - * Get panel containing the given button. - * - * @see mStateProcessedObjectMap - */ - LLPanel* getButtonPanel(EResizeState button_type); - - /** - * Shows/hides panel with specified well button (IM or Notification) - * - * @param[in] object_type - type of well button to be processed. - * Must be one of RS_IM_WELL or RS_NOTIFICATION_WELL. - * @param[in] visible - flag specified whether button should be shown or hidden. - */ - void showWellButton(EResizeState object_type, bool visible); - - /** - * Handles a customization of chatbar width. - * - * When chatbar gets wider layout stack will reduce chiclet panel (it is auto-resizable) - * But once chiclet panel reaches its minimal width Stack will force to reduce buttons width. - * including Speak button. The similar behavior is when chatbar gets narrowly. - * This methods force resize behavior to resize buttons properly in these cases. - */ - void processChatbarCustomization(S32 new_width); - - /** - * @return difference between current chiclet panel width and the minimum. - */ - S32 getChicletPanelShrinkHeadroom() const; - - /// Get button name for debugging. - static std::string resizeStateToString(EResizeState state); - - /// Dump a mask for debugging - static std::string resizeStateMaskToString(MASK mask); - - /// @return true if any of the the passed buttons have been auto-hidden due to lack of available space. - bool isAutoHidden(MASK button_types) const; - - /** - * (Un)Mark the buttons as hidden. - * - * Auto-hidden buttons are those that re-appear as soon as we have enough available space. - */ - void setAutoHidden(MASK button_types, bool hide); - - /// Buttons automatically hidden due to lack of space. - MASK mResizeState; - - /** - * Mapping of button types to the layout panels the buttons are wrapped in. - * - * Used by getButtonPanel(). - */ - typedef std::map<EResizeState, LLPanel*> state_object_map_t; - state_object_map_t mStateProcessedObjectMap; - - /// Default (maximum) widths of the layout panels. - typedef std::map<EResizeState, S32> state_object_width_map_t; - state_object_width_map_t mObjectDefaultWidthMap; - - typedef std::vector<EResizeState> resize_state_vec_t; - - /** - * Contains order in which child buttons should be processed in show/hide, extend/shrink methods. - */ - resize_state_vec_t mButtonsProcessOrder; - - /** - * Contains order in which child buttons are shown. - * It traces order of all bottomtray buttons that may change place via drag'n'drop and should - * save and load it between sessions. mButtonsProcessOrder is not enough for it because it contains only - * buttons that may be hidden. - */ - resize_state_vec_t mButtonsOrder; - -protected: - - LLBottomTray(const LLSD& key = LLSD()); - - static void* createNearbyChatBar(void* userdata); - - void updateContextMenu(S32 x, S32 y, MASK mask); - void onContextMenuItemClicked(const LLSD& userdata); - bool onContextMenuItemEnabled(const LLSD& userdata); - - // Either default or saved after user's manual resize width of nearby chat. - // Nearby chat will not always have it, because sometimes it can be shrunk on resize, - // but when possible it will be restored back to this value. - S32 mDesiredNearbyChatWidth; - LLChicletPanel* mChicletPanel; - LLPanel* mSpeakPanel; - LLSpeakButton* mSpeakBtn; - LLNearbyChatBar* mNearbyChatBar; - LLLayoutPanel* mChatBarContainer; - LLPanel* mNearbyCharResizeHandlePanel; - LLLayoutStack* mToolbarStack; - LLMenuGL* mBottomTrayContextMenu; - LLButton* mCamButton; - LLButton* mMovementButton; - LLBottomTrayLite* mBottomTrayLite; - bool mIsInLiteMode; - - // Drag'n'Drop - - /** - * Is true if mouse down happened on draggable button. - * Set false whether on drag start or on mouse up. - */ - bool mCheckForDrag; - /** - * These two variables hold corrdinates of mouse down on draggable button. - * They are used to compare with current coordinates of cursor and determine whether drag'n'drop should start. - */ - S32 mStartX; - S32 mStartY; - /** - * True if drag'n'drop is happening. - */ - bool mDragStarted; - - /** - * Pointer to panel which is currently dragged (though it seems to user that button is dragged, - * we are changing place of layout panel). - */ - LLPanel* mDraggedItem; - /** - * Panel before which the dragged button will be inserted. - */ - LLPanel* mLandingTab; - /** - * Image used to show position where dragged button will be dropped. - */ - LLUIImage* mImageDragIndication; - - // We want only one LLNearbyChatBarListener object, so it's tied to this singleton - boost::shared_ptr<LLNearbyChatBarListener> mListener; -}; - -#endif // LL_LLBOTTOMPANEL_H diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp index fb3abb132b7..d6095cce07d 100644 --- a/indra/newview/llchatbar.cpp +++ b/indra/newview/llchatbar.cpp @@ -60,7 +60,6 @@ #include "llui.h" #include "llviewermenu.h" #include "lluictrlfactory.h" -#include "llbottomtray.h" // // Globals diff --git a/indra/newview/llfloatersounddevices.cpp b/indra/newview/llfloatersounddevices.cpp index e692f1735ae..56c08065467 100644 --- a/indra/newview/llfloatersounddevices.cpp +++ b/indra/newview/llfloatersounddevices.cpp @@ -28,7 +28,6 @@ #include "llfloatersounddevices.h" -#include "llbottomtray.h" #include "lldraghandle.h" #include "llpanelvoicedevicesettings.h" @@ -55,9 +54,6 @@ LLFloaterSoundDevices::~LLFloaterSoundDevices() BOOL LLFloaterSoundDevices::postBuild() { LLTransientDockableFloater::postBuild(); - - LLView *anchor_panel = LLBottomTray::getInstance()->getChild<LLView>("flyout_btn"); - setDockControl(new LLDockControl(anchor_panel, this, getDockTongue(), LLDockControl::TOP)); setIsChrome(TRUE); if (mDragHandle) diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp index b3b0c93b995..0250af6a0ef 100644 --- a/indra/newview/llimpanel.cpp +++ b/indra/newview/llimpanel.cpp @@ -41,7 +41,6 @@ #include "llagent.h" #include "llbutton.h" -#include "llbottomtray.h" #include "llcallingcard.h" #include "llchannelmanager.h" #include "llchat.h" diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 441ea2923d1..64d5152ebe8 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -46,7 +46,6 @@ #include "llagentui.h" #include "llappviewer.h" #include "llavatariconctrl.h" -#include "llbottomtray.h" #include "llcallingcard.h" #include "llchat.h" #include "llimfloater.h" @@ -1680,13 +1679,6 @@ BOOL LLCallDialog::postBuild() if (!LLDockableFloater::postBuild()) return FALSE; - // dock the dialog to the Speak Button, where other sys messages appear - LLView *anchor_panel = LLBottomTray::getInstance()->getChild<LLView>("speak_panel"); - - setDockControl(new LLDockControl( - anchor_panel, this, - getDockTongue(), LLDockControl::TOP)); - return TRUE; } diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 7503164fe64..49f2dc082c6 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -29,7 +29,6 @@ #include "llagentdata.h" // for gAgentID #include "llnearbychathandler.h" -#include "llbottomtray.h" #include "llchatitemscontainerctrl.h" #include "llfirstuse.h" #include "llfloaterscriptdebug.h" diff --git a/indra/newview/llspeakbutton.cpp b/indra/newview/llspeakbutton.cpp deleted file mode 100644 index bbe573c546e..00000000000 --- a/indra/newview/llspeakbutton.cpp +++ /dev/null @@ -1,165 +0,0 @@ -/** -* @file llspeakbutton.cpp -* @brief LLSpeakButton class implementation -* -* $LicenseInfo:firstyear=2002&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" // must be first include - -#include "llbutton.h" -#include "llfloaterreg.h" - -#include "llagent.h" -#include "llbottomtray.h" -#include "llcallfloater.h" -#include "lloutputmonitorctrl.h" -#include "lltransientfloatermgr.h" - -#include "llspeakbutton.h" - -#include "llbottomtray.h" -#include "llfirstuse.h" - -static LLDefaultChildRegistry::Register<LLSpeakButton> t1("talk_button"); - -////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////// - -LLSpeakButton::Params::Params() -: speak_button("speak_button"), - show_button("show_button"), - monitor("monitor") -{} - -LLSpeakButton::LLSpeakButton(const Params& p) -: LLUICtrl(p) -, mOutputMonitor(NULL) -, mSpeakBtn(NULL) -, mShowBtn(NULL) -{ - LLRect rect = p.rect(); - LLRect speak_rect(0, rect.getHeight(), rect.getWidth(), 0); - LLRect show_rect = p.show_button.rect(); - show_rect.set(0, rect.getHeight(), show_rect.getWidth(), 0); - - speak_rect.mRight -= show_rect.getWidth(); - show_rect.mLeft = speak_rect.getWidth(); - show_rect.mRight = rect.getWidth(); - - LLButton::Params speak_params = p.speak_button; - speak_params.rect(speak_rect); - mSpeakBtn = LLUICtrlFactory::create<LLButton>(speak_params); - addChild(mSpeakBtn); - LLTransientFloaterMgr::getInstance()->addControlView(mSpeakBtn); - - mSpeakBtn->setMouseDownCallback(boost::bind(&LLSpeakButton::onMouseDown_SpeakBtn, this)); - mSpeakBtn->setMouseUpCallback(boost::bind(&LLSpeakButton::onMouseUp_SpeakBtn, this)); - mSpeakBtn->setToggleState(FALSE); - - LLBottomtrayButton::Params show_params = p.show_button; - show_params.rect(show_rect); - mShowBtn = LLUICtrlFactory::create<LLBottomtrayButton>(show_params); - addChild(mShowBtn); - LLTransientFloaterMgr::getInstance()->addControlView(mShowBtn); - -// mShowBtn->setClickedCallback(boost::bind(&LLSpeakButton::onClick_ShowBtn, this)); -// mShowBtn->setToggleState(FALSE); - - static const S32 MONITOR_RIGHT_PAD = 2; - - LLRect monitor_rect = p.monitor.rect(); - S32 monitor_height = monitor_rect.getHeight(); - monitor_rect.mLeft = speak_rect.getWidth() - monitor_rect.getWidth() - MONITOR_RIGHT_PAD; - monitor_rect.mRight = speak_rect.getWidth() - MONITOR_RIGHT_PAD; - monitor_rect.mBottom = (rect.getHeight() / 2) - (monitor_height / 2); - monitor_rect.mTop = monitor_rect.mBottom + monitor_height; - - LLOutputMonitorCtrl::Params monitor_params = p.monitor; - monitor_params.draw_border(false); - monitor_params.rect(monitor_rect); - monitor_params.auto_update(true); - monitor_params.speaker_id(gAgentID); - mOutputMonitor = LLUICtrlFactory::create<LLOutputMonitorCtrl>(monitor_params); - mSpeakBtn->addChild(mOutputMonitor); - - // never show "muted" because you can't mute yourself - mOutputMonitor->setIsMuted(false); - mOutputMonitor->setIsAgentControl(true); - - //*TODO find a better place to do that - LLVoiceChannel::setCurrentVoiceChannelChangedCallback(boost::bind(&LLCallFloater::sOnCurrentChannelChanged, _1), true); -} - -LLSpeakButton::~LLSpeakButton() -{ - if(LLTransientFloaterMgr::instanceExists()) - { - LLTransientFloaterMgr::getInstance()->removeControlView(mSpeakBtn); - LLTransientFloaterMgr::getInstance()->removeControlView(mShowBtn); - } -} - -void LLSpeakButton::setSpeakToolTip(const std::string& msg) -{ - mSpeakBtn->setToolTip(msg); -} - -void LLSpeakButton::setShowToolTip(const std::string& msg) -{ - mShowBtn->setToolTip(msg); -} - -void LLSpeakButton::setLabelVisible(bool visible) -{ - static std::string label_selected = mSpeakBtn->getLabelSelected(); - static std::string label_unselected = mSpeakBtn->getLabelUnselected(); - - if (visible) - { - mSpeakBtn->setLabelSelected(label_selected); - mSpeakBtn->setLabelUnselected(label_unselected); - } - else - { - static LLStringExplicit empty_string(""); - mSpeakBtn->setLabelSelected(empty_string); - mSpeakBtn->setLabelUnselected(empty_string); - } -} - -////////////////////////////////////////////////////////////////////////// -/// PROTECTED SECTION -////////////////////////////////////////////////////////////////////////// -void LLSpeakButton::onMouseDown_SpeakBtn() -{ - bool down = true; - LLVoiceClient::getInstance()->inputUserControlState(down); // this method knows/care about whether this translates into a toggle-to-talk or down-to-talk - LLFirstUse::speak(false); -} -void LLSpeakButton::onMouseUp_SpeakBtn() -{ - bool down = false; - LLVoiceClient::getInstance()->inputUserControlState(down); -} - diff --git a/indra/newview/llspeakbutton.h b/indra/newview/llspeakbutton.h deleted file mode 100644 index 7db01112ef0..00000000000 --- a/indra/newview/llspeakbutton.h +++ /dev/null @@ -1,88 +0,0 @@ -/** -* @file llspeakbutton.h -* @brief LLSpeakButton class header file -* -* $LicenseInfo:firstyear=2002&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_LLSPEAKBUTTON_H -#define LL_LLSPEAKBUTTON_H - -#include "llinitparam.h" -#include "lluictrl.h" - -class LLCallFloater; -class LLButton; -class LLOutputMonitorCtrl; -class LLBottomtrayButton; - -/* - * Button displaying voice chat status. Displays voice chat options when - * clicked. -*/ -class LLSpeakButton : public LLUICtrl -{ -public: - - struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> - { - Optional<LLButton::Params> speak_button; - Optional<LLBottomtrayButton::Params> show_button; - Optional<LLOutputMonitorCtrl::Params> monitor; - - Params(); - }; - - /*virtual*/ ~LLSpeakButton(); - - // *HACK: Need to put tooltips in a translatable location, - // the panel that contains this button. - void setSpeakToolTip(const std::string& msg); - void setShowToolTip(const std::string& msg); - - /** - * Sets visibility of speak button's label according to passed parameter. - * - * It removes label/selected label if "visible" is false and restores otherwise. - * - * @param visible if true - show label and selected label. - * - * @see mSpeakBtn - * @see LLBottomTray::processShrinkButtons() - */ - void setLabelVisible(bool visible); - -protected: - friend class LLUICtrlFactory; - LLSpeakButton(const Params& p); - - void onMouseDown_SpeakBtn(); - void onMouseUp_SpeakBtn(); - -private: - LLButton* mSpeakBtn; - LLBottomtrayButton* mShowBtn; - LLHandle<LLFloater> mPrivateCallPanel; - LLOutputMonitorCtrl* mOutputMonitor; -}; - -#endif // LL_LLSPEAKBUTTON_H diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 5d215c7f6d8..6ce0c358a1f 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -42,7 +42,6 @@ #include "llagentcamera.h" #include "llagentwearables.h" #include "llagentpilot.h" -#include "llbottomtray.h" #include "llcompilequeue.h" #include "llconsole.h" #include "lldaycyclemanager.h" @@ -7795,7 +7794,7 @@ class LLWorldToggleMovementControls : public view_listener_t { bool handleEvent(const LLSD& userdata) { - LLBottomTray::getInstance()->toggleMovementControls(); + LLFloaterReg::toggleInstanceOrBringToFront("moveview"); return true; } }; @@ -7804,7 +7803,7 @@ class LLWorldToggleCameraControls : public view_listener_t { bool handleEvent(const LLSD& userdata) { - LLBottomTray::getInstance()->toggleCameraControls(); + LLFloaterReg::toggleInstanceOrBringToFront("camera"); return true; } }; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 85f74c9fdd5..1f8bac50699 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -187,7 +187,6 @@ #include "llviewerjoystick.h" #include "llviewernetwork.h" #include "llpostprocess.h" -#include "llbottomtray.h" #include "llnearbychatbar.h" #include "llagentui.h" #include "llwearablelist.h" @@ -2163,10 +2162,10 @@ void LLViewerWindow::reshape(S32 width, S32 height) // Hide normal UI when a logon fails void LLViewerWindow::setNormalControlsVisible( BOOL visible ) { - if(LLBottomTray::instanceExists()) + if(LLChicletBar::instanceExists()) { - LLBottomTray::getInstance()->setVisible(visible); - LLBottomTray::getInstance()->setEnabled(visible); + LLChicletBar::getInstance()->setVisible(visible); + LLChicletBar::getInstance()->setEnabled(visible); } if ( gMenuBarView ) @@ -4921,8 +4920,8 @@ S32 LLViewerWindow::getChatConsoleBottomPad() { S32 offset = 0; - if(LLBottomTray::instanceExists()) - offset += LLBottomTray::getInstance()->getRect().getHeight(); + if(gToolBarView) + offset += gToolBarView->getChild<LLView>("bottom_toolbar_panel")->getRect().getHeight(); return offset; } diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 90a05cd9e5b..05cd1d79b0c 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -55,7 +55,7 @@ #include "llimview.h" // for LLIMMgr #include "llparcel.h" #include "llviewerparcelmgr.h" -//#include "llfirstuse.h" +#include "llfirstuse.h" #include "llspeakers.h" #include "lltrans.h" #include "llviewerwindow.h" @@ -6258,6 +6258,19 @@ void LLVivoxVoiceClient::notifyStatusObservers(LLVoiceClientStatusObserver::ESta it = mStatusObservers.upper_bound(observer); } + // skipped to avoid speak button blinking + if ( status != LLVoiceClientStatusObserver::STATUS_JOINING + && status != LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL) + { + bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); + + gAgent.setVoiceConnected(voice_status); + + if (voice_status) + { + LLFirstUse::speak(true); + } + } } void LLVivoxVoiceClient::addObserver(LLFriendObserver* observer) diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml deleted file mode 100644 index 2737746c0eb..00000000000 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ /dev/null @@ -1,530 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - background_visible="true" - bg_alpha_color="DkGray" - bg_opaque_color="DkGray" - chrome="true" - follows="left|bottom|right" - focus_root="true" - height="33" - layout="topleft" - left="0" - name="bottom_tray" - top="28" - width="1310"> - <string - name="DragIndicationImageName" - value="Accordion_ArrowOpened_Off" /> - <string - name="SpeakBtnToolTip" - value="Turns microphone on/off" /> - <string - name="VoiceControlBtnToolTip" - value="Shows/hides voice control panel" /> - <layout_stack - border_size="0" - clip="false" - follows="all" - height="28" - layout="topleft" - left="0" - mouse_opaque="false" - name="toolbar_stack" - orientation="horizontal" - top="0" - width="1310"> - <layout_panel - auto_resize="false" - user_resize="false" - min_width="2" - width="2" /> - <layout_panel - auto_resize="false" - layout="topleft" - max_width="320" - min_width="214" - height="28" - mouse_opaque="false" - name="chat_bar_layout_panel" - user_resize="true" - width="250" > - <panel - name="chat_bar" - filename="panel_nearby_chat_bar.xml" - left="0" - height="28" - width="248" - top="0" - mouse_opaque="false" - follows="left|right" - /> - </layout_panel> - <!-- - This 5px Panel is an indicator of where the resize handle is. - The panel provides a gap between the resize handle icon and a button to the right. - --> - <layout_panel - auto_resize="false" - layout="topleft" - max_width="5" - min_width="5" - name="chat_bar_resize_handle_panel" - user_resize="false" - width="5"> - <icon - follows="top|right" - height="25" - image_name="ChatBarHandle" - layout="topleft" - left="-7" - name="resize_handle" - top="4" - width="5" /> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="59" - mouse_opaque="false" - name="speak_panel" - top_delta="0" - user_resize="false" - width="108"> - <talk_button - follows="left|right" - height="23" - layout="topleft" - left="0" - name="talk" - top="5" - width="105"> - <show_button - tab_stop="true"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="voice_controls" /> - </show_button> - <!-- do not remove halign attribute with default value. otherwise it can't be overridden in other locales. - & pad_right is default value for long label which can be right aligned. See EXT-6318 --> - <speak_button - halign="center" - label="Speak" - label_selected="Speak" - name="speak_btn" - pad_right="20" - tab_stop="true" - use_ellipses="true" /> - </talk_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="65" - mouse_opaque="false" - name="gesture_panel" - top_delta="0" - user_resize="false" - width="85"> - <gesture_combo_list - follows="left|right" - height="23" - label="Gesture" - layout="topleft" - left="0" - name="Gesture" - tool_tip="Shows/hides gestures" - top="5" - width="82"> - <combo_button - pad_right="10" - use_ellipses="true" /> - <combo_list - page_lines="17" /> - </gesture_combo_list> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="movement_panel" - user_resize="false" - width="83"> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="Move" - layout="topleft" - name="movement_btn" - tool_tip="Shows/hides movement controls" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="moveview" /> - </bottomtray_button> - - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="cam_panel" - user_resize="false" - width="83"> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="View" - layout="topleft" - left="0" - name="camera_btn" - tool_tip="Shows/hides camera controls" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="camera" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_width="40" - mouse_opaque="false" - name="snapshot_panel" - user_resize="false" - width="39"> - <bottomtray_button - follows="left|right" - height="23" - image_overlay="Snapshot_Off" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - layout="topleft" - left="0" - name="snapshots" - tool_tip="Take snapshot" - top="5" - width="36"> - <init_callback - function="Button.SetFloaterToggle" - parameter="snapshot" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="build_btn_panel" - user_resize="false" - width="83"> - <!--*FIX: Build Floater is not opened with default registration. Will be fixed soon. -Disabled for now. ---> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="Build" - layout="topleft" - left="0" - name="build_btn" - tool_tip="Shows/hides Build Tools" - top="5" - use_ellipses="true" - width="80"> - <commit_callback - function="Build.Toggle" - parameter="build" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="search_btn_panel" - user_resize="false" - width="83"> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="Search" - layout="topleft" - left="0" - name="search_btn" - tool_tip="Shows/hides Search" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetFloaterToggle" - parameter="search" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="52" - mouse_opaque="false" - name="world_map_btn_panel" - user_resize="false" - width="83"> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="Map" - layout="topleft" - left="0" - name="world_map_btn" - tool_tip="Shows/hides World Map" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetFloaterToggle" - parameter="world_map" /> - </bottomtray_button> - </layout_panel> - <layout_panel - auto_resize="false" - follows="left|right" - height="28" - layout="topleft" - min_height="28" - min_width="62" - mouse_opaque="false" - name="mini_map_btn_panel" - user_resize="false" - width="83"> - <bottomtray_button - follows="left|right" - height="23" - image_pressed="PushButton_Press" - image_pressed_selected="PushButton_Selected_Press" - image_selected="PushButton_Selected_Press" - is_toggle="true" - label="Mini-map" - layout="topleft" - left="0" - name="mini_map_btn" - tool_tip="Shows/hides mini-map" - top="5" - use_ellipses="true" - width="80"> - <init_callback - function="Button.SetFloaterToggle" - parameter="mini_map" /> - </bottomtray_button> - </layout_panel> - <layout_panel - follows="left|right" - height="30" - layout="topleft" - min_width="95" - mouse_opaque="false" - name="chiclet_list_panel" - top="0" - user_resize="false" - width="189"> -<!--*NOTE: min_width of the chiclet_panel (chiclet_list) must be the same -as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly. EXT-991--> - <chiclet_panel - chiclet_padding="4" - follows="left|right" - height="24" - layout="topleft" - left="1" - min_width="95" - mouse_opaque="false" - name="chiclet_list" - top="7" - width="189"> - <button - auto_resize="true" - follows="right" - height="29" - image_hover_selected="SegmentedBtn_Left_Over" - image_hover_unselected="SegmentedBtn_Left_Over" - image_overlay="Arrow_Small_Left" - image_pressed="SegmentedBtn_Left_Press" - image_pressed_selected="SegmentedBtn_Left_Press" - image_selected="SegmentedBtn_Left_Off" - image_unselected="SegmentedBtn_Left_Off" - layout="topleft" - name="chicklet_left_scroll_button" - tab_stop="false" - top="-28" - visible="false" - width="7" /> - <button - auto_resize="true" - follows="right" - height="29" - image_hover_selected="SegmentedBtn_Right_Over" - image_hover_unselected="SegmentedBtn_Right_Over" - image_overlay="Arrow_Small_Right" - image_pressed="SegmentedBtn_Right_Press" - image_pressed_selected="SegmentedBtn_Right_Press" - image_selected="SegmentedBtn_Right_Off" - image_unselected="SegmentedBtn_Right_Off" - layout="topleft" - name="chicklet_right_scroll_button" - tab_stop="false" - top="-28" - visible="false" - width="7" /> - </chiclet_panel> - </layout_panel> - <layout_panel auto_resize="false" - user_resize="false" - width="4" - min_width="4"/> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="37" - name="im_well_panel" - top="0" - user_resize="false" - width="37"> - <chiclet_im_well - follows="right" - height="28" - layout="topleft" - left="0" - max_displayed_count="99" - name="im_well" - top="0" - width="35"> - <!-- -Emulate 4 states of button by background images, see details in EXT-3147. The same should be for notification_well button -xml attribute Description -image_unselected "Unlit" - there are no new messages -image_selected "Unlit" + "Selected" - there are no new messages and the Well is open -image_pressed "Lit" - there are new messages -image_pressed_selected "Lit" + "Selected" - there are new messages and the Well is open - --> - <button - auto_resize="true" - follows="right" - halign="center" - height="23" - image_overlay="Unread_IM" - image_overlay_alignment="center" - image_pressed="WellButton_Lit" - image_pressed_selected="WellButton_Lit_Selected" - image_selected="PushButton_Press" - label_color="Black" - left="0" - name="Unread IM messages" - tool_tip="Conversations" - width="34"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="im_well_window" /> - </button> - </chiclet_im_well> - </layout_panel> - <layout_panel - auto_resize="false" - follows="right" - height="28" - layout="topleft" - min_height="28" - min_width="37" - name="notification_well_panel" - top="0" - user_resize="false" - width="37"> - <chiclet_notification - follows="right" - height="23" - layout="topleft" - left="0" - max_displayed_count="99" - name="notification_well" - top="5" - width="35"> - <button - auto_resize="true" - bottom_pad="3" - follows="right" - halign="center" - height="23" - image_overlay="Notices_Unread" - image_overlay_alignment="center" - image_pressed="WellButton_Lit" - image_pressed_selected="WellButton_Lit_Selected" - image_selected="PushButton_Press" - label_color="Black" - left="0" - name="Unread" - tool_tip="Notifications" - width="34"> - <init_callback - function="Button.SetDockableFloaterToggle" - parameter="notification_well_window" /> - </button> - </chiclet_notification> - </layout_panel> - <layout_panel - auto_resize="false" - user_resize="false" - min_width="4" - name="DUMMY2" - width="8" /> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/en/panel_side_tray.xml b/indra/newview/skins/default/xui/en/panel_side_tray.xml deleted file mode 100644 index 0f330a7b981..00000000000 --- a/indra/newview/skins/default/xui/en/panel_side_tray.xml +++ /dev/null @@ -1,174 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<!-- Side tray cannot show background because it is always - partially on screen to hold tab buttons. --> -<side_tray - name="sidebar" - background_visible="false" - mouse_opaque="true" - width="333" - collapsed="true" -> - <!-- Individual tabs must show background to have seemless - appearance up to tray panel header word like "Home". - Embedded panels are inset by a pixel and so their - backgrounds will not block the world fully. --> - - <sidetray_tab - name="sidebar_openclose" - help_topic="sidebar_openclose" - tab_title="Toggle Sidebar" - description="Toggle Sidebar." - image="TabIcon_Open_Off" - image_selected="TabIcon_Close_Off" - mouse_opaque="false" - background_visible="true" - > - <panel /> <!-- dummy panel, never to actually be seen --> - </sidetray_tab> - - <sidetray_tab - name="sidebar_home" - help_topic="sidebar_home" - tab_title="Home" - description="Home." - image="TabIcon_Home_Off" - image_selected="TabIcon_Home_Selected" - mouse_opaque="false" - background_visible="true" - > - <panel - class="panel_sidetray_home" - name="panel_home" - filename="panel_sidetray_home_tab.xml" - label="home" - /> - </sidetray_tab> - - <sidetray_tab - name="sidebar_me" - help_topic="sidebar_me" - tab_title="My Profile" - description="Edit your public profile and Picks." - image="TabIcon_Me_Off" - image_selected="TabIcon_Me_Selected" - mouse_opaque="false" - background_visible="true" - > - <panel_container - name="panel_container" - default_panel_name="panel_me" - width="333" - > - <panel - class="panel_me" - name="panel_me" - filename="panel_me.xml" - label="Me" - /> - - </panel_container> - </sidetray_tab> - - <sidetray_tab - name="sidebar_people" - help_topic="sidebar_people" - tab_title="People" - description="Find your friends, contacts and people nearby." - image="TabIcon_People_Off" - image_selected="TabIcon_People_Selected" - mouse_opaque="false" - background_visible="true" - > - <panel_container - name="panel_container" - default_panel_name="panel_people" - width="333" - > - <panel - class="panel_people" - 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" - label="Group Profile" - font="SansSerifBold" - /> - <panel - class="panel_block_list_sidetray" - name="panel_block_list_sidetray" - filename="panel_block_list_sidetray.xml" - label="Blocked Residents & Objects" - font="SansSerifBold" - /> - - </panel_container> - </sidetray_tab> - - <sidetray_tab - name="sidebar_places" - help_topic="sidebar_places" - tab_title="Places" - label="Places" - description="Find places to go and places you've visited before." - image="TabIcon_Places_Off" - image_selected="TabIcon_Places_Selected" - mouse_opaque="false" - background_visible="true" - > - <panel - class="panel_places" - name="panel_places" - filename="panel_places.xml" - label="Places" - font="SansSerifBold" - /> - </sidetray_tab> - - <sidetray_tab - name="sidebar_inventory" - help_topic="sidebar_inventory" - tab_title="My Inventory" - description="Browse your inventory." - image="TabIcon_Things_Off" - image_selected="TabIcon_Things_Selected" - mouse_opaque="false" - background_visible="true" - > - <badge location="top_left" location_percent_vcenter="50" location_percent_hcenter="95" /> - <panel - class="sidepanel_inventory" - name="sidepanel_inventory" - filename="sidepanel_inventory.xml" - label="Edit Inventory" - font="SansSerifBold" - /> - </sidetray_tab> - - <sidetray_tab - name="sidebar_appearance" - help_topic="sidebar_appearance" - tab_title="My Appearance" - description="Change your appearance and current look." - image="TabIcon_Appearance_Off" - image_selected="TabIcon_Appearance_Selected" - mouse_opaque="false" - background_visible="true" - > - <panel - class="sidepanel_appearance" - name="sidepanel_appearance" - filename="sidepanel_appearance.xml" - label="Edit Appearance" - font="SansSerifBold" - /> - </sidetray_tab> - -</side_tray> -- GitLab From 4c663ca8b997bd74fb3b646c3cb3870555dfeb91 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 13 Oct 2011 15:17:51 -0700 Subject: [PATCH 185/213] EXP-1314 FIX -- No floater for Marketplace EXP-1338 FIX -- Clicking on active Toybox buttons triggers clicking sound EXP-1339 FIX -- No minimum resize dimension for Place floater EXP-1340 FIX -- No minimum resize demension for Appearance floater EXP-1341 FIX -- Places Floater doesn't have Help button * Toybox buttons no longer have click sounds * Marketplace button opens external browser to marketplace url * Minimum sizes for places and appearance floaters * Marketplace URL's now all use https --- indra/newview/app_settings/commands.xml | 5 +- indra/newview/app_settings/settings.xml | 70 +++++++++---------- indra/newview/llviewermenu.cpp | 2 + .../default/xui/en/floater_my_appearance.xml | 2 + .../skins/default/xui/en/floater_places.xml | 3 + .../skins/default/xui/en/floater_toybox.xml | 1 + 6 files changed, 44 insertions(+), 39 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index e4aaca1bd08..c83494df255 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -116,10 +116,7 @@ icon="Command_Marketplace_Icon" label_ref="Command_Marketplace_Label" tooltip_ref="Command_Marketplace_Tooltip" - execute_function="Floater.ToggleOrBringToFront" - execute_parameters="marketplace" - is_running_function="Floater.IsOpen" - is_running_parameters="marketplace" + execute_function="Avatar.OpenMarketplace" /> <command name="minimap" available_in_toybox="true" diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 2dbf9e714b8..da2161c8dec 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -5094,7 +5094,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/</string> + <string>https://marketplace.secondlife.com/</string> </map> <key>MarketplaceURL_objectFemale</key> <map> @@ -5105,7 +5105,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/attachments</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/attachments</string> </map> <key>MarketplaceURL_objectMale</key> <map> @@ -5116,7 +5116,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/attachments</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/attachments</string> </map> <key>MarketplaceURL_clothingFemale</key> <map> @@ -5127,7 +5127,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/clothing_female_avatar</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/clothing_female_avatar</string> </map> <key>MarketplaceURL_clothingMale</key> <map> @@ -5138,7 +5138,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/clothing_male_avatar</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/clothing_male_avatar</string> </map> <key>MarketplaceURL_bodypartFemale</key> <map> @@ -5149,7 +5149,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com</string> + <string>https://marketplace.secondlife.com/</string> </map> <key>MarketplaceURL_bodypartMale</key> <map> @@ -5160,7 +5160,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/</string> + <string>https://marketplace.secondlife.com/</string> </map> <key>MarketplaceURL_glovesMale</key> <map> @@ -5171,7 +5171,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/gloves_both_women_and_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/gloves_both_women_and_men</string> </map> <key>MarketplaceURL_glovesFemale</key> <map> @@ -5182,7 +5182,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/gloves_both_women_and_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/gloves_both_women_and_men</string> </map> <key>MarketplaceURL_jacketFemale</key> <map> @@ -5193,7 +5193,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/jacket_womens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/jacket_womens</string> </map> <key>MarketplaceURL_jacketMale</key> <map> @@ -5204,7 +5204,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/jacket_mens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/jacket_mens</string> </map> <key>MarketplaceURL_shirtFemale</key> <map> @@ -5215,7 +5215,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/shirt_womens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/shirt_womens</string> </map> <key>MarketplaceURL_shirtMale</key> <map> @@ -5226,7 +5226,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/shirt_mens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/shirt_mens</string> </map> <key>MarketplaceURL_undershirtFemale</key> <map> @@ -5237,7 +5237,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/undershirt_womens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/undershirt_womens</string> </map> <key>MarketplaceURL_undershirtMale</key> <map> @@ -5248,7 +5248,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/undershirt_mens</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/undershirt_mens</string> </map> <key>MarketplaceURL_skirtFemale</key> <map> @@ -5259,7 +5259,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/skirts_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/skirts_women</string> </map> <key>MarketplaceURL_skirtMale</key> <map> @@ -5270,7 +5270,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/skirts_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/skirts_women</string> </map> <key>MarketplaceURL_pantsFemale</key> <map> @@ -5281,7 +5281,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/pants_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/pants_women</string> </map> <key>MarketplaceURL_pantsMale</key> <map> @@ -5292,7 +5292,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/pants_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/pants_men</string> </map> <key>MarketplaceURL_underpantsFemale</key> <map> @@ -5303,7 +5303,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/underwear_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/underwear_women</string> </map> <key>MarketplaceURL_underpantsMale</key> <map> @@ -5314,7 +5314,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/underwear_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/underwear_men</string> </map> <key>MarketplaceURL_shoesFemale</key> <map> @@ -5325,7 +5325,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/shoes_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/shoes_women</string> </map> <key>MarketplaceURL_shoesMale</key> <map> @@ -5336,7 +5336,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/shoes_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/shoes_men</string> </map> <key>MarketplaceURL_socksFemale</key> <map> @@ -5347,7 +5347,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/socks_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/socks_women</string> </map> <key>MarketplaceURL_socksMale</key> <map> @@ -5358,7 +5358,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/socks_women</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/socks_women</string> </map> <key>MarketplaceURL_tattooMale</key> <map> @@ -5369,7 +5369,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/tattoo_both_women_and_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/tattoo_both_women_and_men</string> </map> <key>MarketplaceURL_tattooFemale</key> <map> @@ -5380,7 +5380,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/tattoo_both_women_and_men</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/tattoo_both_women_and_men</string> </map> <key>MarketplaceURL_hairFemale</key> <map> @@ -5391,7 +5391,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/womens_hair</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/womens_hair</string> </map> <key>MarketplaceURL_hairMale</key> <map> @@ -5402,7 +5402,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/mens_hair</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/mens_hair</string> </map> <key>MarketplaceURL_eyesFemale</key> <map> @@ -5413,7 +5413,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/womens_eyes</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/womens_eyes</string> </map> <key>MarketplaceURL_eyesMale</key> <map> @@ -5424,7 +5424,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/mens_eyes</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/mens_eyes</string> </map> <key>MarketplaceURL_shapeFemale</key> <map> @@ -5435,7 +5435,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/womens_shape</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/womens_shape</string> </map> <key>MarketplaceURL_shapeMale</key> <map> @@ -5446,7 +5446,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/mens_shape</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/mens_shape</string> </map> <key>MarketplaceURL_skinFemale</key> <map> @@ -5457,7 +5457,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/womens_skin</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/womens_skin</string> </map> <key>MarketplaceURL_skinMale</key> <map> @@ -5468,7 +5468,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://marketplace.secondlife.com/trampoline/viewer21/mens_skin</string> + <string>https://marketplace.secondlife.com/trampoline/viewer21/mens_skin</string> </map> <key>MaxDragDistance</key> <map> diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 4b90f1952a7..5d215c7f6d8 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -8259,6 +8259,8 @@ void initialize_menus() view_listener_t::addMenu(new LLAvatarReportAbuse(), "Avatar.ReportAbuse"); view_listener_t::addMenu(new LLAvatarToggleMyProfile(), "Avatar.ToggleMyProfile"); enable.add("Avatar.IsMyProfileOpen", boost::bind(&my_profile_visible)); + + commit.add("Avatar.OpenMarketplace", boost::bind(&LLWeb::loadURLExternal, gSavedSettings.getString("MarketplaceURL"))); view_listener_t::addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend"); enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml index 758a1d5be9c..74c4e228419 100644 --- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -11,6 +11,8 @@ save_rect="true" single_instance="true" title="APPEARANCE" + min_height="230" + min_width="333" width="333"> <panel top="18" diff --git a/indra/newview/skins/default/xui/en/floater_places.xml b/indra/newview/skins/default/xui/en/floater_places.xml index 0c22f2d6ea5..b7cb86b468f 100644 --- a/indra/newview/skins/default/xui/en/floater_places.xml +++ b/indra/newview/skins/default/xui/en/floater_places.xml @@ -7,8 +7,11 @@ height="588" layout="topleft" name="floater_places" + help_topic="floater_places" save_rect="true" title="PLACES" + min_height="230" + min_width="333" width="333"> <panel top="18" diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index fbc16352ea2..c7e09bf45e2 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -76,6 +76,7 @@ flash_color="ButtonUnselectedFgColor" halign="left" hover_glow_amount="0.15" + sound_flags="0" display_pressed_state="false" /> </toolbar> <panel -- GitLab From c054f1faed8f87f7c6dfb83c2a13ae3cae97ec89 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Thu, 13 Oct 2011 16:48:59 -0700 Subject: [PATCH 186/213] * Hooked up build FUI toolbar button * Added Shop button to status bar * Changed "Inventory..." menu item to go to same window as toolbar inventory button --- indra/newview/app_settings/commands.xml | 2 +- indra/newview/llstatusbar.cpp | 5 +++- .../skins/default/textures/textures.xml | 1 + .../textures/toolbar_icons/mini_cart.png | Bin 0 -> 2987 bytes .../skins/default/xui/en/menu_viewer.xml | 18 ++---------- .../skins/default/xui/en/panel_status_bar.xml | 27 ++++++++++++++++-- 6 files changed, 33 insertions(+), 20 deletions(-) create mode 100644 indra/newview/skins/default/textures/toolbar_icons/mini_cart.png diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index c83494df255..7c6468459c0 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -35,7 +35,7 @@ icon="Command_Build_Icon" label_ref="Command_Build_Label" tooltip_ref="Command_Build_Tooltip" - execute_function="Floater.ToggleOrBringToFront" + execute_function="Build.Toggle" execute_parameters="build" is_enabled_function="Agent.IsActionAllowed" is_enabled_parameters="build" diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 1b8be7a5b23..75db269bde9 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -169,6 +169,8 @@ BOOL LLStatusBar::postBuild() getChild<LLUICtrl>("buyL")->setCommitCallback( boost::bind(&LLStatusBar::onClickBuyCurrency, this)); + getChild<LLUICtrl>("goShop")->setCommitCallback(boost::bind(&LLWeb::loadURLExternal, gSavedSettings.getString("MarketplaceURL"))); + mBoxBalance = getChild<LLTextBox>("balance"); mBoxBalance->setClickedCallback( &LLStatusBar::onClickBalance, this ); @@ -345,9 +347,10 @@ void LLStatusBar::setBalance(S32 balance) const S32 HPAD = 24; LLRect balance_rect = mBoxBalance->getTextBoundingRect(); LLRect buy_rect = getChildView("buyL")->getRect(); + LLRect shop_rect = getChildView("goShop")->getRect(); LLView* balance_bg_view = getChildView("balance_bg"); LLRect balance_bg_rect = balance_bg_view->getRect(); - balance_bg_rect.mLeft = balance_bg_rect.mRight - (buy_rect.getWidth() + balance_rect.getWidth() + HPAD); + balance_bg_rect.mLeft = balance_bg_rect.mRight - (buy_rect.getWidth() + shop_rect.getWidth() + balance_rect.getWidth() + HPAD); balance_bg_view->setShape(balance_bg_rect); } diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 25f19031318..ab1a8f09904 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -137,6 +137,7 @@ with the same filename but different name <texture name="Command_Inventory_Icon" file_name="toolbar_icons/inventory.png" preload="true" /> <texture name="Command_Map_Icon" file_name="toolbar_icons/map.png" preload="true" /> <texture name="Command_Marketplace_Icon" file_name="toolbar_icons/marketplace.png" preload="true" /> + <texture name="Command_MiniCart_Icon" file_name="toolbar_icons/mini_cart.png" preload="true" /> <texture name="Command_MiniMap_Icon" file_name="toolbar_icons/mini_map.png" preload="true" /> <texture name="Command_Move_Icon" file_name="toolbar_icons/move.png" preload="true" /> <texture name="Command_People_Icon" file_name="toolbar_icons/people.png" preload="true" /> diff --git a/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png b/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png new file mode 100644 index 0000000000000000000000000000000000000000..9fcf46794d1374c08e3b0407515867289a6c3f90 GIT binary patch literal 2987 zcmV;c3sm%pP)<h;3K|Lk000e1NJLTq000dD000UI1^@s6Z|>B@00009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0002iNkl<Zc-oARQ4Iny42HiF1WW-NIRqeqbASUh-~bdLft&+S065q?kQ*3a4$8yz z$YmjfCC%1uf4{$zTWU{$16<|9lz*10qN?0d`?{uf-sit!JkTEmPWR^{s%iibND59M zC`9SrEk*;;5y;iV*8+_|Q~6K}tbsW5p$4`<5>@@E?vL~WA`q;UY~EmX2jo#P;=wK( zjD(Twd<HHhX$kC%0B`|3u&_oeU|WhD&|A!3K05>J(%#<oxl#H+JK7S#jSEp{ONiAZ hY=*X_6J?P69smXJZ~w^)%1r<O002ovPDHLkV1h^xhL->U literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 69029d2ab9c..833e8b9f32a 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -34,25 +34,13 @@ <menu_item_check label="Inventory..." name="Inventory" - shortcut="control|shift|I" - visible="false"> + shortcut="control|I" + visible="true"> <menu_item_check.on_check function="Floater.Visible" - parameter="inventory" /> - <menu_item_check.on_click - function="Floater.Toggle" - parameter="inventory" /> - </menu_item_check> - <menu_item_check - label="Inventory..." - name="ShowSidetrayInventory" - shortcut="control|I" - visible="true"> - <menu_item_check.on_check - function="SidetrayPanelVisible" parameter="my_inventory" /> <menu_item_check.on_click - function="ShowSidetrayPanel" + function="Floater.Toggle" parameter="my_inventory" /> </menu_item_check> <menu_item_check diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 1f298cbe16e..c983e0792a7 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -35,8 +35,8 @@ </panel.string> <panel height="18" - left="-315" - width="95" + left="-370" + width="150" top="1" follows="right|top" name="balance_bg" @@ -64,7 +64,7 @@ image_unselected="buy_off" image_pressed="buy_press" height="18" - label="BUY L$" + label="Buy L$" label_color="White" left_pad="0" label_shadow="true" @@ -74,6 +74,27 @@ tool_tip="Click to buy more L$" top="0" width="55" /> + <button + halign="left" + font="SansSerifSmall" + follows="right|top|bottom" + imgoverlay_label_space="7" + image_overlay="Command_MiniCart_Icon" + image_overlay_alignment="left" + image_hover_unselected="buy_over" + image_unselected="buy_off" + image_pressed="buy_press" + height="18" + label="Shop" + label_color="White" + left_pad="0" + label_shadow="true" + name="goShop" + pad_right="0" + pad_bottom="2" + tool_tip="Go shopping" + top="0" + width="55" /> </panel> <text type="string" -- GitLab From 064b1918b3afc766f14822ebd7ae950c0035cdd2 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 19:16:31 -0700 Subject: [PATCH 187/213] fix build --- indra/llui/llsdparam.cpp | 5 +++-- indra/llui/tests/llurlentry_stub.cpp | 2 +- indra/llui/tests/llurlmatch_test.cpp | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp index 242b1fca7f7..b3bf5108764 100644 --- a/indra/llui/llsdparam.cpp +++ b/indra/llui/llsdparam.cpp @@ -104,7 +104,8 @@ void LLParamSDParser::writeSD(LLSD& sd, const LLInitParam::BaseBlock& block) { mNameStack.clear(); mWriteRootSD = &sd; - block.serializeBlock(*this); + name_stack_t name_stack; + block.serializeBlock(*this, name_stack); } /*virtual*/ std::string LLParamSDParser::getCurrentElementName() @@ -329,7 +330,7 @@ namespace LLInitParam p.writeValue<LLSD::String>(sd.asString(), name_stack); } - void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t name_stack, const BaseBlock* diff_block) const + void ParamValue<LLSD, TypeValues<LLSD>, false>::serializeBlock(Parser& p, Parser::name_stack_t& name_stack, const BaseBlock* diff_block) const { // read from LLSD value and serialize out to parser (which could be LLSD, XUI, etc) Parser::name_stack_t stack; diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp index c8303bfc894..4f251db93bb 100644 --- a/indra/llui/tests/llurlentry_stub.cpp +++ b/indra/llui/tests/llurlentry_stub.cpp @@ -125,7 +125,7 @@ namespace LLInitParam descriptor.mCurrentBlockPtr = this; } bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } - void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} + void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_value, S32 max_value) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } bool BaseBlock::validateBlock(bool emit_errors) const { return true; } diff --git a/indra/llui/tests/llurlmatch_test.cpp b/indra/llui/tests/llurlmatch_test.cpp index 9dbccf125a3..627f3129e93 100644 --- a/indra/llui/tests/llurlmatch_test.cpp +++ b/indra/llui/tests/llurlmatch_test.cpp @@ -97,7 +97,7 @@ namespace LLInitParam } bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, bool new_name){ return true; } - void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {} + void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t& name_stack, const LLInitParam::BaseBlock* diff_block) const {} bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_count, S32 max_count) const { return true; } bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } bool BaseBlock::validateBlock(bool emit_errors) const { return true; } -- GitLab From d3ef6289529aafda3675b811ccc3ab9058d54dfa Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 19:16:54 -0700 Subject: [PATCH 188/213] EXP-1319 FIX Nearby chat toasts should not underlap toolbars --- indra/newview/llchannelmanager.cpp | 27 +++----- indra/newview/llchannelmanager.h | 18 ++--- indra/newview/llnearbychathandler.cpp | 64 +++++++++--------- indra/newview/llnotificationalerthandler.cpp | 4 +- indra/newview/llscreenchannel.cpp | 69 +++++++++++--------- indra/newview/llscreenchannel.h | 33 ++++++---- 6 files changed, 101 insertions(+), 114 deletions(-) diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp index 4ab3d8dc981..59842aeb6c8 100644 --- a/indra/newview/llchannelmanager.cpp +++ b/indra/newview/llchannelmanager.cpp @@ -68,7 +68,7 @@ LLChannelManager::~LLChannelManager() LLScreenChannel* LLChannelManager::createNotificationChannel() { // creating params for a channel - LLChannelManager::Params p; + LLScreenChannelBase::Params p; p.id = LLUUID(gSavedSettings.getString("NotificationChannelUUID")); p.channel_align = CA_RIGHT; @@ -106,7 +106,7 @@ void LLChannelManager::onLoginCompleted() else { // create a channel for the StartUp Toast - LLChannelManager::Params p; + LLScreenChannelBase::Params p; p.id = LLUUID(gSavedSettings.getString("StartUpChannelUUID")); p.channel_align = CA_RIGHT; mStartUpChannel = createChannel(p); @@ -164,26 +164,15 @@ LLScreenChannelBase* LLChannelManager::addChannel(LLScreenChannelBase* channel) return channel; } -LLScreenChannel* LLChannelManager::createChannel(LLChannelManager::Params& p) +LLScreenChannel* LLChannelManager::createChannel(LLScreenChannelBase::Params& p) { - LLScreenChannel* new_channel = new LLScreenChannel(p.id); + LLScreenChannel* new_channel = new LLScreenChannel(p); - if(!new_channel) - { - llerrs << "LLChannelManager::getChannel(LLChannelManager::Params& p) - can't create a channel!" << llendl; - } - else - { - new_channel->setToastAlignment(p.toast_align); - new_channel->setChannelAlignment(p.channel_align); - new_channel->setDisplayToastsAlways(p.display_toasts_always); - - addChannel(new_channel); - } + addChannel(new_channel); return new_channel; } -LLScreenChannelBase* LLChannelManager::getChannel(LLChannelManager::Params& p) +LLScreenChannelBase* LLChannelManager::getChannel(LLScreenChannelBase::Params& p) { LLScreenChannelBase* new_channel = findChannelByID(p.id); @@ -195,7 +184,7 @@ LLScreenChannelBase* LLChannelManager::getChannel(LLChannelManager::Params& p) } //-------------------------------------------------------------------------- -LLScreenChannelBase* LLChannelManager::findChannelByID(const LLUUID id) +LLScreenChannelBase* LLChannelManager::findChannelByID(const LLUUID& id) { std::vector<ChannelElem>::iterator it = find(mChannelList.begin(), mChannelList.end(), id); if(it != mChannelList.end()) @@ -207,7 +196,7 @@ LLScreenChannelBase* LLChannelManager::findChannelByID(const LLUUID id) } //-------------------------------------------------------------------------- -void LLChannelManager::removeChannelByID(const LLUUID id) +void LLChannelManager::removeChannelByID(const LLUUID& id) { std::vector<ChannelElem>::iterator it = find(mChannelList.begin(), mChannelList.end(), id); if(it != mChannelList.end()) diff --git a/indra/newview/llchannelmanager.h b/indra/newview/llchannelmanager.h index 1a0b98f6cf4..671e545465e 100644 --- a/indra/newview/llchannelmanager.h +++ b/indra/newview/llchannelmanager.h @@ -44,17 +44,7 @@ namespace LLNotificationsUI class LLChannelManager : public LLSingleton<LLChannelManager> { public: - struct Params - { - LLUUID id; - bool display_toasts_always; - EToastAlignment toast_align; - EChannelAlignment channel_align; - Params() - : id(LLUUID("")), display_toasts_always(false), toast_align(NA_BOTTOM), channel_align(CA_LEFT) - {} - }; struct ChannelElem { @@ -84,18 +74,18 @@ class LLChannelManager : public LLSingleton<LLChannelManager> void onStartUpToastClose(); // creates a new ScreenChannel according to the given parameters or returns existing if present - LLScreenChannelBase* getChannel(LLChannelManager::Params& p); + LLScreenChannelBase* getChannel(LLScreenChannelBase::Params& p); LLScreenChannelBase* addChannel(LLScreenChannelBase* channel); // returns a channel by its ID - LLScreenChannelBase* findChannelByID(const LLUUID id); + LLScreenChannelBase* findChannelByID(const LLUUID& id); // creator of the Notification channel, that is used in more than one handler LLScreenChannel* createNotificationChannel(); // remove channel methods - void removeChannelByID(const LLUUID id); + void removeChannelByID(const LLUUID& id); /** * Manages toasts showing for all channels. @@ -117,7 +107,7 @@ class LLChannelManager : public LLSingleton<LLChannelManager> std::vector<ChannelElem>& getChannelList() { return mChannelList;} private: - LLScreenChannel* createChannel(LLChannelManager::Params& p); + LLScreenChannel* createChannel(LLScreenChannelBase::Params& p); LLScreenChannel* mStartUpChannel; std::vector<ChannelElem> mChannelList; diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 7503164fe64..573985b76eb 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -42,6 +42,8 @@ #include "llfloaterreg.h"//for LLFloaterReg::getTypedInstance #include "llviewerwindow.h"//for screen channel position #include "llnearbychatbar.h" +#include "llrootview.h" +#include "lllayoutstack.h" //add LLNearbyChatHandler to LLNotificationsUI namespace using namespace LLNotificationsUI; @@ -62,7 +64,7 @@ class LLNearbyChatScreenChannel: public LLScreenChannelBase typedef std::vector<LLHandle<LLToast> > toast_vec_t; typedef std::list<LLHandle<LLToast> > toast_list_t; - LLNearbyChatScreenChannel(const LLUUID& id):LLScreenChannelBase(id) + LLNearbyChatScreenChannel(const Params& p):LLScreenChannelBase(p) { mStopProcessing = false; @@ -81,7 +83,6 @@ class LLNearbyChatScreenChannel: public LLScreenChannelBase void addNotification (LLSD& notification); void arrangeToasts (); - void showToastsBottom (); typedef boost::function<LLToastPanelBase* (void )> create_toast_panel_callback_t; void setCreatePanelCallback(create_toast_panel_callback_t value) { m_create_toast_panel_callback_t = value;} @@ -150,6 +151,7 @@ class LLNearbyChatScreenChannel: public LLScreenChannelBase toast_list_t m_toast_pool; bool mStopProcessing; + bool mChannelRect; }; //----------------------------------------------------------------------------------------------- @@ -352,27 +354,6 @@ void LLNearbyChatScreenChannel::addNotification(LLSD& notification) arrangeToasts(); } -void LLNearbyChatScreenChannel::arrangeToasts() -{ - if(!isHovering()) - { - showToastsBottom(); - } - - if (m_active_toasts.empty()) - { - LLHints::registerHintTarget("incoming_chat", LLHandle<LLView>()); - } - else - { - LLToast* toast = m_active_toasts.front().get(); - if (toast) - { - LLHints::registerHintTarget("incoming_chat", m_active_toasts.front().get()->LLView::getHandle()); - } - } -} - static bool sort_toasts_predicate(LLHandle<LLToast> first, LLHandle<LLToast> second) { if (!first.get() || !second.get()) return false; // STORM-1352 @@ -382,14 +363,30 @@ static bool sort_toasts_predicate(LLHandle<LLToast> first, LLHandle<LLToast> sec return v1 > v2; } -void LLNearbyChatScreenChannel::showToastsBottom() +void LLNearbyChatScreenChannel::arrangeToasts() { - if(mStopProcessing) + if(mStopProcessing || isHovering()) + return; + LLLayoutStack::updateClass(); + LLView* floater_snap_region = gViewerWindow->getRootView()->getChildView("floater_snap_region"); + + if (!getParent()) + { + // connect to floater snap region to get resize events + floater_snap_region->addChild(this); + setFollows(FOLLOWS_ALL); + } + LLRect toast_rect; updateBottom(); - S32 channel_bottom = getRect().mBottom; + + LLRect channel_rect; + floater_snap_region->localRectToOtherView(floater_snap_region->getLocalRect(), &channel_rect, gFloaterView); + channel_rect.mRight = channel_rect.mLeft + 300; + + S32 channel_bottom = channel_rect.mBottom; S32 bottom = channel_bottom; S32 margin = gSavedSettings.getS32("ToastGap"); @@ -410,7 +407,7 @@ void LLNearbyChatScreenChannel::showToastsBottom() S32 toast_top = bottom + toast->getRect().getHeight() + margin; - if(toast_top > gFloaterView->getRect().getHeight()) + if(toast_top > channel_rect.getHeight()) { while(it!=m_active_toasts.end()) { @@ -421,7 +418,7 @@ void LLNearbyChatScreenChannel::showToastsBottom() } toast_rect = toast->getRect(); - toast_rect.setLeftTopAndSize(getRect().mLeft , bottom + toast_rect.getHeight(), toast_rect.getWidth() ,toast_rect.getHeight()); + toast_rect.setLeftTopAndSize(channel_rect.mLeft , bottom + toast_rect.getHeight(), toast_rect.getWidth() ,toast_rect.getHeight()); toast->setRect(toast_rect); bottom += toast_rect.getHeight() - toast->getTopPad() + margin; @@ -458,7 +455,9 @@ LLNearbyChatHandler::LLNearbyChatHandler(e_notification_type type, const LLSD& i mType = type; // Getting a Channel for our notifications - LLNearbyChatScreenChannel* channel = new LLNearbyChatScreenChannel(LLUUID(gSavedSettings.getString("NearByChatChannelUUID"))); + LLNearbyChatScreenChannel::Params p; + p.id = LLUUID(gSavedSettings.getString("NearByChatChannelUUID")); + LLNearbyChatScreenChannel* channel = new LLNearbyChatScreenChannel(p); LLNearbyChatScreenChannel::create_toast_panel_callback_t callback = createToastPanel; @@ -474,11 +473,8 @@ LLNearbyChatHandler::~LLNearbyChatHandler() void LLNearbyChatHandler::initChannel() { - LLNearbyChatBar* chat_bar = LLFloaterReg::getTypedInstance<LLNearbyChatBar>("chat_bar", LLSD()); - LLView* chat_box = chat_bar->getChatBox(); - LLNearbyChat* nearby_chat = LLNearbyChat::getInstance(); - S32 channel_right_bound = nearby_chat->getRect().mRight; - mChannel->init(chat_box->getRect().mLeft, channel_right_bound); + //LLRect snap_rect = gFloaterView->getSnapRect(); + //mChannel->init(snap_rect.mLeft, snap_rect.mLeft + 200); } diff --git a/indra/newview/llnotificationalerthandler.cpp b/indra/newview/llnotificationalerthandler.cpp index 9d824dcd592..cae7d02fedd 100644 --- a/indra/newview/llnotificationalerthandler.cpp +++ b/indra/newview/llnotificationalerthandler.cpp @@ -44,7 +44,7 @@ LLAlertHandler::LLAlertHandler(e_notification_type type, const LLSD& id) : mIsMo { mType = type; - LLChannelManager::Params p; + LLScreenChannelBase::Params p; p.id = LLUUID(gSavedSettings.getString("AlertChannelUUID")); p.display_toasts_always = true; p.toast_align = NA_CENTRE; @@ -114,7 +114,7 @@ bool LLAlertHandler::processNotification(const LLSD& notify) // Show alert in middle of progress view (during teleport) (EXT-1093) LLProgressView* progress = gViewerWindow->getProgressView(); LLRect rc = progress && progress->getVisible() ? progress->getRect() : gViewerWindow->getWorldViewRectScaled(); - mChannel->updatePositionAndSize(rc, rc); + mChannel->updatePositionAndSize(rc); LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel); if(channel) diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index a3b0574bca3..71b6c18d8f7 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -48,29 +48,38 @@ using namespace LLNotificationsUI; bool LLScreenChannel::mWasStartUpToastShown = false; + +LLRect get_channel_rect() +{ + LLRect channel_rect; + LLView* floater_snap_region = LLUI::getRootView()->getChildView("floater_snap_region"); + floater_snap_region->localRectToScreen(floater_snap_region->getLocalRect(), &channel_rect); + return channel_rect; +} + + //-------------------------------------------------------------------------- ////////////////////// // LLScreenChannelBase ////////////////////// -LLScreenChannelBase::LLScreenChannelBase(const LLUUID& id) : - mToastAlignment(NA_BOTTOM) - ,mCanStoreToasts(true) - ,mHiddenToastsNum(0) - ,mHoveredToast(NULL) - ,mControlHovering(false) - ,mShowToasts(true) +LLScreenChannelBase::LLScreenChannelBase(const Params& p) +: LLUICtrl(p), + mToastAlignment(p.toast_align), + mCanStoreToasts(true), + mHiddenToastsNum(0), + mHoveredToast(NULL), + mControlHovering(false), + mShowToasts(true), + mID(p.id), + mDisplayToastsAlways(p.display_toasts_always), + mChannelAlignment(p.channel_align) { - mID = id; - mWorldViewRectConnection = gViewerWindow->setOnWorldViewRectUpdated(boost::bind(&LLScreenChannelBase::updatePositionAndSize, this, _1, _2)); + mID = p.id; setMouseOpaque( false ); setVisible(FALSE); } -LLScreenChannelBase::~LLScreenChannelBase() -{ - mWorldViewRectConnection.disconnect(); -} bool LLScreenChannelBase::isHovering() { @@ -82,21 +91,20 @@ bool LLScreenChannelBase::isHovering() return mHoveredToast->isHovered(); } -void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) +void LLScreenChannelBase::updatePositionAndSize(LLRect rect) { - S32 top_delta = old_world_rect.mTop - new_world_rect.mTop; LLRect this_rect = getRect(); - this_rect.mTop -= top_delta; + this_rect.mTop = rect.mTop; switch(mChannelAlignment) { case CA_LEFT : break; case CA_CENTRE : - this_rect.setCenterAndSize( (new_world_rect.getWidth()) / 2, new_world_rect.getHeight() / 2, this_rect.getWidth(), this_rect.getHeight()); + this_rect.setCenterAndSize( (rect.getWidth()) / 2, rect.getHeight() / 2, this_rect.getWidth(), this_rect.getHeight()); break; case CA_RIGHT : - this_rect.setLeftTopAndSize(new_world_rect.mRight - this_rect.getWidth(), + this_rect.setLeftTopAndSize(rect.mRight - this_rect.getWidth(), this_rect.mTop, this_rect.getWidth(), this_rect.getHeight()); @@ -116,31 +124,30 @@ void LLScreenChannelBase::init(S32 channel_left, S32 channel_right) void LLScreenChannelBase::updateBottom() { - S32 channel_top = gViewerWindow->getWorldViewRectScaled().getHeight(); - S32 channel_bottom = gSavedSettings.getS32("ChannelBottomPanelMargin"); + S32 channel_top = get_channel_rect().mTop; + S32 channel_bottom = get_channel_rect().mBottom + gSavedSettings.getS32("ChannelBottomPanelMargin"); S32 channel_left = getRect().mLeft; S32 channel_right = getRect().mRight; setRect(LLRect(channel_left, channel_top, channel_right, channel_bottom)); } - //-------------------------------------------------------------------------- ////////////////////// // LLScreenChannel ////////////////////// //-------------------------------------------------------------------------- -LLScreenChannel::LLScreenChannel(LLUUID& id): -LLScreenChannelBase(id) -,mStartUpToastPanel(NULL) -{ +LLScreenChannel::LLScreenChannel(const Params& p) +: LLScreenChannelBase(p), + mStartUpToastPanel(NULL) +{ } //-------------------------------------------------------------------------- void LLScreenChannel::init(S32 channel_left, S32 channel_right) { LLScreenChannelBase::init(channel_left, channel_right); - LLRect world_rect = gViewerWindow->getWorldViewRectScaled(); - updatePositionAndSize(world_rect, world_rect); + LLRect channel_rect = get_channel_rect(); + updatePositionAndSize(channel_rect); } //-------------------------------------------------------------------------- @@ -177,7 +184,7 @@ std::list<LLToast*> LLScreenChannel::findToasts(const Matcher& matcher) } //-------------------------------------------------------------------------- -void LLScreenChannel::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect) +void LLScreenChannel::updatePositionAndSize(LLRect new_world_rect) { LLRect this_rect = getRect(); @@ -187,7 +194,7 @@ void LLScreenChannel::updatePositionAndSize(LLRect old_world_rect, LLRect new_wo this_rect.mTop = (S32) (new_world_rect.getHeight() * getHeightRatio()); break; case CA_CENTRE : - LLScreenChannelBase::updatePositionAndSize(old_world_rect, new_world_rect); + LLScreenChannelBase::updatePositionAndSize(new_world_rect); return; case CA_RIGHT : this_rect.mTop = (S32) (new_world_rect.getHeight() * getHeightRatio()); @@ -511,9 +518,9 @@ void LLScreenChannel::showToastsBottom() (*it).toast->translate(0, shift); } - LLRect world_rect = gViewerWindow->getWorldViewRectScaled(); + LLRect channel_rect = get_channel_rect(); // don't show toasts if there is not enough space - if(toast_rect.mTop > world_rect.mTop) + if(toast_rect.mTop > channel_rect.mTop) { break; } diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h index 8f11c82673b..4d8e3e9e931 100644 --- a/indra/newview/llscreenchannel.h +++ b/indra/newview/llscreenchannel.h @@ -53,21 +53,30 @@ class LLScreenChannelBase : public LLUICtrl { friend class LLChannelManager; public: - LLScreenChannelBase(const LLUUID& id); - ~LLScreenChannelBase(); + struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> + { + Mandatory<LLUUID> id; + Optional<bool> display_toasts_always; + Optional<EToastAlignment> toast_align; + Optional<EChannelAlignment> channel_align; + + Params() + : id("id", LLUUID("")), + display_toasts_always("display_toasts_always", false), + toast_align("toast_align", NA_BOTTOM), + channel_align("channel_align", CA_LEFT) + {} + }; + + LLScreenChannelBase(const Params&); // Channel's outfit-functions // update channel's size and position in the World View - virtual void updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect); + virtual void updatePositionAndSize(LLRect rect); // initialization of channel's shape and position virtual void init(S32 channel_left, S32 channel_right); - - virtual void setToastAlignment(EToastAlignment align) {mToastAlignment = align;} - - virtual void setChannelAlignment(EChannelAlignment align) {mChannelAlignment = align;} - // kill or modify a toast by its ID virtual void killToastByNotificationID(LLUUID id) {}; virtual void modifyToastNotificationByID(LLUUID id, LLSD data) {}; @@ -90,7 +99,6 @@ class LLScreenChannelBase : public LLUICtrl void setCanStoreToasts(bool store) { mCanStoreToasts = store; } - void setDisplayToastsAlways(bool display_toasts) { mDisplayToastsAlways = display_toasts; } bool getDisplayToastsAlways() { return mDisplayToastsAlways; } // get number of hidden notifications from a channel @@ -124,9 +132,6 @@ class LLScreenChannelBase : public LLUICtrl // channel's ID LLUUID mID; - - // store a connection to prevent futher crash that is caused by sending a signal to a destroyed channel - boost::signals2::connection mWorldViewRectConnection; }; @@ -137,7 +142,7 @@ class LLScreenChannel : public LLScreenChannelBase { friend class LLChannelManager; public: - LLScreenChannel(LLUUID& id); + LLScreenChannel(const Params&); virtual ~LLScreenChannel(); class Matcher @@ -152,7 +157,7 @@ class LLScreenChannel : public LLScreenChannelBase // Channel's outfit-functions // update channel's size and position in the World View - void updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect); + void updatePositionAndSize(LLRect new_rect); // initialization of channel's shape and position void init(S32 channel_left, S32 channel_right); -- GitLab From 8e3717e187766f0ad24f29886ae930be186a4394 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 20:31:41 -0700 Subject: [PATCH 189/213] EXP-1323 FIX Mouselook text "Press ESC to return to World View" overlaps with bottom toolbar if mode is icon only hide toolbars in mouselook hide top_info_bar when hiding UI disable mouselook when hiding UI fixed layout of more button in navigation bar --- indra/newview/llagent.cpp | 3 +++ indra/newview/llagentcamera.cpp | 4 +++- indra/newview/llviewerwindow.cpp | 2 ++ .../skins/default/xui/en/panel_navigation_bar.xml | 10 ++++++---- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 31a73c8c317..edb536d337c 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -68,6 +68,7 @@ #include "llstatusbar.h" #include "llteleportflags.h" #include "lltool.h" +#include "lltoolbarview.h" #include "lltoolpie.h" #include "lltoolmgr.h" #include "lltrans.h" @@ -1862,6 +1863,7 @@ void LLAgent::endAnimationUpdateUI() // clean up UI from mode we're leaving if (gAgentCamera.getLastCameraMode() == CAMERA_MODE_MOUSELOOK ) { + gToolBarView->setToolBarsVisible(true); // show mouse cursor gViewerWindow->showCursor(); // show menus @@ -1972,6 +1974,7 @@ void LLAgent::endAnimationUpdateUI() if (gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK) { // hide menus + gToolBarView->setToolBarsVisible(false); gMenuBarView->setVisible(FALSE); LLNavigationBar::getInstance()->setVisible(FALSE); gStatusBar->setVisibleForMouselook(false); diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index f195c985c08..27e9aa32f24 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -2040,7 +2040,9 @@ void LLAgentCamera::resetCamera() //----------------------------------------------------------------------------- void LLAgentCamera::changeCameraToMouselook(BOOL animate) { - if (!gSavedSettings.getBOOL("EnableMouselook") || LLViewerJoystick::getInstance()->getOverrideCamera()) + if (!gSavedSettings.getBOOL("EnableMouselook") + || LLViewerJoystick::getInstance()->getOverrideCamera() + || !gViewerWindow->getUIVisibility()) { return; } diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 665b31a427e..92dc352cf44 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -4987,11 +4987,13 @@ void LLViewerWindow::setUIVisibility(bool visible) gToolBarView->setToolBarsVisible(visible); } + mRootView->getChildView("topinfo_bar_container")->setVisible(visible); mRootView->getChildView("nav_bar_container")->setVisible(visible); mRootView->getChildView("status_bar_container")->setVisible(visible); if (!visible) { + gAgentCamera.changeCameraToDefault(); gFloaterView->hideAllFloaters(); } else diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml index ab6fa36e6cb..7a8e872dc96 100644 --- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml @@ -188,10 +188,12 @@ <more_button follows="left|bottom" name=">>" - tab_stop="false" - tool_tip="Show more of My Favorites" - top="15" - width="50"> + tab_stop="false" + tool_tip="Show more of My Favorites" + top="13" + width="50" + bottom="0" + valign="bottom"> More ▼ </more_button> </favorites_bar> -- GitLab From 9f682772d93b4530ad7bcbf52adb2300cd91cd4d Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 20:45:50 -0700 Subject: [PATCH 190/213] EXP-1323 FIX Mouselook text "Press ESC to return to World View" overlaps with bottom toolbar if mode is icon only fixed popping out of mouselook when turning off UI --- indra/newview/llviewerwindow.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 92dc352cf44..b8715bfa5b9 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -4982,24 +4982,24 @@ void LLViewerWindow::setUIVisibility(bool visible) { mUIVisible = visible; - if (gToolBarView) - { - gToolBarView->setToolBarsVisible(visible); - } - - mRootView->getChildView("topinfo_bar_container")->setVisible(visible); - mRootView->getChildView("nav_bar_container")->setVisible(visible); - mRootView->getChildView("status_bar_container")->setVisible(visible); - if (!visible) { - gAgentCamera.changeCameraToDefault(); + gAgentCamera.changeCameraToThirdPerson(FALSE); gFloaterView->hideAllFloaters(); } else { gFloaterView->showHiddenFloaters(); } + + if (gToolBarView) + { + gToolBarView->setToolBarsVisible(visible); + } + + mRootView->getChildView("topinfo_bar_container")->setVisible(visible); + mRootView->getChildView("nav_bar_container")->setVisible(visible); + mRootView->getChildView("status_bar_container")->setVisible(visible); } bool LLViewerWindow::getUIVisibility() -- GitLab From 5e85afeda9200e8c8b4f2f05b13542c170c02d52 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Thu, 13 Oct 2011 21:09:16 -0700 Subject: [PATCH 191/213] EXP-1321 FIX 3-way toolbar button functionality not enforced on "Profile" button. --- indra/newview/llviewermenu.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 5d215c7f6d8..2de70c52c7e 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3115,7 +3115,8 @@ void handle_avatar_eject(const LLSD& avatar_id) bool my_profile_visible() { - return LLAvatarActions::profileVisible(gAgent.getID()); + LLFloater* floaterp = LLFloaterReg::findInstance("profile", LLSD().with("id", gAgent.getID())); + return floaterp && floaterp->isInVisibleChain(); } bool enable_freeze_eject(const LLSD& avatar_id) -- GitLab From 7c37132bf87c0c2bf8d7d7f2b6f8624c5160e9e8 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Fri, 14 Oct 2011 00:20:24 -0700 Subject: [PATCH 192/213] EXP-1272 FIX Move "How To" to a separate web floater --- indra/newview/app_settings/commands.xml | 3 +-- indra/newview/llviewerfloaterreg.cpp | 2 +- indra/newview/llviewermenu.cpp | 5 +++-- indra/newview/skins/default/xui/en/floater_search.xml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 7c6468459c0..9d4d268075c 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -88,8 +88,7 @@ label_ref="Command_HowTo_Label" tooltip_ref="Command_HowTo_Tooltip" execute_function="Help.ToggleHowTo" - is_running_function="Floater.IsOpen" - is_running_parameters="help_browser" + is_running_function="Help.HowToVisible" /> <command name="inventory" available_in_toybox="true" diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b5ed8b04bc4..e5a80f24208 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -289,7 +289,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("snapshot", "floater_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSnapshot>); LLFloaterReg::add("search", "floater_search.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSearch>); LLFloaterReg::add("profile", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); - LLFloaterReg::add("how_to", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); + LLFloaterReg::add("how_to", "floater_how_to.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create); LLFloaterUIPreviewUtil::registerFloater(); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 2de70c52c7e..3dd5d26b6dd 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -4526,7 +4526,7 @@ bool enable_how_to_visible(const LLSD& param) { LLFloaterWebContent::Params p; p.target = "__help_how_to"; - return LLFloaterReg::instanceVisible(param, p); + return LLFloaterReg::instanceVisible("how_to", p); } class LLToolsEnableBuyOrTake : public view_listener_t @@ -6894,9 +6894,10 @@ class LLToggleHowTo : public view_listener_t { LLFloaterWebContent::Params p; p.url = gSavedSettings.getString("HowToHelpURL"); + p.show_chrome = false; p.target = "__help_how_to"; - LLFloaterReg::toggleInstanceOrBringToFront(userdata, p); + LLFloaterReg::toggleInstanceOrBringToFront("how_to", p); return true; } }; diff --git a/indra/newview/skins/default/xui/en/floater_search.xml b/indra/newview/skins/default/xui/en/floater_search.xml index b6fc7f150cc..896532e26b8 100644 --- a/indra/newview/skins/default/xui/en/floater_search.xml +++ b/indra/newview/skins/default/xui/en/floater_search.xml @@ -8,7 +8,7 @@ min_height="400" min_width="500" name="floater_web_content" - help_topic="floater_web_content" + help_topic="search" save_rect="true" save_visibility="true" title="" -- GitLab From 667c241177b9a23c305816fafb4feb81b0a93ba0 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 10:31:00 -0700 Subject: [PATCH 193/213] * Changed "Buy L$" and "Shop" buttons to gray per design. * Removed "marketplace" button from toybox and default toolbar configuration --- indra/newview/app_settings/commands.xml | 2 +- indra/newview/app_settings/toolbars.xml | 3 +-- .../skins/default/textures/textures.xml | 1 + .../skins/default/xui/en/panel_status_bar.xml | 18 +++++++++--------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 9d4d268075c..3d3c13f5d81 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -111,7 +111,7 @@ is_running_parameters="world_map" /> <command name="marketplace" - available_in_toybox="true" + available_in_toybox="false" icon="Command_Marketplace_Icon" label_ref="Command_Marketplace_Label" tooltip_ref="Command_Marketplace_Tooltip" diff --git a/indra/newview/app_settings/toolbars.xml b/indra/newview/app_settings/toolbars.xml index 8eb438b857c..f2192a75ad4 100644 --- a/indra/newview/app_settings/toolbars.xml +++ b/indra/newview/app_settings/toolbars.xml @@ -18,8 +18,7 @@ <command name="inventory"/> <command name="search"/> <command name="places"/> - <command name="marketplace"/> <command name="voice"/> <command name="minimap"/> </left_toolbar> -</toolbars> \ No newline at end of file +</toolbars> diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index ab1a8f09904..53a5de0189e 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -461,6 +461,7 @@ with the same filename but different name <texture name="PushButton_Off" file_name="widgets/PushButton_Off.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_On" file_name="widgets/PushButton_On.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_On_Selected" file_name="widgets/PushButton_On_Selected.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> + <texture name="PushButton_Over" file_name="widgets/PushButton_Over.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_Press" file_name="widgets/PushButton_Press.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_Selected" file_name="widgets/PushButton_Selected.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_Selected_Press" file_name="widgets/PushButton_Selected_Press.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index c983e0792a7..422bbada7ff 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -36,7 +36,7 @@ <panel height="18" left="-370" - width="150" + width="160" top="1" follows="right|top" name="balance_bg" @@ -60,9 +60,9 @@ halign="center" font="SansSerifSmall" follows="right|top|bottom" - image_hover_unselected="buy_over" - image_unselected="buy_off" - image_pressed="buy_press" + image_hover_unselected="PushButton_Over" + image_unselected="PushButton_Off" + image_pressed="PushButton_Press" height="18" label="Buy L$" label_color="White" @@ -81,9 +81,9 @@ imgoverlay_label_space="7" image_overlay="Command_MiniCart_Icon" image_overlay_alignment="left" - image_hover_unselected="buy_over" - image_unselected="buy_off" - image_pressed="buy_press" + image_hover_unselected="PushButton_Over" + image_unselected="PushButton_Off" + image_pressed="PushButton_Press" height="18" label="Shop" label_color="White" @@ -92,9 +92,9 @@ name="goShop" pad_right="0" pad_bottom="2" - tool_tip="Go shopping" + tool_tip="Open Second Life Marketplace" top="0" - width="55" /> + width="65" /> </panel> <text type="string" -- GitLab From aa7245fa2b5441285d2de384a9629782456af88a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 11:46:38 -0700 Subject: [PATCH 194/213] EXP-1361 FIX -- Repositioning Viewer Window on mac triggers click to walk * Mouse clicks outside the root view are now discarded before they can cause problems. Reviewed by Richard --- indra/newview/llviewerwindow.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index b8715bfa5b9..0873e4f6ea3 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -938,6 +938,11 @@ BOOL LLViewerWindow::handleAnyMouseClick(LLWindow *window, LLCoordGL pos, MASK // } //} + // Mark the click as handled and return if we aren't within the root view to avoid spurious bugs + if( !mRootView->pointInView(x, y) ) + { + return TRUE; + } // Give the UI views a chance to process the click if( mRootView->handleAnyMouseClick(x, y, mask, clicktype, down) ) { -- GitLab From b1fa752282408abb3f8f665453d256c2f6f21e15 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 12:13:49 -0700 Subject: [PATCH 195/213] EXP-1368 FIX -- Crash on Exit in FUI viewer --- indra/newview/llappviewer.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 5d2b900510c..20fa26915b3 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -4293,10 +4293,7 @@ void LLAppViewer::idle() return; } - if (!quitRequested()) - { - gViewerWindow->updateUI(); - } + gViewerWindow->updateUI(); /////////////////////////////////////// // Agent and camera movement -- GitLab From 59c45442a121a56918409fcaa6364937374014ad Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 12:45:35 -0700 Subject: [PATCH 196/213] EXP-1372 PROGRESS -- Places and Appearance floaters minimum sizes are different from other fui floaters --- indra/newview/skins/default/xui/en/floater_my_appearance.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/floater_my_appearance.xml b/indra/newview/skins/default/xui/en/floater_my_appearance.xml index 74c4e228419..d9f3f1e13f6 100644 --- a/indra/newview/skins/default/xui/en/floater_my_appearance.xml +++ b/indra/newview/skins/default/xui/en/floater_my_appearance.xml @@ -11,7 +11,7 @@ save_rect="true" single_instance="true" title="APPEARANCE" - min_height="230" + min_height="260" min_width="333" width="333"> <panel -- GitLab From 1d53e59befeea6547567b9f6e3c254846048250c Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 12:51:42 -0700 Subject: [PATCH 197/213] EXP-1369 FIX Click to walk pan icon shown and action when click, holding, and dragging on top of UI chrome --- indra/newview/skins/default/xui/en/main_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 2c07e8e35fb..4d3d431b3a7 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -22,7 +22,7 @@ name="menu_stack" orientation="vertical" top="0"> - <layout_panel mouse_opaque="false" + <layout_panel mouse_opaque="true" follows="left|right|top" name="status_bar_container" tab_stop="false" -- GitLab From 0d215ba34fa479bd1a9c0b589c2f1e42448dfe63 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 13:10:02 -0700 Subject: [PATCH 198/213] EXP-1323 FIX Mouselook text "Press ESC to return to World View" overlaps with bottom toolbar if mode is icon only made mouselook work when hiding ui by unhiding UI first --- indra/newview/llagentcamera.cpp | 5 ++--- indra/newview/llviewermenu.cpp | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 27e9aa32f24..751b73e1eb0 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -2041,12 +2041,11 @@ void LLAgentCamera::resetCamera() void LLAgentCamera::changeCameraToMouselook(BOOL animate) { if (!gSavedSettings.getBOOL("EnableMouselook") - || LLViewerJoystick::getInstance()->getOverrideCamera() - || !gViewerWindow->getUIVisibility()) + || LLViewerJoystick::getInstance()->getOverrideCamera()) { return; } - + // visibility changes at end of animation gViewerWindow->getWindow()->resetBusyCount(); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 3dd5d26b6dd..cfbe32a871c 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6896,6 +6896,7 @@ class LLToggleHowTo : public view_listener_t p.url = gSavedSettings.getString("HowToHelpURL"); p.show_chrome = false; p.target = "__help_how_to"; + p.show_page_title = false; LLFloaterReg::toggleInstanceOrBringToFront("how_to", p); return true; -- GitLab From 32e7a0d52262896c424fa77009a7f454d606322b Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 13:10:15 -0700 Subject: [PATCH 199/213] EXP-1323 FIX Mouselook text "Press ESC to return to World View" overlaps with bottom toolbar if mode is icon only made mouselook work when hiding ui by unhiding UI first --- indra/newview/llagent.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index edb536d337c..5fc95f123a7 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -1973,7 +1973,11 @@ void LLAgent::endAnimationUpdateUI() //--------------------------------------------------------------------- if (gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK) { - // hide menus + // clean up UI + // first show anything hidden by UI toggle + gViewerWindow->setUIVisibility(TRUE); + + // then hide stuff we want hidden for mouselook gToolBarView->setToolBarsVisible(false); gMenuBarView->setVisible(FALSE); LLNavigationBar::getInstance()->setVisible(FALSE); -- GitLab From 172662ce2a456b76d5c748ea9c5f3f2b4c6f3b2b Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 13:49:48 -0700 Subject: [PATCH 200/213] EXP-1272 FIX Move "How To" to a separate web floater fixed title of how to window to always say "How To" instead of showing url --- indra/newview/llfloaterwebcontent.cpp | 17 +++++++++++------ indra/newview/llfloaterwebcontent.h | 18 ++++++++++-------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index c76aeb0498a..f410c31f44f 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -48,13 +48,15 @@ LLFloaterWebContent::_Params::_Params() show_chrome("show_chrome", true), allow_address_entry("allow_address_entry", true), preferred_media_size("preferred_media_size"), - trusted_content("trusted_content", false) + trusted_content("trusted_content", false), + show_page_title("show_page_title", true) {} LLFloaterWebContent::LLFloaterWebContent( const Params& params ) : LLFloater( params ), LLInstanceTracker<LLFloaterWebContent, std::string>(params.id()), - mUUID(params.id()) + mUUID(params.id()), + mShowPageTitle(params.show_page_title) { mCommitCallbackRegistrar.add( "WebContent.Back", boost::bind( &LLFloaterWebContent::onClickBack, this )); mCommitCallbackRegistrar.add( "WebContent.Forward", boost::bind( &LLFloaterWebContent::onClickForward, this )); @@ -359,10 +361,13 @@ void LLFloaterWebContent::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent { std::string page_title = self->getMediaName(); // simulate browser behavior - title is empty, use the current URL - if ( page_title.length() > 0 ) - setTitle( page_title ); - else - setTitle( mCurrentURL ); + if (mShowPageTitle) + { + if ( page_title.length() > 0 ) + setTitle( page_title ); + else + setTitle( mCurrentURL ); + } } else if(event == MEDIA_EVENT_LINK_HOVERED ) { diff --git a/indra/newview/llfloaterwebcontent.h b/indra/newview/llfloaterwebcontent.h index 36e214b7a98..6fc66d1ad8c 100644 --- a/indra/newview/llfloaterwebcontent.h +++ b/indra/newview/llfloaterwebcontent.h @@ -53,7 +53,8 @@ class LLFloaterWebContent : id; Optional<bool> show_chrome, allow_address_entry, - trusted_content; + trusted_content, + show_page_title; Optional<LLRect> preferred_media_size; _Params(); @@ -91,13 +92,14 @@ class LLFloaterWebContent : void open_media(const Params& ); void set_current_url(const std::string& url); - LLMediaCtrl* mWebBrowser; - LLComboBox* mAddressCombo; - LLIconCtrl *mSecureLockIcon; - LLTextBox* mStatusBarText; - LLProgressBar* mStatusBarProgress; - std::string mCurrentURL; - std::string mUUID; + LLMediaCtrl* mWebBrowser; + LLComboBox* mAddressCombo; + LLIconCtrl* mSecureLockIcon; + LLTextBox* mStatusBarText; + LLProgressBar* mStatusBarProgress; + std::string mCurrentURL; + std::string mUUID; + bool mShowPageTitle; }; #endif // LL_LLFLOATERWEBCONTENT_H -- GitLab From 93ed1489a5da6781c6bdd5ee2263e6b6147835c8 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 13:54:33 -0700 Subject: [PATCH 201/213] EXP-1366 FIX UI Hints available from Help > Enable Hints menu --- indra/newview/skins/default/xui/en/menu_viewer.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 833e8b9f32a..d65deb87ec3 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1145,14 +1145,6 @@ function="ShowHelp" parameter="f1_help" /> </menu_item_call> - <menu_item_check - label="Enable Hints" - name="Enable Hints"> - <on_check - control="EnableUIHints"/> - <on_click - function="ToggleUIHints"/> - </menu_item_check> <!-- <menu_item_call label="Tutorial" name="Tutorial"> -- GitLab From c224e589d072e733ec5b95f95b3770d5bf0584f0 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 14:23:06 -0700 Subject: [PATCH 202/213] EXP-1272 FIX Move "How To" to a separate web floater added missing file and updated size of floater --- indra/llui/llfloater.cpp | 4 +++- indra/newview/llviewermenu.cpp | 1 + .../skins/default/xui/en/floater_how_to.xml | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 indra/newview/skins/default/xui/en/floater_how_to.xml diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index fa533e81532..d1d840729d6 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -3048,7 +3048,9 @@ bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::str return FALSE; } - parser.readXUI(referenced_xml, params, LLUICtrlFactory::getInstance()->getCurFileName()); + Params referenced_params; + parser.readXUI(referenced_xml, referenced_params, LLUICtrlFactory::getInstance()->getCurFileName()); + params.fillFrom(referenced_params); // add children using dimensions from referenced xml for consistent layout setShape(params.rect); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index cfbe32a871c..10563971b30 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6897,6 +6897,7 @@ class LLToggleHowTo : public view_listener_t p.show_chrome = false; p.target = "__help_how_to"; p.show_page_title = false; + p.preferred_media_size = LLRect(0, 460, 335, 0); LLFloaterReg::toggleInstanceOrBringToFront("how_to", p); return true; diff --git a/indra/newview/skins/default/xui/en/floater_how_to.xml b/indra/newview/skins/default/xui/en/floater_how_to.xml new file mode 100644 index 00000000000..0369ecbeff4 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_how_to.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="18" + can_resize="true" + can_minimize="true" + height="775" + layout="topleft" + min_height="360" + left="10000" + top="10" + min_width="335" + name="floater_how_to" + single_instance="true" + save_rect="true" + title="HOW TO" + width="780" + filename="floater_web_content.xml"/> \ No newline at end of file -- GitLab From 93b6be6288036681c583e23be3b43ed23732352c Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 14:46:21 -0700 Subject: [PATCH 203/213] New icon love for FUI --- indra/llui/llbutton.cpp | 2 +- .../textures/toolbar_icons/mini_map.png | Bin 1645 -> 1766 bytes .../textures/toolbar_icons/nearbyvoice.png | Bin 3160 -> 1460 bytes .../textures/toolbar_icons/preferences.png | Bin 1427 -> 1587 bytes .../default/textures/toolbar_icons/view.png | Bin 1618 -> 1487 bytes 5 files changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 3572d18860d..64fd14ecc9d 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -817,7 +817,7 @@ void LLButton::draw() LLColor4 overlay_color = mImageOverlayColor.get(); if (!enabled) { - overlay_color.mV[VALPHA] = 0.5f; + overlay_color.mV[VALPHA] = 0.3f; } else if (!getToggleState()) { diff --git a/indra/newview/skins/default/textures/toolbar_icons/mini_map.png b/indra/newview/skins/default/textures/toolbar_icons/mini_map.png index b66af223bb27c0b1f6a6de76d4009a740436b8f7..ab0a6540563a128313e4437fec57cee2eed02097 100644 GIT binary patch delta 1161 zcmaFM^Ne?bCu7D$ugMCA3T7sHh9(A<CYCx1Mh1ok`i4gO2Ijhk23Dr#RtAO>|CUUi z#h5ZVi&3+_z}MHxzbG?3GcPg6B|o_|H#M)s)5TV)BDX*<B{Rj!$;86M&CSHw$;rsn z%)-#n$=Sus!r9rv&DGr0!ra1KNdc%5Xa+XDrp|7T7N%~lF6OQ#hK8;NPR7oz7Orjv zCP1A|P6if0y_0pBBo(0QTyUwI{EJbIN6%2fH!(RguOz=XWAY*<gBVjIHv@AgGglW^ zBQxwSD=rC2O|wcN!&j5_n4Rj~txtC`FffaFx;TbZ+$sr)^$1Rsu$z~9<C0Ehj!J7s zO2?vS{432b_IiKhUvq$KZDr!dPhLt*DyKQR1d<b<EpqKxd1LCdw!2rBIZbK0X_Q@@ zoSj|lXD(W5Z@a!GeN8L7+_~Sj_dnbH-uHda`$bHR4B|iEJoqWH$EeXoq4A<#{Q)MQ zpG=KA{}(CoXsmpdR$TncwN=SiYpPsdU!UKiy=Tw*F20*Lzjj&Jc?WaeSEf9%3sbBF z8=voJ{`BaPSpV_Qtl6>`IG!+U<gx6zT)Fq&`6aIB6cytQZkDfH_>i>N69hp3_Wz z%)LA!@~NFmm+V~>Vz=bZgo~a#_hjbgzGbg}6q56XF-v~y_VU{~+sf<q-+%D=XHVGb z(k~mmt~T%eyhKs=X~4T_g0kmRj9zZkaM#h&(b$n^B9)$yz_gq}s6oWRbI!qp8EU+l z2Tz_&`)vN{LEiQ)Cc1ihbxPNnjcyjsIkaozMn_Yx1_d#TV;e%X-_-u-ZQn9w^M(x{ zCfe-i{8<0-yIA*At%<dJ_cB|&lRqNlb>`HWJzuwM{><B$l&01^vwO>w<~voN9z1*g z{P_k8CzV$T&Na=CPIYx{TDnw~|B*st(xVLi+yyGSNA;#_b1waH(o%-+_mwA4@{~TR z)>y4IoB!zJM#HHIN)3f~CinI6TnegLxK5Aldhv&h9S>H%%BnZ~DsujFVAj?u{i81> zCAXb;Cu*@bZoXesS77i=50y`!cdTE!Xw#+%C$3(-y8h<Pn_FMpk=PiqhKsE^?O;pN zqYdgO&z`kyUp7b8PGA51kzc=d%`D!1_w1{6dc0gGAFoKCHhubA&66juGzhJE+-TKS z@#xg)Q|}%(S6qyqzLNFV?_X{80rRS_Oz8Am9xN{}9_~`!wm|yrhrL^tEa5%mlE}i5 zo}IPsp-SEr_wKD8S`$x%hlS0#GDk+c==bV*^XgPC*}P?W$MEIor^CG$CggvVOSGM4 zW@Ka26XToV(hzHL@(Opa+hMna`W=oEE;)SN@3w8TbFclHvtVa|;8mCQ-+ouLMa;h5 zmYCR?l2PzMReIr-`epV^U&1eLn=3ehjb{VD;G_Rs1`HQo-q^FhSpGT#5O})!xvX<a GXaWF<2>wC< delta 994 zcmaFH`<7>dC!^9tugMAq3TB3ShQ=o5=H@yIMh1ok`UXb&hDN%E=2pf=Rt5$W|CUU? z!>BYli!pohE+!=|1>eNv%)FBP;*7~vOfm{?ZkA?F=8opBmL`sdhOP!qmKM$y1}=_f z7OpO?7RH8??GTDAa4LGiWB@bC6sIB!X1H}`I2DyJJJoLsoFK};!1U15#WAGf)|!xb zkIR7~_pWU5iE`^y*qo#^xmRrU#_0znLY$i|yVG{0d|tVzU8ee_q6WvILvd=nSrROE ztac|7>XoLp9a?f^%d<KAER=jMnx(z^_q{e-+PS9W!{2v1pVvI!{d`{a41?Kcx%eK1 zA3Ptoanq(vk0YcS>UjcYmLHd7s!KJR>7f~~A@WaLOHkvuQmKVZ@7}$8y>4`dXq6h3 zC%GQY@8aX-t!38dvF12f64-N9KxCrV(pNKQ&eZ<!f6cme^Nv>etPPV_y7>P4@(nJJ zKkiVP>(@Qi>*?_XgBQysv`=*=C{H+<qBS9opNHp!2v=)eZS7y#KXLU57XAKTOwG+- zpHvLjn;xH%w{F6pseTnU^X7g0`0@Gf-Mg;`Tvd)a$^G9rL8X8B7gnZ5b!%(usG?ZC z=@WN0IW5jLiw-xM`NmAD_pL={SxL#3z~z_k#z#lbK45Cbc}rGS_WPZ@?~yX!=EgiT zF#jI$r^RWZxyHtt#KeQWTSb>h*DD-V$a?+${eIsIekwwN#|~tkFFrjpTEyw{y+u0? zU(7H$Vy&;M>+7mCF|qkzL1|UhE$0hu?`@Nx9EeNeEADnWefo6Y&YhNp7Bce`IBjoy z`B}4lL;B>+EV;iVl+#N~zj7DPh|V#qns9{s&rxGJ$Iqu6{%qc{<3><;xVXj{&)VAh zzx=->PM?ofEuNu$!e2|>xcfm_ZtmNQ%a$#hwrbTX!M$<!TO}7=D0N`3-n4o1X6cRm zGZZ6zeR<E{IksR~_xf#Hw|>2mVifD<{CiK_df(Mo=N&w0_h$bmDVCgbS3{zsZ)X-6 zaPgl_E7o3@rTLAcrETieso_$+ZcW!`ZMpq6Y@$bf3FAL+R>cQXT$CpA^YMLa{2aM7 zsB_|Hp}N480)^>0Id9fo&9Y^`y>;WpM18@NielZ78?AK3x(~f9nUyHbH91zx#b(C* z`R@<*o-dyFjca4kks~wmgm<$3uXAc)tJv7@!D#+n&WZP-<KK;cg%cRUPd5D(Ut%7^ P00f?{elF{nof4V=eC(;^ diff --git a/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png index 46e299cb94235afffdf70d3c3c3b7b2e852c2815..22d88af352496bc05d717e828447033dbfc15c31 100644 GIT binary patch literal 1460 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%o&*>5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W~g9hqGxDg zU}<8hqhMrUXrOOsq;FuZYiM9)YHnp<r~m~@K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mih)p`bI{&Koz>hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT-VtFWlg~VrW1CgG|37u|VHY&p<yn7vwLn>f(~1RD?6IsxA(xEJ)Q4 zN-fSWElLK)N18HBGcfG%TLe-Fbd8mNQ6?}_5_4SglS^|`^GZBjY?XjAdMTMHR!$}s zCT?yf&Q4B7re+p~hEC2dW){xQ7H+QQrWWQF<}fp`>UDN=F>^98bTM}^HZ*iKa58pw zwQzMaFahdxax$=h>GjMjE=kNwPKDW<39=WW*8s0xE9aur#FG4?ko^1{SPBTp$S=t+ z&d4uNa1J)rGgR<ROwP;$iGU&q;$N54qRg_?6t|-MTm^6lTV-N#fvJ(3fw_~JtBb3V z8FrsT^rny#YWhIO=!236QgVR_0n;Fe2~Ye$4m|s$<^l6e5ioPyesJzS0|VnDPZ!6K zid#v4et#EdHf7*8b4*J!lT%1#JMzjwhwq5O?Kq~7vI=&rTmD$LsZHpfU??E*^3|&? z?{9BU|NH#Bd>-@BfB*meef)a1x&Hb!vAe65uUh5B8_=uMW@qBON6mNE2DT-FC+>3` z$#lqJJEG_i!+zxa{<^<ktnBRa*iIac;ALVu{`dEHxnG~3Ketx6FMZcdBaQ7*)&$qh zX=iV=<Vc(mxOjDS_`ClfAHP;si05lpJaL0F<wlR><!uaKKON>hb;84+dDjzt4@SYZ z0|gcrHr!`q{P%IgjPzT3tB*gtzCM19+Cc$>e;*#ceYLl`T$Xj_!37Hx^cj2R>K||@ zVd3I9G^dN7nNeQgGsDee4z=-)X&atAeJTY^Ykwa<cwmu|oqhS+>+AY%30A9Ew0?DK zf0UG#4rM&dIAxkt<171yGYJ~n+Oc(ie_gFsn7yy&=a09)zv~}3@at&Xc~=F~_xJbz z<VcdYE_)($g2yeOsX6Kh$B`2`Y%(k7aXz_K4-7T-UoD)=+B>h<Jbm@*6z8=QM_Q63 zg*W*gk(e?;;CS<rcFCIx1q+yj#f=TwA|oUJI-OcxVB6zyl;iXN|NrBSjg0CTHckC7 zgEi>8h(|r+s?dXJ0vsHTA`acWH4XBwChPCuQIck0kzjbKc|AVnW2p(K9QAbdb6Mw< G&;$UuI~G^~ delta 3155 zcmV-Z46O6C3)mQtB!3BTNLh0L01FcU01FcV0GgZ_000V4X+uL$P-t&-Z*ypGa3D!T zLm+T+Z)Rz1WdHzp+MQEpR8#2|J@?-9LQ9B%luK_?6$l_wLW_VDktQl32@pz%A)(n7 zQNa;KMFbnjpojyGj)066Q7jCK3fKqaA)=0hqlk*i`{8?|Yk$_f_vX$1wbwr9tn;0- z&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~HK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu z(+dayz)hRLFdT>f59&ghTmgWD0l;*TI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4- z;{Z@C0AMG7=6}-wfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-i zEdVe{S7t~6u(trf&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@ znX){&BsoQaTL>+22Uk}v9w^R97b_GtVFF>AKrX_0nSU8Ffiw@`^UMGMppg|3;Dhu1 zc+L*4&dxTDwhmt{>c0m6B4T3W{^ifBa6kY6;dFk{{wy!E8h|?nfNlPwCGG@hUJIag z_lst-4?wj5py}FI^KkfnJUm6Akh$5}<>chpO2k52Vaiv1{%68pz*qfj`F=e7_x0eu z;v|7GU4MZ`1o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcqjPo+3 zB8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S1Au6Q z;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO0Dk~Ppn)o|K^yeJ7%adB9Ki+L!3+Fg zHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_vKpix|QD}yfa1JiQRk#j4a1Z)n2%f<x zynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxWizFb)h!jyGOOZ85F;a?DAXP{m@;!0_ zIe&*-M!JzZ$N(~e{D!<oF_eL_Q9aZQwL`h6HyVUSq6^SubTOKb7NDEZa<m#fj5eX? z(5q+<+K)a%$1uR?7zZ=NY%ngy!$Pq*ED4ii%dsM?46DW(uvV-CyNUH<&#`v|5`jg) z2{r_GLLgxtK}c9kSWehTs3069G!fbfH-8BOgi*pLB9o{~v?jU{`NSAvGBJl(NGv1P z5|0xv5POJ2#5W`oi9<3cxsU=$v7}Ve64FM}Zc-!ZEUB9`NE#!P$=YOVvIjYoEFde$ zh2)*&!{jsM8{{GKTMC_GKyjq_Q{pI6%4$j(<q+jG<pyP#GC@_Nno`}Up;QqykAGT1 zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWw<V8OKyGH!<s&=a~<gZ&g?-wkmuTk;)2{N|h#+ z8!9hUsj8-`-l_{#^Hs}KkEvc$eSfY-RWnoLsR`7Ut5vF<Q0r40Q)j6=sE4X&sBct1 zq<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0b%8a+Cb7-ge0D0knEf5Qi#@8T zp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6ODdH&`rZh~sF=bq9s(+T3mRPGu zt5K^*>%BIv?Wdily+ylO`+*KY$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBU zM0dY#r|y`ZzFvTyOmC;&dA;ZQ9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe* z@liuv!$3o&VU=N*;e?U7(SJOn)kcj*4~%KXT;n9;ZN_cJqb3F>Atp;r>P_yNQcbz0 zDW*G2J50yT%*~?B)|oY%Ju%lZ=bPu7*PGwBU|M)uEVih&xMfMQ<XWa#?zX&cg<3gT zrC3#3U9(25ovkI-yREyY5vRFMlTNFi)@Q@8@wUmfska%h<=6(>u79>|wtZn|Vi#w( z#jeBdlf9FDx_yoPJqHbk*$%56S{;6Kv~m<WRyy9A&YbQ)eZ};a=`Uwk&k)bpGvl@s z%PGWZol~3BM`ssjxpRZ_h>M9!g3B(KJ}#RZ#@)!h<Vtk)ab4kh()FF2vzx;0sN1jZ zHtuQehuojcG@mJ+S${Kg(8I_>;8Eq#KMS9gFl*neeosSBfoHYnBQIkwkyowPu(zdm zs`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMeBmZRodjHV?r+_5^X9J0W zL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0?0=B0A@}E)&XLY(4uw#D z=+@8&Vdi0r!+s1Wg@=V#hChyQh*%oYF_$%W(cD9G-$eREmPFp0XE9GXuPsV7Dn6<% zYCPIEx-_~!#x7=A%+*+(SV?S4962s3t~PFLzTf=q^M~S{;tS(@7nm=|U2u7!&cgJC zrxvL$5-d8FKz~e#PB@hCK@cja7K|nG6L%$!3VFgE!e=5c(KgYD*h5?@9!~N|DouKl z?2)`Rc_hU%r7Y#SgeR$xyi5&D-J3d|7MgY-Z8AMNy)lE5k&tmhsv%92wrA>R=4N)w ztYw9={>5&Kw=W)*2gz%*kgNq+Eef_mrsz~!DAy_nvVUh~S7yJ>iOM;atDY;(?aZ^v z+mJV$@1Ote62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~p zu715HdQEGAUct(O!L<Qv>kCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$ z+<4_1hktL%znR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX4c}I@?e+FW+b@^R zDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i&_B8C(+grT%{XWUQ z+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?SIDu(gXbmBM!FLxzyDi(mhmCkJc;e zM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4Q zQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6 z=YM0)-)awU@466l;nGF_i|0GMJI-A4xODQe+vO8ixL2C5I$v$-bm~0*lhaSfyPUh4 zuDM)mx$b(swR>jw=^LIm&fWCAdGQwi*43UlJ>9+YdT;l|_x0Zv-F|W>{m#p~*>@-I zt-MdXU-UrjLD@syht)q@{@mE_+<$7ocYmPs(cDM(28Dyq{*m>M4?_iynUBkc4TkHU zI6gT!;y-fz>HMcd&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M z!p0uH$#^p{Ui4P`?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&Gk-1H z0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F}0004lNkl<Z zc-qXAu}cC`9LIm}&h*fNlxT_Y#DZ`QthN8ZmO!wrEpiQ{L1>fv7hDS(T3ou#C0zm& zNkWJ_L<s8epoe-#cYIrv%nUtn=zjxmc|U$1c)$03j{%@XAkczXn1}$7$K&l1(FqZ) z|LC6~QYJT4RaNTs`g10eIiFXg;JXkZq5~pYa~$UqfLX0pAH(7B<}8tdAw)#ETrO2C z7R%{$ItxJJoYySNG75#l=`@itS{Q?fh;x1hz$}-`4@BhGG%X9jER{+(zkfvdgW((^ zhG9HemSyDg`He=Su{RhD-de3zZPY*4^)tr0olfT^5D19LWO7B<b+g~^TaqOCz2?Z@ z?RJ-mh@#QxXS>~&T-RlSAb1O;EX#+oEXQ2ebrOlhJLh~W6bc1=KHtYL5gTJtRH;;s zVzJn&ZQCki%o0U06$}QK08HG^O!maEj{)2Q*pA2JDP7k!+qPc;?9Y{KOer**&1(Q= tuh+Zs@<gV|F96&D*clhGfA=4K4FEc0SS-%SMT`Id002ovPDHLkV1jBp=~Vy# diff --git a/indra/newview/skins/default/textures/toolbar_icons/preferences.png b/indra/newview/skins/default/textures/toolbar_icons/preferences.png index df80d926b583a0fe3b25041f0ea024dc8ace6bb6..4ccd7b8ae1eb24466c9eaeee91ae28498c92ae2c 100644 GIT binary patch delta 970 zcmbQty_si%Cu7<~ugMCA3T7sHh9(A<CYCx1Mh1ok`i4gO2Ijhk23Dr#RtAO>|CUUi z#h5ZVi&3+_z}MHxzbG?3GcPg6B|o_|H#M)s)5TV)BDX*<B{Rj!$;86M&CSHw$;rsn z%)-#n$=Sus!r9rv&DGr0!ra1KNdc%5Xa-ij&TcMdPR1@S<}SvDhOP!q#?G!5u5Jb< zK%Gub1{OfQlXaOS6`UaIoN=j}{EN|W@?s|a7-u(A6DK1J6GL+&1CV1Z%njX~4NT1q zTwDxXom_y9DJ}_0O|wcN!y}XRn4Rj4p0xdDU|>r2ba4!+xV2`AZ%0s|$Z_|x5;MIx z&J-F41?ZVXiSR5^(D3kEtuRwU<(9;j6S3VZ62*4vY)akYk*0cW%@!BeqrIwEJenme zTr_XJSaE)RV9K8v|I#atT|RcqRlM%~z4CK=pZ`0*^SkZ61cMnr!ykYC`S}IQ0`_;! z>GcnEZXAwEvv_~xjN#d|&AR4Ny`Lktye_f2z9s7Ix}cSN?!5nQe`xQ&bR|tIt}Uzu zwi7*ER$a|fp6XTG{x=~zTl;R-)>|7Ra+v?A8u))!*ZNdp)2%e|1!MnlYjv@1f8mty zl_BCQ+ZS<9^mrm@R@rs^kcw%OgTjWUDXW$=J=NV&&%Vbwdh^YcKXvviAIVFeNHOwU z6ZU#`ja~c_)}1kWC%%ezANAc7yen<<zP=FARR%-T1JdHU(Ee7onRTs>E{_a1+Y zy+HqR6Yg^iiaRFxsBMpQwKkgh#xO^_XlKpV0F5ap<$B%rA1HfSpsRi&wE5tIYZ)f| zOM_OLig2whDqmZF{k5-^;gzMPTNXa}y)@{h+S=zAnWyKSds}Ajzx=XL_t8x^UY2}2 z{P2U?8+%c%)|lm&?@HN+{)m75^_M`K;{lmffvc~UKl)fv6vG(QJ^l34?|1XegH~US zo3Qt8p8d<ORre2^p1A1(v)3P!l|d_OT>ZEI(A%57`Q}?6wc^=bCvVx;Z%*bEC}940 z^ZiTluLlzh+CORrBuFe%6X9~@YggtEm;J+V{YGKuyC)v&M0l;E1CLngB^=J%p8um} zpZ^jL&9@8o8@@FDrEMBkCUZYvYOzxFjfBiu3d+aNZ{nNg*tB=bq)g_IeZS>>Z~u#4 daG!~X!7zH><%dh3aWVjbr>ma}%Q~loCIHy(nBf2b delta 786 zcmdnYGnspWC!^9tugMAq3TB3ShQ=o5=H@yIMh1ok`UXb&hDN%E=2pf=Rt5$W|CUU? z!>BYli!pohE+*Z{)lAX~#*QY&PKL$?u9hZFhK8;NPL>wV76vYkW)`k4t`^3IlkJ#f zV2TWJDtg9b5CbvE$Q73&C57UWpwu+0l>Fq<+|;}hPZwLIirfOdl*|+>s9rZ*dM6h# zJJm<zSifOlU}E=laSW-rmGtNTe|zRo22M6kra~rxVx~eKf$jren$I>Een?ah(ACxb zx})~@H)d7UrRP?MufI3XAhAh1AckXETc^Zw7Z;Z$TpS!rR;^fZ;{M+1?LOY#-mD(S ztE#Kh7gh8M{QLR&d7#4I|G&S#U*8yVeSQ4?d(A)U9e(LJiW?dku`zFy?U0p|+sEvZ ze}CU!m4KYz>tc7Gb2vIZp;S;ng?Xc<z~}jPwZH!CDt*1J;n2ggv(3vL^eTRTd;9z9 z>Tvmr|Ns87ui!3E<b4A)IexxX=_|3|;LHE=9T-d=tlhi!?-FJAzL+0BK0ZGD-{S$$ zC7cdk+(#8M>O;Kd+E$l+ua|l7<mBYrjd~W_%HPNND}3h>@K&~NVom9qKR=$&+IqK& zwDfG7bq0?gJqqgU?!L|6W6P|rt}eWW^V9wP_0uQjg1p7AU@F{kdtpw>2G;DTW}}LC zKq;<epRTM7-kiv_Aje=w<>zOf3-0FJ;7Mw7+bVDH;YMQpx;^FZ=P?DG5$xFOm@~t| z;4a6h6DLw0oyi7z_E!6wvITAT7i8SqoPIu2K-%}6k==Sr#*H7l#r69hc5OZ0FW<Z; zkLSoMi@j_tzZ-tMnQ5Fp??Knr<^J>QSXVMWnhg{`eBcIiB`_*i*ZlqUmD8ZVmTi-0 zqXm0M|HIS$JsD5c1*J877QV?+xW@D-Bgu=Sfq|Lf1xNWtjS2Eo7=Xaj)z4*}Q$iB} D;@3up diff --git a/indra/newview/skins/default/textures/toolbar_icons/view.png b/indra/newview/skins/default/textures/toolbar_icons/view.png index 5425af87e0e2624a0d4e35c16156a53318ae8364..ddf0df7c26fd9a54a44eb77cc27878aacc3df5b8 100644 GIT binary patch delta 868 zcmcb_bDn#GCu7<~ugMCA3T7sHh9(A<CYCx1Mh1ok`i4gO2Ijhk23Dr#RtAO>|CUUi z#h5ZVi&3+_z}MHxzbG?3GcPg6B|o_|H#M)s)5TV)BDX*<B{Rj!$;86M&CSHw$;rsn z%)-#n$=Sus!r9rv&DGr0!ra1KNdc%5Xa-ij&TcMdPR5ol<}SvDhOP!q#?G!5u5Jb< zK%Gub1{OfQlXaP-<RQu|a4DPoi_viMVkZ3<XE#$5CnF0JLvteokXtOw4c(j#OwA2k zTnt>DT!3yVE(uCavq~YuACvW%o$6U;SA{SzF#h*+aSW-rbtc5#gDFwu`za%pmL`Q0 zOCBhw^eIiBpui(7vn1-MZj{WDMaNnkyabG-nig!E!=lM`yloT5^g|s6ilzn=eNGz% zS+Bn@US1R{$SY|3<L=|S_wV<<uXQh!QU4w8^f%1?lmAT3Rg9~+U$99vhBdI}RnDnj z{Nw5N&IwDx7hmkTk+V&1^UXD(tFKP+TDnLu;@tDk*C%=`dGPtC-h*<6@3J3GW*Pj? zG(E85_S<_^Z4HmLrk-NHqGQ0p!^~IUe`K1ETCiAmDzD*Qm4CMEl^RpMf(;~W9#&{h z^;#aFTOh-f)}Xn7KPG)+M33<Na1KqLIPEi$()AoHeJv_0PB~qCQ2nRwzn$Gn!|A8* zR@=<WEy%5D4=uEinf)L-#cz4BbB@RI%Ys1%Uw_pr7Ao8sBYb4q*|cD$cE0Yg)unD> z8X`eS&kHPSeC7yu9$9A+Xd+cA7;Pih-&Lt{Z}LW+*J6`5M!b<)Yt}sfiQQ>~9NC#Z z&-@PcPfV=8KK=C5S3MIJBpJ<oCefC8Xtn>7Jsw;)-hLDHob>b6O2)MkpJpZ~9$$U= zrI>(4f{B#mtYs&Q_#}DSR6WgCANtt6p5x}D)Py;E658}5_8kt;C|Mk!k@dBz)_U5O zc)jV@71jEe&S|@Sti5$ggU(H>3BQuu!W)D$rXBnH<dV@IyWjGYZ^wU*{=e9qk&VG# WRzEPeH2)q05O})!xvX<aXaWF9>r!3- delta 976 zcmX@leTip+C!^9tugMAq3TB3ShQ=o5=H@yIMh1ok`UXb&hDN%E=2pf=Rt5$W|CUU? z!>BYli!pohE+*Z{)l4$-KxGyN&W5g*CQgQit_Dt)7S0w1E{<jvt}d<?#)gyam}H@9 zjBu)X#$*uV1UAUY4VNM%h2oN+)HJJ<{N&Qy)VvZ;7h9!@+ycFn%oHn#US|VbdM6h# zJJnwe+au1vz;w*h#WAGf){&5SkKjU)dpc~9{;djM6r3(J|9&hc(WbFRj;G}3qDKm% z=1mLxm0mcs99kKW79p@xPR-1PP4`5ofR)tNsHew{nZ4&I-nlmS-T!BI3hwQ@Ur=zh zO4#bd!N2F;&nZ4{x&M8fneXK_lQ$S$<Gh(EH@*5w{c%Q>2A&-p9~yWMu<I~=c6bz_ zY81tJXVxsWi2*wd&CJq1|Nfi3d-raUKP3wTZuA^YD(iJi-V+x8-u;ejT3n%RkJ8*t z`}UdWu>A8|ebsJCS!v|M<?FkTzFzh5<8loPZkA=smtTJv&t%cgb?~Brk&TRFfY2WC zn!K!{OPe-t-t1Oyb?W)&E8VTE-3{mKWqaN94{m)`VkH~yvS@pUZKzI5yK&LZ8sX%Y zhdX%mq9Y@JcAn!2T3Ir+L?tu#uUP-_={aVz<rnkIl`Q-caHT)0@qyz;fwXxy?%nHa z=;%y#TKa3M*V21;a`Mb1d)+Px<Zg|687<UlDZ{tF-o#iq@r~Qo`aOHz96G&3XKU2l zgG%z#`E2F<8@J?}&CXm_yEWpQEZ=e7``5176`wqr@@Z+%%ASn|PTThGtzA+w;q+6k z7n9uO4d3L~FWA4oagH(f)~#D#8qM_C#N$%GbzPo7)he~36KR|Gty;Az-Q&lhDV$<? z{!1?}_V^Y1NijVuBf}#iF0O8ReaKpu@QK%^iCL$uW!Uc<IECN(mk3wuiAh17E{Cq% zy!espapghLC(9asTg}ZAo|`q(Y7#3GV|{S4vS2jxj~D}q5-pJ~Q@j4@hu_wg?~D;s z(S5W>%xJ^wufKZt?%f-Dq==7GXb1aUm+I;&A&zSjJZ+vmo@Vo!P3&g-EK}d{sxtkJ zaqH<12lE-uP5pG!eP5mCk2Sa7ezOT*ecq`=d{11ys*auj2h-iVcPr)Q$Dd8xJhfx) z-{;%Q8a^Lj_`rC>YKO_9x%~$;0zOWklPvr9|No2fjBE_N_p&QKi1IZt0D-5gpUXO@ GgeCwkvZBoZ -- GitLab From 9f9734359e402d7c4077b98298411476750f0534 Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 14:52:22 -0700 Subject: [PATCH 204/213] New nearbyvoice icon --- .../textures/toolbar_icons/nearbyvoice.png | Bin 1460 -> 1479 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/default/textures/toolbar_icons/nearbyvoice.png index 22d88af352496bc05d717e828447033dbfc15c31..77a7cd5f442ee8b3a81eb54f4bf0eaa18b68d2c5 100644 GIT binary patch delta 576 zcmV-G0>AyV3&#tvS^^9;Lq<V3HZU?oH$^m)W&$t_HA6;0I5sdbL^nk=v!VhN0e{1S ztCs)(0rg2lK~#9!oRmFC0$~`(@4XXAiX@@Nh_Iz7!<G`46vrTOYpAH!qL!d&sHrWQ zibA9zYAcXLXpEW~3bM)V$Uf*pJv=?%Jg@&Nmt3Z0J@Dh+ujluEazs@rR~aUgxdER6 z&<)x^4!nU|a8oEy<y#UH86kvg?|<lMUkQhg4>OtcHQKW8@5+5L`Et3p7dk-SGRD{| z^C~5SGc!{=iXy+DehNIG6?B6!a3#yq^ZfkWKE@7J6){OLxO;-xWz?rDXEd-5v`{D* zMUL}}2o24;L_yv6gXELRLLpB#H#d%u+gKI_0{#G{xxBu7t{yPyB91`ucz=fdWf2bc z1c!N1uS7?Xq~vWR5{{HaSeoVG;qD1H<o~0HOQl|?5()8<ZI8n(_2u(fiVh1JT7dO8 z0XtLBgtC?8;uiZ&Uaz-TlB9&qX3M$V?o~=D!Gm1Fqf@yW;dDBeRaIq=bS<4uiw=jQ z#}tdjM!LG}S%|o3G%_n7%ztL{3VW-yMCa#c3krgX;_<jFisC3?Z$j@Uz*w#tSS`<1 zTPzke9`TvObAJq<&u1wm^8A;{c;ig<h$be+n+!REQB*pM?d>h09+AuCD*rC9#c~cY z{6+*#)1C<-DU>^ZaItX-d@~qpuO?z)V*>#FWnor*Cz)EJf5(Ra0~G*fFzxMy+C+u` O0000<MNUMnLSTXj1O#6I delta 557 zcmV+|0@D4*3$zQcS^^A0Lq<e4LNqZ%H$*d&W&$t_LPJJGHbOKoL^nh;v!VhN0e{=z z&ffq40pdwSK~#9!V*LB}7Xvi_3pPP!W;PxmWd_9RKr9Z#AlqI7@f{#O1+@G-h9;1U zkTDP#>FVmV@7uR${pZggZUe>s|Ni~s>zg+(udH3WdZ((YN)1qrEQUTbL%b$Uny?0> z5y;;N#A!fm2E-viTnEI@zkdDnI)6SsZU)H3SPcRK$Nl^F9{Tg==Q|+Z8{I}IW(MMF zkVUg*&Dex&7|amS)vH(T|MBDNBOqT6hat$=31rxe8Pm1^_430F%E(Ah1G?ldNC6Rs zz;HOwu-^dz{_(JwXWG4c$KltnU#up<5HSAm;qB_Zdv_fLnZcl-ATI%ooqsRDKy(BO z2*R9-4+8-o5c2@p#z1{vL1wVz<>eYPF){t);NUo9YirZ?>(?(vU^=P<D*B5n@fjN% zRRO~Rl$IKS>OX+YU??jqU4H%g)q5bDzI^%k?fdsHz`**&hR;PHHSgcQ`3PbkJ9gv} z$P7kMf`eMb2*k*21{|rL34i3;fB*jd2l|8wriY2tJmu=@$_duU#DroQ6S7Uj7?h9@ z$AhGY8QCCkpaK&YGcg8PSy}x;%BOHWj7Y@@^Z)<<Uo$c?egLwS@R$Ws_Y_Ef0jgEO vW)KJnffPWC4Sawf>XR?H3?dr<1Q-D6Dc4_I@pUu+0000<MNUMnLIPld+dKiW -- GitLab From 96a94a5840dca8a453ec14611dd8b2eb385deebb Mon Sep 17 00:00:00 2001 From: Paul ProductEngine <pguslisty@productengine.com> Date: Fri, 14 Oct 2011 23:53:43 +0200 Subject: [PATCH 205/213] EXP-1311 FIXED (Modified My Profile floater to become Picks floater: removed unused profile panel.) - Modified My Profile floater to become Picks floater: removed unused profile panel. --- indra/newview/llpanelme.cpp | 8 +--- indra/newview/llpanelme.h | 1 - indra/newview/llpanelprofile.cpp | 35 +-------------- indra/newview/llpanelprofile.h | 5 --- indra/newview/llviewerfloaterreg.cpp | 2 +- ...oater_my_profile.xml => floater_picks.xml} | 6 +-- .../newview/skins/default/xui/en/panel_me.xml | 45 +++---------------- .../skins/default/xui/en/panel_pick_info.xml | 2 +- .../skins/default/xui/en/panel_picks.xml | 17 +++---- 9 files changed, 22 insertions(+), 99 deletions(-) rename indra/newview/skins/default/xui/en/{floater_my_profile.xml => floater_picks.xml} (86%) diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp index 0b687009bf8..7e47a96f44e 100644 --- a/indra/newview/llpanelme.cpp +++ b/indra/newview/llpanelme.cpp @@ -84,7 +84,7 @@ void LLPanelMe::buildEditPanel() // 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); + //mEditPanel->childSetAction("cancel_btn", boost::bind(&LLPanelMe::onCancelClicked, this), this); } } @@ -92,12 +92,6 @@ void LLPanelMe::buildEditPanel() void LLPanelMe::onEditProfileClicked() { buildEditPanel(); - togglePanel(mEditPanel, getAvatarId()); // open -} - -void LLPanelMe::onCancelClicked() -{ - togglePanel(mEditPanel); // close } ////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llpanelme.h b/indra/newview/llpanelme.h index 22cbb9e055a..b0f5d184cc8 100644 --- a/indra/newview/llpanelme.h +++ b/indra/newview/llpanelme.h @@ -57,7 +57,6 @@ class LLPanelMe : public LLPanelProfile void buildEditPanel(); void onEditProfileClicked(); - void onCancelClicked(); LLPanelMyProfileEdit * mEditPanel; diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp index 27390fca784..5ce59d89599 100755 --- a/indra/newview/llpanelprofile.cpp +++ b/indra/newview/llpanelprofile.cpp @@ -261,7 +261,6 @@ void LLPanelProfile::ChildStack::dump() LLPanelProfile::LLPanelProfile() : LLPanel() - , mTabCtrl(NULL) , mAvatarId(LLUUID::null) { mChildStack.setParent(this); @@ -269,10 +268,6 @@ LLPanelProfile::LLPanelProfile() BOOL LLPanelProfile::postBuild() { - mTabCtrl = getChild<LLTabContainer>("tabs"); - - getTabCtrl()->setCommitCallback(boost::bind(&LLPanelProfile::onTabSelected, this, _2)); - LLPanelPicks* panel_picks = findChild<LLPanelPicks>(PANEL_PICKS); panel_picks->setProfilePanel(this); @@ -293,18 +288,7 @@ void LLPanelProfile::reshape(S32 width, S32 height, BOOL called_from_parent) void LLPanelProfile::onOpen(const LLSD& key) { - // open the desired panel - if (key.has("open_tab_name")) - { - getTabContainer()[PANEL_PICKS]->onClosePanel(); - - // onOpen from selected panel will be called from onTabSelected callback - getTabCtrl()->selectTabByName(key["open_tab_name"]); - } - else - { - getTabCtrl()->getCurrentPanel()->onOpen(getAvatarId()); - } + getTabContainer()[PANEL_PICKS]->onOpen(getAvatarId()); // support commands to open further pieces of UI if (key.has("show_tab_panel")) @@ -362,23 +346,6 @@ void LLPanelProfile::onOpen(const LLSD& key) } } -void LLPanelProfile::togglePanel(LLPanel* panel, const LLSD& key) -{ - // TRUE - we need to open/expand "panel" - bool expand = getChildList()->front() != panel; // mTabCtrl->getVisible(); - - if (expand) - { - openPanel(panel, key); - } - else - { - closePanel(panel); - - getTabCtrl()->getCurrentPanel()->onOpen(getAvatarId()); - } -} - void LLPanelProfile::onTabSelected(const LLSD& param) { std::string tab_name = param.asString(); diff --git a/indra/newview/llpanelprofile.h b/indra/newview/llpanelprofile.h index fca359f51e1..bd4457c240b 100755 --- a/indra/newview/llpanelprofile.h +++ b/indra/newview/llpanelprofile.h @@ -46,8 +46,6 @@ class LLPanelProfile : public LLPanel /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); /*virtual*/ void onOpen(const LLSD& key); - virtual void togglePanel(LLPanel*, const LLSD& key = LLSD()); - virtual void openPanel(LLPanel* panel, const LLSD& params); virtual void closePanel(LLPanel* panel); @@ -60,8 +58,6 @@ class LLPanelProfile : public LLPanel virtual void onTabSelected(const LLSD& param); - LLTabContainer* getTabCtrl() { return mTabCtrl; } - const LLUUID& getAvatarId() { return mAvatarId; } void setAvatarId(const LLUUID& avatar_id) { mAvatarId = avatar_id; } @@ -97,7 +93,6 @@ class LLPanelProfile : public LLPanel }; //-- ChildStack ends ------------------------------------------------------ - LLTabContainer* mTabCtrl; profile_tabs_t mTabContainer; ChildStack mChildStack; LLUUID mAvatarId; diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index e5a80f24208..390c2f1ee99 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -234,7 +234,6 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("mute_object_by_name", "floater_mute_object.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterGetBlockedObjectName>); LLFloaterReg::add("mini_map", "floater_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMap>); LLFloaterReg::add("my_inventory", "floater_my_inventory.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); - LLFloaterReg::add("my_profile", "floater_my_profile.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("notifications_console", "floater_notifications_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotificationConsole>); LLFloaterReg::add("notification_well_window", "floater_sys_well.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNotificationWellWindow>); @@ -251,6 +250,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("prefs_proxy", "floater_preferences_proxy.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreferenceProxy>); LLFloaterReg::add("prefs_hardware_settings", "floater_hardware_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterHardwareSettings>); LLFloaterReg::add("perm_prefs", "floater_perm_prefs.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPerms>); + LLFloaterReg::add("picks", "floater_picks.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>); LLFloaterReg::add("pref_joystick", "floater_joystick.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterJoystick>); LLFloaterReg::add("preview_anim", "floater_preview_animation.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLPreviewAnim>, "preview"); LLFloaterReg::add("preview_gesture", "floater_preview_gesture.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLPreviewGesture>, "preview"); diff --git a/indra/newview/skins/default/xui/en/floater_my_profile.xml b/indra/newview/skins/default/xui/en/floater_picks.xml similarity index 86% rename from indra/newview/skins/default/xui/en/floater_my_profile.xml rename to indra/newview/skins/default/xui/en/floater_picks.xml index 713515d0419..2d307028e46 100644 --- a/indra/newview/skins/default/xui/en/floater_my_profile.xml +++ b/indra/newview/skins/default/xui/en/floater_picks.xml @@ -3,14 +3,14 @@ open_positioning="cascading" can_close="true" can_resize="true" - height="570" + height="572" help_topic="sidebar_me" min_width="333" min_height="440" - name="floater_profile" + name="floater_picks" save_rect="true" save_visibility="true" - title="MY PROFILE" + title="Picks" width="333" > <panel class="panel_me" diff --git a/indra/newview/skins/default/xui/en/panel_me.xml b/indra/newview/skins/default/xui/en/panel_me.xml index 84b5d11ba71..23e7814cada 100644 --- a/indra/newview/skins/default/xui/en/panel_me.xml +++ b/indra/newview/skins/default/xui/en/panel_me.xml @@ -10,43 +10,10 @@ name="panel_me" top="0" width="333"> - <!--<text - type="string" - follows="top|left|right" - font="SansSerifHugeBold" - height="20" - layout="topleft" - left="15" - name="user_name" - text_color="white" - top="0" - mouse_opaque="true" - width="280"> - (Loading...) - </text> --> - <tab_container - follows="all" - height="555" - halign="center" - layout="topleft" - left="5" - name="tabs" - tab_min_width="95" - tab_height="30" - tab_position="top" - top_pad="10" - width="317"> - <panel - class="panel_my_profile" - filename="panel_my_profile.xml" - label="MY PROFILE" - help_topic="panel_my_profile_tab" - name="panel_profile" /> - <panel - class="panel_picks" - filename="panel_picks.xml" - label="MY PICKS" - help_topic="panel_my_picks_tab" - name="panel_picks" /> - </tab_container> + <panel + class="panel_picks" + filename="panel_picks.xml" + label="MY PICKS" + help_topic="panel_my_picks_tab" + name="panel_picks"/> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_pick_info.xml b/indra/newview/skins/default/xui/en/panel_pick_info.xml index 7daa52b2d98..24046d5cca6 100644 --- a/indra/newview/skins/default/xui/en/panel_pick_info.xml +++ b/indra/newview/skins/default/xui/en/panel_pick_info.xml @@ -117,7 +117,7 @@ </scroll_container> <panel follows="left|right|bottom" - height="35" + height="23" layout="topleft" top_pad="5" left="8" diff --git a/indra/newview/skins/default/xui/en/panel_picks.xml b/indra/newview/skins/default/xui/en/panel_picks.xml index 87e263726d2..85f402dfa24 100644 --- a/indra/newview/skins/default/xui/en/panel_picks.xml +++ b/indra/newview/skins/default/xui/en/panel_picks.xml @@ -4,12 +4,12 @@ bg_opaque_color="DkGray2" background_visible="true" background_opaque="true" follows="all" - height="548" + height="571" label="Picks" layout="topleft" - left="0" + left="8" name="panel_picks" - top="0" + top_pad="0" width="313"> <string name="no_picks" @@ -30,7 +30,7 @@ bg_opaque_color="DkGray2" <accordion fit_parent="true" follows="all" - height="485" + height="514" layout="topleft" left="0" name="accordion" @@ -81,10 +81,10 @@ bg_opaque_color="DkGray2" left="1" height="27" label="bottom_panel" - layout="bottom" + layout="topleft" name="edit_panel" - top_pad="-2" - width="313"> + top_pad="0" + width="312"> <layout_stack follows="bottom|left|right" @@ -149,8 +149,9 @@ bg_opaque_color="DkGray2" follows="bottom|left|right" layout="topleft" left="0" - height="40" + height="30" name="buttons_cucks" + top_pad="0" width="313"> <layout_stack -- GitLab From c289c081937395c0866841932627634a7e3f24ac Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 15:17:35 -0700 Subject: [PATCH 206/213] EXP-1308 FIX Search floater and profile floater have same help ID --- indra/newview/llviewerfloaterreg.cpp | 2 +- indra/newview/skins/default/xui/en/floater_search.xml | 4 ++-- indra/newview/skins/default/xui/en/floater_web_profile.xml | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_web_profile.xml diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index e5a80f24208..76218069180 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -288,7 +288,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("profile", "floater_web_content.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); diff --git a/indra/newview/skins/default/xui/en/floater_search.xml b/indra/newview/skins/default/xui/en/floater_search.xml index 896532e26b8..dd818e2e065 100644 --- a/indra/newview/skins/default/xui/en/floater_search.xml +++ b/indra/newview/skins/default/xui/en/floater_search.xml @@ -7,8 +7,8 @@ layout="topleft" min_height="400" min_width="500" - name="floater_web_content" - help_topic="search" + name="floater_search" + help_topic="floater_search" save_rect="true" save_visibility="true" title="" diff --git a/indra/newview/skins/default/xui/en/floater_web_profile.xml b/indra/newview/skins/default/xui/en/floater_web_profile.xml new file mode 100644 index 00000000000..d0225f78a9b --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_web_profile.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="floater_web_profile" + help_topic="web_profile" + width="780" + height="775" + filename="floater_web_content.xml"/> \ No newline at end of file -- GitLab From 7bc1eaf22f3c8bde69922215fb61b448afa8967a Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 15:22:53 -0700 Subject: [PATCH 207/213] EXP-1342 FIX -- Update avatar picker and destination guide urls * URL's are in place with the [GRID_LOWERCASE] used in the link to go to the proper page based on the grid. * Added "GRID_LOWERCASE" substitution for URL's since it is case sensitive --- indra/newview/app_settings/settings.xml | 6 +++--- indra/newview/llviewermenu.cpp | 3 ++- indra/newview/llviewerwindow.cpp | 10 +++++++--- indra/newview/llweb.cpp | 1 + 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index da2161c8dec..52aa2a3be39 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -619,7 +619,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://drofnas.components.pdp48.lindenlab.com/avatars.html</string> + <string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/avatars.html</string> </map> <key>AvatarBakedTextureUploadTimeout</key> <map> @@ -2717,7 +2717,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://drofnas.components.pdp48.lindenlab.com/guide.html</string> + <string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/guide.html</string> </map> <key>DisableCameraConstraints</key> <map> @@ -4037,7 +4037,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://common-flash-secondlife-com.s3.amazonaws.com/viewer/v2.6/agni/howto/index.html</string> + <string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/howto/index.html</string> </map> <key>HomeSidePanelURL</key> <map> diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 10563971b30..57ff62f60fc 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6893,7 +6893,8 @@ class LLToggleHowTo : public view_listener_t bool handleEvent(const LLSD& userdata) { LLFloaterWebContent::Params p; - p.url = gSavedSettings.getString("HowToHelpURL"); + std::string url = gSavedSettings.getString("HowToHelpURL"); + p.url = LLWeb::expandURLSubstitutions(url, LLSD()); p.show_chrome = false; p.target = "__help_how_to"; p.show_page_title = false; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 0873e4f6ea3..1d64e22db27 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1947,13 +1947,17 @@ void LLViewerWindow::initWorldUI() if (destinations) { destinations->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); - destinations->navigateTo(gSavedSettings.getString("DestinationGuideURL"), "text/html"); + std::string url = gSavedSettings.getString("DestinationGuideURL"); + url = LLWeb::expandURLSubstitutions(url, LLSD()); + destinations->navigateTo(url, "text/html"); } LLMediaCtrl* avatar_picker = LLFloaterReg::getInstance("avatar")->findChild<LLMediaCtrl>("avatar_picker_contents"); if (avatar_picker) { avatar_picker->setErrorPageURL(gSavedSettings.getString("GenericErrorPageURL")); - avatar_picker->navigateTo(gSavedSettings.getString("AvatarPickerURL"), "text/html"); + std::string url = gSavedSettings.getString("AvatarPickerURL"); + url = LLWeb::expandURLSubstitutions(url, LLSD()); + avatar_picker->navigateTo(url, "text/html"); } } @@ -1980,7 +1984,7 @@ void LLViewerWindow::shutdownViews() // *TODO: Make LLNavigationBar part of gViewerWindow if (LLNavigationBar::instanceExists()) { - delete LLNavigationBar::getInstance(); + delete LLNavigationBar::getInstance(); } // destroy menus after instantiating navbar above, as it needs diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp index 7bc54536883..b2f35892d0a 100644 --- a/indra/newview/llweb.cpp +++ b/indra/newview/llweb.cpp @@ -210,6 +210,7 @@ std::string LLWeb::expandURLSubstitutions(const std::string &url, substitution["VERSION_BUILD"] = LLVersionInfo::getBuild(); substitution["CHANNEL"] = LLVersionInfo::getChannel(); substitution["GRID"] = LLGridManager::getInstance()->getGridLabel(); + substitution["GRID_LOWERCASE"] = utf8str_tolower(LLGridManager::getInstance()->getGridLabel()); substitution["OS"] = LLAppViewer::instance()->getOSInfo().getOSStringSimple(); substitution["SESSION_ID"] = gAgent.getSessionID(); substitution["FIRST_LOGIN"] = gAgent.isFirstLogin(); -- GitLab From c69131be77b40ee2b0bc39303439c26b44b6a49d Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 15:26:48 -0700 Subject: [PATCH 208/213] EXP-1378 FIX Build tooltip does not match wiki text --- indra/newview/skins/default/xui/en/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 04fc5c868c0..78e10d207c5 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3683,7 +3683,7 @@ Try enclosing path to the editor with double quotes. <string name="Command_AboutLand_Tooltip">Information about the land you're visiting</string> <string name="Command_Appearance_Tooltip">Change your avatar</string> <string name="Command_Avatar_Tooltip">Choose a complete avatar</string> - <string name="Command_Build_Tooltip">Building objects and reshaping them</string> + <string name="Command_Build_Tooltip">Building objects and reshaping terrain</string> <string name="Command_Chat_Tooltip">Chat with people nearby using text</string> <string name="Command_Compass_Tooltip">Compass</string> <string name="Command_Destinations_Tooltip">Destinations of interest</string> -- GitLab From f426ed5f284e1694e821a56a6e7a4e41e9b37b3d Mon Sep 17 00:00:00 2001 From: Leslie Linden <leslie@lindenlab.com> Date: Fri, 14 Oct 2011 15:43:45 -0700 Subject: [PATCH 209/213] EXP-1355 PROGRESS -- Chat toast can be covered by chat floater in default position * Moved chat, move and view floaters to new default positions. --- indra/newview/skins/default/xui/en/floater_camera.xml | 4 ++-- indra/newview/skins/default/xui/en/floater_chat_bar.xml | 4 ++-- indra/newview/skins/default/xui/en/floater_moveview.xml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index 20d0fa1c91a..afe8584a2d3 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" - specified_left="683" - specified_bottom="0" + specified_left="320" + specified_bottom="80" legacy_header_height="18" can_minimize="true" can_close="true" diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index 92297418012..989b4a05802 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" - specified_left="150" - specified_bottom="0" + specified_left="320" + specified_bottom="10" height="60" layout="topleft" legacy_header_height="25" diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index cbbd68beb3d..b7370580af4 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater open_positioning="specified" - specified_left="535" - specified_bottom="0" + specified_left="558" + specified_bottom="80" legacy_header_height="18" can_dock="false" can_minimize="true" -- GitLab From a0a3790f1c08522a8b8e6fa6fc76eb9fcb0f2120 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 16:06:29 -0700 Subject: [PATCH 210/213] updated chat toast with 10 pixel padding --- indra/newview/llnearbychathandler.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp index 573985b76eb..d39f83875e2 100644 --- a/indra/newview/llnearbychathandler.cpp +++ b/indra/newview/llnearbychathandler.cpp @@ -374,7 +374,7 @@ void LLNearbyChatScreenChannel::arrangeToasts() if (!getParent()) { - // connect to floater snap region to get resize events + // connect to floater snap region just to get resize events, we don't care about being a proper widget floater_snap_region->addChild(this); setFollows(FOLLOWS_ALL); } @@ -384,11 +384,12 @@ void LLNearbyChatScreenChannel::arrangeToasts() LLRect channel_rect; floater_snap_region->localRectToOtherView(floater_snap_region->getLocalRect(), &channel_rect, gFloaterView); + channel_rect.mLeft += 10; channel_rect.mRight = channel_rect.mLeft + 300; S32 channel_bottom = channel_rect.mBottom; - S32 bottom = channel_bottom; + S32 bottom = channel_bottom + 10; S32 margin = gSavedSettings.getS32("ToastGap"); //sort active toasts -- GitLab From 9c454b6afacd2ffe07525261b698e77a6b99f4da Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 16:10:11 -0700 Subject: [PATCH 211/213] EXP-1380 FIX Hud attached to avatar can be covered by location/favorites bar huds follow ui now --- indra/newview/skins/default/xui/en/main_view.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 4d3d431b3a7..b4be17e677b 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -8,13 +8,6 @@ tab_stop="false" name="main_view" width="1024"> - <view top="0" - follows="all" - height="768" - left="0" - mouse_opaque="false" - name="world_view_rect" - width="1024"/> <layout_stack border_size="0" follows="all" mouse_opaque="false" @@ -57,6 +50,13 @@ tab_stop="false" name="world_panel" width="1024"> + <view top="0" + follows="all" + height="500" + left="0" + mouse_opaque="false" + name="world_view_rect" + width="1024"/> <panel follows="left|top|right" height="19" left="0" -- GitLab From cf98cdf69f481dd473363d4a80a80f27e96f87e8 Mon Sep 17 00:00:00 2001 From: Richard Nelson <richard@lindenlab.com> Date: Fri, 14 Oct 2011 16:43:43 -0700 Subject: [PATCH 212/213] fix for crash on exit --- indra/newview/llchannelmanager.cpp | 23 ++++++++++++++++------- indra/newview/llchannelmanager.h | 6 +++--- indra/newview/llscreenchannel.h | 2 ++ 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp index 59842aeb6c8..ca635eaa8f7 100644 --- a/indra/newview/llchannelmanager.cpp +++ b/indra/newview/llchannelmanager.cpp @@ -58,7 +58,10 @@ LLChannelManager::~LLChannelManager() { for(std::vector<ChannelElem>::iterator it = mChannelList.begin(); it != mChannelList.end(); ++it) { - delete (*it).channel; + LLScreenChannelBase* channel = it->channel.get(); + if (!channel) continue; + + delete channel; } mChannelList.clear(); @@ -84,16 +87,19 @@ void LLChannelManager::onLoginCompleted() // calc a number of all offline notifications for(std::vector<ChannelElem>::iterator it = mChannelList.begin(); it != mChannelList.end(); ++it) { + LLScreenChannelBase* channel = it->channel.get(); + if (!channel) continue; + // don't calc notifications for Nearby Chat - if((*it).channel->getChannelID() == LLUUID(gSavedSettings.getString("NearByChatChannelUUID"))) + if(channel->getChannelID() == LLUUID(gSavedSettings.getString("NearByChatChannelUUID"))) { continue; } // don't calc notifications for channels that always show their notifications - if(!(*it).channel->getDisplayToastsAlways()) + if(!channel->getDisplayToastsAlways()) { - away_notifications +=(*it).channel->getNumberOfHiddenToasts(); + away_notifications +=channel->getNumberOfHiddenToasts(); } } @@ -157,7 +163,7 @@ LLScreenChannelBase* LLChannelManager::addChannel(LLScreenChannelBase* channel) ChannelElem new_elem; new_elem.id = channel->getChannelID(); - new_elem.channel = channel; + new_elem.channel = channel->getHandle(); mChannelList.push_back(new_elem); @@ -189,7 +195,7 @@ LLScreenChannelBase* LLChannelManager::findChannelByID(const LLUUID& id) std::vector<ChannelElem>::iterator it = find(mChannelList.begin(), mChannelList.end(), id); if(it != mChannelList.end()) { - return (*it).channel; + return (*it).channel.get(); } return NULL; @@ -211,7 +217,10 @@ void LLChannelManager::muteAllChannels(bool mute) for (std::vector<ChannelElem>::iterator it = mChannelList.begin(); it != mChannelList.end(); it++) { - it->channel->setShowToasts(!mute); + if (it->channel.get()) + { + it->channel.get()->setShowToasts(!mute); + } } } diff --git a/indra/newview/llchannelmanager.h b/indra/newview/llchannelmanager.h index 671e545465e..a5de8a53271 100644 --- a/indra/newview/llchannelmanager.h +++ b/indra/newview/llchannelmanager.h @@ -48,10 +48,10 @@ class LLChannelManager : public LLSingleton<LLChannelManager> struct ChannelElem { - LLUUID id; - LLScreenChannelBase* channel; + LLUUID id; + LLHandle<LLScreenChannelBase> channel; - ChannelElem() : id(LLUUID("")), channel(NULL) { } + ChannelElem() { } ChannelElem(const ChannelElem &elem) { diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h index 4d8e3e9e931..f4f52eea197 100644 --- a/indra/newview/llscreenchannel.h +++ b/indra/newview/llscreenchannel.h @@ -113,6 +113,7 @@ class LLScreenChannelBase : public LLUICtrl // get ID of a channel LLUUID getChannelID() { return mID; } + LLHandle<LLScreenChannelBase> getHandle() { mRootHandle.bind(this); return mRootHandle; } protected: void updateBottom(); @@ -124,6 +125,7 @@ class LLScreenChannelBase : public LLUICtrl bool mDisplayToastsAlways; // controls whether a channel shows toasts or not bool mShowToasts; + LLRootHandle<LLScreenChannelBase> mRootHandle; // EToastAlignment mToastAlignment; EChannelAlignment mChannelAlignment; -- GitLab From 4c6f04c50225a4a5494974c3a6e13bee76cfbb6f Mon Sep 17 00:00:00 2001 From: Merov Linden <merov@lindenlab.com> Date: Fri, 14 Oct 2011 16:47:43 -0700 Subject: [PATCH 213/213] EXP-1363 : Fix caret position in multiple lines or columns situation --- indra/llui/lltoolbar.cpp | 67 ++++++++++++++++++++++----------- indra/llui/lltoolbar.h | 1 - indra/newview/lltoolbarview.cpp | 8 +++- 3 files changed, 52 insertions(+), 24 deletions(-) diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 7fcd1da7b12..97cf583a3c1 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -401,6 +401,11 @@ void LLToolBar::resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row // Various drag data are stored in the toolbar object though are not exposed outside (and shouldn't). int LLToolBar::getRankFromPosition(S32 x, S32 y) { + if (mButtons.empty()) + { + return RANK_NONE; + } + int rank = 0; // Convert the toolbar coord into button panel coords @@ -417,21 +422,9 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) LLRect button_rect; while (it_button != end_button) { - button_rect = (*it_button)->getRect(); - mDragCommand = (*it_button)->mId; - S32 point_x, point_y; - if (orientation == LLLayoutStack::HORIZONTAL) - { - // Horizontal - point_x = (button_rect.mRight + button_rect.mLeft) / 2; - point_y = button_rect.mBottom - mPadBottom; - } - else - { - // Vertical - point_x = button_rect.mRight + mPadRight; - point_y = (button_rect.mTop + button_rect.mBottom) / 2; - } + button_rect = (*it_button)->getRect(); + S32 point_x = button_rect.mRight + mPadRight; + S32 point_y = button_rect.mBottom - mPadBottom; if ((button_panel_x < point_x) && (button_panel_y > point_y)) { @@ -445,19 +438,49 @@ int LLToolBar::getRankFromPosition(S32 x, S32 y) // (different depending on toolbar orientation) if (rank < mButtons.size()) { - mDragx = button_rect.mLeft - mPadLeft; - mDragy = button_rect.mTop + mPadTop; + if (orientation == LLLayoutStack::HORIZONTAL) + { + // Horizontal + S32 mid_point = (button_rect.mRight + button_rect.mLeft) / 2; + if (button_panel_x < mid_point) + { + mDragx = button_rect.mLeft - mPadLeft; + mDragy = button_rect.mTop + mPadTop; + } + else + { + rank++; + mDragx = button_rect.mRight + mPadRight - 1; + mDragy = button_rect.mTop + mPadTop; + } + } + else + { + // Vertical + S32 mid_point = (button_rect.mTop + button_rect.mBottom) / 2; + if (button_panel_y > mid_point) + { + mDragx = button_rect.mLeft - mPadLeft; + mDragy = button_rect.mTop + mPadTop; + } + else + { + rank++; + mDragx = button_rect.mLeft - mPadLeft; + mDragy = button_rect.mBottom - mPadBottom + 1; + } + } } else { // We hit passed the end of the list so put the insertion point at the end if (orientation == LLLayoutStack::HORIZONTAL) - { + { mDragx = button_rect.mRight + mPadRight; mDragy = button_rect.mTop + mPadTop; - } - else - { + } + else + { mDragx = button_rect.mLeft - mPadLeft; mDragy = button_rect.mBottom - mPadBottom; } @@ -849,7 +872,7 @@ BOOL LLToolBar::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, mDragRank = getRankFromPosition(x, y); // Don't DaD if we're dragging a command on itself mDragAndDropTarget = ((orig_rank != RANK_NONE) && ((mDragRank == orig_rank) || ((mDragRank-1) == orig_rank)) ? false : true); - llinfos << "Merov debug : DaD, rank = " << mDragRank << ", hit uuid = " << mDragCommand.uuid() << ", dragged uui = " << inv_item->getUUID() << llendl; + //llinfos << "Merov debug : DaD, rank = " << mDragRank << ", dragged uui = " << inv_item->getUUID() << llendl; /* Do the following if you want to animate the button itself LLCommandId dragged_command(inv_item->getUUID()); removeCommand(dragged_command); diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h index 3be252298d7..e78c99cb375 100644 --- a/indra/llui/lltoolbar.h +++ b/indra/llui/lltoolbar.h @@ -200,7 +200,6 @@ class LLToolBar S32 mDragx, mDragy, mDragGirth; - LLCommandId mDragCommand; public: // Methods used in loading and saving toolbar settings diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index b43c4e80fa6..21e682f0728 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -416,24 +416,30 @@ BOOL LLToolBarView::handleDropTool( void* cargo_data, S32 x, S32 y, LLToolBar* t // Suppress the command from the toolbars (including the one it's dropped in, // this will handle move position). int old_rank = LLToolBar::RANK_NONE; + LLToolBar* old_toolbar = NULL; int rank; if ((rank = gToolBarView->mToolbarLeft->removeCommand(command_id)) != LLToolBar::RANK_NONE) { old_rank = rank; + old_toolbar = gToolBarView->mToolbarLeft; } if ((rank = gToolBarView->mToolbarRight->removeCommand(command_id)) != LLToolBar::RANK_NONE) { old_rank = rank; + old_toolbar = gToolBarView->mToolbarRight; } if ((rank = gToolBarView->mToolbarBottom->removeCommand(command_id)) != LLToolBar::RANK_NONE) { old_rank = rank; + old_toolbar = gToolBarView->mToolbarBottom; } // Now insert it in the toolbar at the detected rank if (!toolbar->isReadOnly()) { - if ((old_rank != LLToolBar::RANK_NONE) && (old_rank < new_rank)) + if ((old_toolbar == toolbar) && (old_rank != LLToolBar::RANK_NONE) && (old_rank < new_rank)) { + // If we just removed the command from the same toolbar, we need to consider that it might + // change the target rank. new_rank -= 1; } toolbar->addCommand(command->id(),new_rank); -- GitLab