diff options
Diffstat (limited to 'indra/newview')
18 files changed, 323 insertions, 99 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 2920b30129..c236dc1c3f 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -91,6 +91,7 @@ set(viewer_SOURCE_FILES llbottomtray.cpp llbox.cpp llbreadcrumbview.cpp + llbrowsernotification.cpp llbuycurrencyhtml.cpp llcallbacklist.cpp llcallfloater.cpp diff --git a/indra/newview/llbrowsernotification.cpp b/indra/newview/llbrowsernotification.cpp new file mode 100644 index 0000000000..e162527e23 --- /dev/null +++ b/indra/newview/llbrowsernotification.cpp @@ -0,0 +1,57 @@ +/** + * @file llbrowsernotification.cpp + * @brief Notification Handler Class for browser popups + * + * $LicenseInfo:firstyear=2000&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 "llnotificationhandler.h" +#include "llnotifications.h" +#include "llfloatermediabrowser.h" +#include "llfloaterreg.h" + +using namespace LLNotificationsUI; + +bool LLBrowserNotification::processNotification(const LLSD& notify) +{ + LLNotificationPtr notification = LLNotifications::instance().find(notify["id"].asUUID()); + + if (notification) + { + LLFloaterMediaBrowser* browserp = dynamic_cast<LLFloaterMediaBrowser*>(LLFloaterReg::findInstance("media_browser", notification->getPayload()["source"])); + if (notify["sigtype"].asString() == "add" || notify["sigtype"].asString() == "load") + { + if (browserp) + { + browserp->showNotification(notification); + } + } + else if (notify["sigtype"].asString() == "delete") + { + browserp->hideNotification(); + } + } + return false; +} diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp index 5e06a2e078..751304588b 100644 --- a/indra/newview/llfloatermediabrowser.cpp +++ b/indra/newview/llfloatermediabrowser.cpp @@ -47,6 +47,9 @@ #include "llcombobox.h" #include "llwindow.h" #include "lllayoutstack.h" +#include "llcheckboxctrl.h" + +#include "llnotifications.h" // TEMP #include "llsdutil.h" @@ -210,12 +213,16 @@ void LLFloaterMediaBrowser::draw() BOOL LLFloaterMediaBrowser::postBuild() { mBrowser = getChild<LLMediaCtrl>("browser"); + mBrowser->setMediaID(mKey); mBrowser->addObserver(this); mAddressCombo = getChild<LLComboBox>("address"); mAddressCombo->setCommitCallback(onEnterAddress, this); mAddressCombo->sortByName(); + LLButton& notification_close = getChildRef<LLButton>("close_notification"); + notification_close.setClickedCallback(boost::bind(&LLFloaterMediaBrowser::onCloseNotification, this), NULL); + childSetAction("back", onClickBack, this); childSetAction("forward", onClickForward, this); childSetAction("reload", onClickRefresh, this); @@ -319,6 +326,73 @@ void LLFloaterMediaBrowser::setCurrentURL(const std::string& url) getChildView("reload")->setEnabled(TRUE); } +void LLFloaterMediaBrowser::showNotification(LLNotificationPtr notify) +{ + mCurNotification = notify; + + // add popup here + LLSD payload = notify->getPayload(); + + LLNotificationFormPtr formp = notify->getForm(); + LLLayoutPanel& panel = getChildRef<LLLayoutPanel>("notification_area"); + panel.setVisible(true); + panel.getChild<LLUICtrl>("notification_icon")->setValue(notify->getIcon()); + panel.getChild<LLUICtrl>("notification_text")->setValue(notify->getMessage()); + panel.getChild<LLUICtrl>("notification_text")->setToolTip(notify->getMessage()); + LLNotificationForm::EIgnoreType ignore_type = formp->getIgnoreType(); + LLLayoutPanel& form_elements = panel.getChildRef<LLLayoutPanel>("form_elements"); + + const S32 FORM_PADDING_HORIZONTAL = 10; + const S32 FORM_PADDING_VERTICAL = 5; + S32 cur_x = FORM_PADDING_HORIZONTAL; + + if (ignore_type != LLNotificationForm::IGNORE_NO) + { + LLCheckBoxCtrl::Params checkbox_p; + checkbox_p.name = "ignore_check"; + checkbox_p.rect = LLRect(cur_x, form_elements.getRect().getHeight() - FORM_PADDING_VERTICAL, cur_x, FORM_PADDING_VERTICAL); + checkbox_p.label = formp->getIgnoreMessage(); + checkbox_p.label_text.text_color = LLColor4::black; + checkbox_p.commit_callback.function = boost::bind(&LLFloaterMediaBrowser::onClickIgnore, this, _1); + + LLCheckBoxCtrl* check = LLUICtrlFactory::create<LLCheckBoxCtrl>(checkbox_p); + check->setRect(check->getBoundingRect()); + form_elements.addChild(check); + cur_x = check->getRect().mRight + FORM_PADDING_HORIZONTAL; + } + + for (S32 i = 0; i < formp->getNumElements(); i++) + { + LLSD form_element = formp->getElement(i); + if (form_element["type"].asString() == "button") + { + LLButton::Params button_p; + button_p.name = form_element["name"]; + button_p.label = form_element["text"]; + button_p.rect = LLRect(cur_x, form_elements.getRect().getHeight() - FORM_PADDING_VERTICAL, cur_x, FORM_PADDING_VERTICAL); + button_p.commit_callback.function = boost::bind(&LLFloaterMediaBrowser::onClickNotificationButton, this, form_element["name"].asString()); + button_p.auto_resize = true; + + LLButton* button = LLUICtrlFactory::create<LLButton>(button_p); + button->autoResize(); + form_elements.addChild(button); + + cur_x = button->getRect().mRight + FORM_PADDING_HORIZONTAL; + } + } + + + form_elements.reshape(cur_x, form_elements.getRect().getHeight()); + + //LLWeb::loadURL(payload["url"], payload["target"]); +} + +void LLFloaterMediaBrowser::hideNotification() +{ + LLLayoutPanel& panel = getChildRef<LLLayoutPanel>("notification_area"); + panel.setVisible(FALSE); +} + //static void LLFloaterMediaBrowser::onEnterAddress(LLUICtrl* ctrl, void* user_data) { @@ -451,3 +525,29 @@ void LLFloaterMediaBrowser::openMedia(const std::string& media_url, const std::s mBrowser->navigateTo(media_url); setCurrentURL(media_url); } + +void LLFloaterMediaBrowser::onCloseNotification() +{ + LLNotifications::instance().cancel(mCurNotification); +} + +void LLFloaterMediaBrowser::onClickIgnore(LLUICtrl* ctrl) +{ + bool check = ctrl->getValue().asBoolean(); + if (mCurNotification && mCurNotification->getForm()->getIgnoreType() == LLNotificationForm::IGNORE_SHOW_AGAIN) + { + // question was "show again" so invert value to get "ignore" + check = !check; + } + mCurNotification->setIgnored(check); +} + +void LLFloaterMediaBrowser::onClickNotificationButton(const std::string& name) +{ + if (!mCurNotification) return; + + LLSD response = mCurNotification->getResponseTemplate(); + response[name] = true; + + mCurNotification->respond(response); +} diff --git a/indra/newview/llfloatermediabrowser.h b/indra/newview/llfloatermediabrowser.h index 5cb7377a36..1a6f3a0352 100644 --- a/indra/newview/llfloatermediabrowser.h +++ b/indra/newview/llfloatermediabrowser.h @@ -33,6 +33,7 @@ class LLComboBox; class LLMediaCtrl; +class LLNotification; class LLFloaterMediaBrowser : public LLFloater, @@ -59,6 +60,8 @@ public: void buildURLHistory(); std::string getSupportURL(); void setCurrentURL(const std::string& url); + void showNotification(boost::shared_ptr<LLNotification> notify); + void hideNotification(); static void onEnterAddress(LLUICtrl* ctrl, void* user_data); static void onClickRefresh(void* user_data); @@ -74,9 +77,14 @@ public: static void onClickSeek(void* user_data); private: + void onCloseNotification(); + void onClickIgnore(LLUICtrl* ctrl); + void onClickNotificationButton(const std::string& name); + LLMediaCtrl* mBrowser; LLComboBox* mAddressCombo; std::string mCurrentURL; + boost::shared_ptr<LLNotification> mCurNotification; std::string mUUID; }; diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 9892b4e357..50aacc6458 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -57,6 +57,7 @@ #include "llnearbychat.h" #include "llnotifications.h" #include "llnotificationsutil.h" +#include "llnotificationtemplate.h" #include "llpanellogin.h" #include "llradiogroup.h" #include "llsearchcombobox.h" diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index 635ceb8380..951aaee705 100644 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -48,6 +48,7 @@ // linden library includes #include "llfocusmgr.h" +#include "llsdutil.h" extern BOOL gRestoreGL; @@ -62,7 +63,8 @@ LLMediaCtrl::Params::Params() texture_width("texture_width", 1024), texture_height("texture_height", 1024), caret_color("caret_color"), - initial_mime_type("initial_mime_type") + initial_mime_type("initial_mime_type"), + media_id("media_id") { tab_stop(false); } @@ -88,6 +90,7 @@ LLMediaCtrl::LLMediaCtrl( const Params& p) : mTextureWidth ( 1024 ), mTextureHeight ( 1024 ), mClearCache(false), + mMediaID(p.media_id), mHomePageMimeType(p.initial_mime_type) { { @@ -934,9 +937,20 @@ void LLMediaCtrl::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event) case MEDIA_EVENT_CLICK_LINK_HREF: { LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_CLICK_LINK_HREF, target is \"" << self->getClickTarget() << "\", uri is " << self->getClickURL() << LL_ENDL; + // retrieve the event parameters + std::string url = self->getClickURL(); + std::string target = self->getClickTarget(); + std::string uuid = self->getClickUUID(); + + if(gSavedSettings.getBOOL("MediaEnablePopups")) + { + LLNotificationsUtil::add("PopupAttempt", + LLSD(), + LLSD().with("source", mMediaID).with("target", target).with("url", url).with("uuid", uuid), + boost::bind(&LLMediaCtrl::onPopup, this, _1, _2)); + } }; - break; - + case MEDIA_EVENT_CLICK_LINK_NOFOLLOW: { LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_CLICK_LINK_NOFOLLOW, uri is " << self->getClickURL() << LL_ENDL; @@ -991,3 +1005,16 @@ std::string LLMediaCtrl::getCurrentNavUrl() return mCurrentNavUrl; } +void LLMediaCtrl::onPopup(const LLSD& notification, const LLSD& response) +{ + if (response["open"]) + { + LLWeb::loadURL(notification["payload"]["url"], notification["payload"]["target"], notification["payload"]["uuid"]); + } + else + { + // Make sure the opening instance knows its window open request was denied, so it can clean things up. + LLViewerMedia::proxyWindowClosed(notification["payload"]["uuid"]); + } + +} diff --git a/indra/newview/llmediactrl.h b/indra/newview/llmediactrl.h index 6fefd8f6d7..54d50ce4d0 100644 --- a/indra/newview/llmediactrl.h +++ b/indra/newview/llmediactrl.h @@ -59,6 +59,7 @@ public: Optional<LLUIColor> caret_color; Optional<std::string> initial_mime_type; + Optional<std::string> media_id; Params(); }; @@ -141,6 +142,7 @@ public: bool getDecoupleTextureSize() { return mDecoupleTextureSize; } void setTextureSize(S32 width, S32 height); + void setMediaID(const std::string& id) { mMediaID = id; } // over-rides @@ -163,6 +165,7 @@ public: private: void onVisibilityChange ( const LLSD& new_visibility ); + void onPopup(const LLSD& notification, const LLSD& response); const S32 mTextureDepthBytes; LLUUID mMediaTextureID; @@ -185,6 +188,7 @@ public: bool mDecoupleTextureSize; S32 mTextureWidth; S32 mTextureHeight; + std::string mMediaID; bool mClearCache; }; diff --git a/indra/newview/llnotificationhandler.h b/indra/newview/llnotificationhandler.h index 3c84a02b68..28a69f2373 100644 --- a/indra/newview/llnotificationhandler.h +++ b/indra/newview/llnotificationhandler.h @@ -276,6 +276,15 @@ public: virtual bool processNotification(const LLSD& notify); }; +/** + * Handler for browser notifications + */ +class LLBrowserNotification : public LLSingleton<LLBrowserNotification> +{ +public: + virtual bool processNotification(const LLSD& notify); + +}; class LLHandlerUtil { diff --git a/indra/newview/llnotificationmanager.cpp b/indra/newview/llnotificationmanager.cpp index 17cf1ab2b8..6988227128 100644 --- a/indra/newview/llnotificationmanager.cpp +++ b/indra/newview/llnotificationmanager.cpp @@ -61,6 +61,7 @@ void LLNotificationManager::init() LLNotificationChannel::buildChannel("IM Notifications", "Visible", LLNotificationFilters::filterBy<std::string>(&LLNotification::getType, "notifytoast")); LLNotificationChannel::buildChannel("Offer", "Visible", LLNotificationFilters::filterBy<std::string>(&LLNotification::getType, "offer")); LLNotificationChannel::buildChannel("Hints", "Visible", LLNotificationFilters::filterBy<std::string>(&LLNotification::getType, "hint")); + LLNotificationChannel::buildChannel("Browser", "Visible", LLNotificationFilters::filterBy<std::string>(&LLNotification::getType, "browser")); LLNotifications::instance().getChannel("Notifications")->connectChanged(boost::bind(&LLNotificationManager::onNotification, this, _1)); LLNotifications::instance().getChannel("NotificationTips")->connectChanged(boost::bind(&LLNotificationManager::onNotification, this, _1)); @@ -70,6 +71,7 @@ void LLNotificationManager::init() LLNotifications::instance().getChannel("IM Notifications")->connectChanged(boost::bind(&LLNotificationManager::onNotification, this, _1)); LLNotifications::instance().getChannel("Offer")->connectChanged(boost::bind(&LLNotificationManager::onNotification, this, _1)); LLNotifications::instance().getChannel("Hints")->connectChanged(boost::bind(&LLHintHandler::processNotification, LLHintHandler::getInstance(), _1)); + LLNotifications::instance().getChannel("Browser")->connectChanged(boost::bind(&LLBrowserNotification::processNotification, LLBrowserNotification::getInstance(), _1)); mNotifyHandlers["notify"] = boost::shared_ptr<LLEventHandler>(new LLScriptHandler(NT_NOTIFY, LLSD())); mNotifyHandlers["notifytip"] = boost::shared_ptr<LLEventHandler>(new LLTipHandler(NT_NOTIFY, LLSD())); diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 860d0b9fd6..48ab122edf 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -2856,13 +2856,6 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla case MEDIA_EVENT_CLICK_LINK_HREF: { LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_CLICK_LINK_HREF, target is \"" << plugin->getClickTarget() << "\", uri is " << plugin->getClickURL() << LL_ENDL; - // retrieve the event parameters - std::string url = plugin->getClickURL(); - std::string target = plugin->getClickTarget(); - std::string uuid = plugin->getClickUUID(); - - // loadURL now handles distinguishing between _blank, _external, and other named targets. - LLWeb::loadURL(url, target, uuid); }; break; case MEDIA_EVENT_PLUGIN_FAILED_LAUNCH: diff --git a/indra/newview/skins/default/xui/en/alert_check_box.xml b/indra/newview/skins/default/xui/en/alert_check_box.xml index 9f1bdb5193..5535a5dc2a 100644 --- a/indra/newview/skins/default/xui/en/alert_check_box.xml +++ b/indra/newview/skins/default/xui/en/alert_check_box.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <check_box - text_enabled_color="LabelTextColor" - text_disabled_color="LabelDisabledColor" + label_text.text_color="LabelTextColor" + label_text.text_readonly_color="LabelDisabledColor" font="SansSerif" follows="left|top" name="check"/>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/floater_first_time_tip.xml b/indra/newview/skins/default/xui/en/floater_first_time_tip.xml index e4ac8fed77..084b3167c7 100644 --- a/indra/newview/skins/default/xui/en/floater_first_time_tip.xml +++ b/indra/newview/skins/default/xui/en/floater_first_time_tip.xml @@ -16,7 +16,7 @@ layout="topleft" left="5" name="DontShowFirstTimeTip_checkbox" - text_enabled_color="white" + label_text.text_color="white" top="225" width="200" /> </floater> 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 3b78da2a79..c220124f46 100644 --- a/indra/newview/skins/default/xui/en/floater_media_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_media_browser.xml @@ -31,6 +31,7 @@ width="800"> <layout_panel auto_resize="false" + default_tab_group="1" height="20" layout="topleft" left="0" @@ -78,6 +79,7 @@ <combo_box allow_text_entry="true" follows="left|top|right" + tab_group="1" height="20" layout="topleft" left_pad="5" @@ -182,76 +184,6 @@ function="MediaBrowser.Assign" /> </button> </layout_panel> - <layout_panel - height="30" - layout="topleft" - name="notification_area" - visible="false" - user_resize="false" - background_visible="true" - bg_alpha_image="Yellow_Gradient" - auto_resize="false" - width="800"> - <layout_stack - top="0" - height="30" - width="800" - left="0" - follows="all" - orientation="horizontal" - > - <layout_panel - height="30"> - <icon value="Popup_Caution" - left="5" - top="7" - width="16" - height="15"/> - <text left_pad="8" - top="10" - height="25" - width="400" - text_color="black" - font="SansSerifSmall" - font.style="BOLD" - name="notification_text" - value="Notification text here" - /> - </layout_panel> - <layout_panel - height="30" - width="270" - auto_resize="false" - name="form_elements"> - <check_box name="enable_check" - left="5" - top="5" - height="20" - width="120" - label="Enable all popups" - text_enabled_color="black" - /> - <button left_pad="5" - width="140" - top="4" - label="Open pop-up window"/> - </layout_panel> - <layout_panel - height="30" - width="25" - auto_resize="false" - name="close_panel"> - <button left="5" - name="close" - width="16" - height="16" - top="8" - image_color="DkGray_66" - image_unselected="Icon_Close_Foreground" - image_selected="Icon_Close_Press"/> - </layout_panel> - </layout_stack> - </layout_panel> <layout_panel height="40" layout="topleft" @@ -260,14 +192,84 @@ top_delta="0" user_resize="false" width="540"> - <web_browser + <web_browser bottom="-30" - follows="left|right|top|bottom" + follows="all" layout="topleft" left="0" name="browser" top="0" width="540" /> + <layout_stack + name="notification_stack" + left="0" + top="0" + width="540" + bottom="-30" + follows="all" + mouse_opaque="false" + orientation="vertical"> + <layout_panel + height="30" + min_height="30" + layout="topleft" + name="notification_area" + visible="false" + user_resize="false" + background_visible="true" + bg_alpha_image="Yellow_Gradient" + auto_resize="false" + width="800"> + <layout_stack + top="0" + height="30" + width="800" + left="0" + follows="bottom|left|right" + orientation="horizontal"> + <layout_panel + height="30"> + <icon name="notification_icon" + left="5" + top="7" + width="16" + height="15"/> + <text left_pad="8" + top="10" + height="25" + width="400" + text_color="black" + font="SansSerifSmall" + font.style="BOLD" + name="notification_text" + value="Notification text here"/> + </layout_panel> + <layout_panel + height="30" + width="130" + auto_resize="false" + user_resize="false" + name="form_elements"/> + <layout_panel + height="30" + width="25" + auto_resize="false" + name="close_panel"> + <button left="5" + name="close_notification" + width="16" + height="16" + top="8" + image_color="DkGray_66" + image_unselected="Icon_Close_Foreground" + image_selected="Icon_Close_Press"/> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel + mouse_opaque="false" + auto_resize="true"/> + </layout_stack> <button follows="bottom|left" height="20" diff --git a/indra/newview/skins/default/xui/en/floater_test_checkbox.xml b/indra/newview/skins/default/xui/en/floater_test_checkbox.xml index 1935edfcc1..95aaadfcf3 100644 --- a/indra/newview/skins/default/xui/en/floater_test_checkbox.xml +++ b/indra/newview/skins/default/xui/en/floater_test_checkbox.xml @@ -41,7 +41,7 @@ layout="topleft" left_delta="0" name="text_enabled_color_checkbox" - text_enabled_color="EmphasisColor" + label_text.text_color="EmphasisColor" top_pad="14" width="150" /> <check_box @@ -51,7 +51,7 @@ layout="topleft" left_delta="0" name="text_disabled_color_checkbox" - text_disabled_color="EmphasisColor_35" + label_text.text_readonly_color="EmphasisColor_35" top_pad="14" width="150" /> <check_box diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 47bb0fe45b..59fcd3513e 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -1,6 +1,5 @@ <?xml version="1.0" ?><notifications> - - <global name="skipnexttime"> + <global name="skipnexttime"> Don't show me this again </global> @@ -97,7 +96,7 @@ </template> <notification - functor="GenericAcknowledge" + functor="GenericAcknowledge" icon="alertmodal.tga" name="MissingAlert" label="Unknown Notification Message" @@ -723,7 +722,7 @@ You need an account to enter [SECOND_LIFE]. Would you like to create one now? <url option="0" name="url" - openexternally = "1"> + target = "_external"> http://join.secondlife.com/ </url> @@ -2033,8 +2032,8 @@ Offer friendship to [NAME]? </notification> <notification - icon="alertmodal.tga" - label="Add Friend" + icon="alertmodal.tga" + label="Add Friend" name="AddFriendWithMessage" type="alertmodal"> Friends can give permissions to track each other on the map and receive online status updates. @@ -6040,7 +6039,6 @@ One or more of your Voice Morphs will expire in less than [INTERVAL] days. [[URL] Click here] to renew your subscription. <unique/> </notification> - LLNotificationsUtil::add("VoiceEffectsNew"); <notification icon="notify.tga" @@ -6453,6 +6451,27 @@ Mute everyone? <unique/> </notification> + <notification + name="PopupAttempt" + icon="Popup_Caution" + type="browser" + duration="10" + > + A pop-up was prevented from opening. + <unique/> + <form name="form"> + <ignore name="ignore" + text="Enable all pop-ups"/> + <button default="true" + index="0" + name="open" + text="Open pop-up window"/> + </form> + + + </notification> + + <global name="UnsupportedCPU"> - Your CPU speed does not meet the minimum requirements. </global> diff --git a/indra/newview/skins/default/xui/en/panel_edit_profile.xml b/indra/newview/skins/default/xui/en/panel_edit_profile.xml index 5072ec3a66..48bd9ace21 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_profile.xml @@ -242,7 +242,7 @@ left="8" name="show_in_search_checkbox" height="15" - text_enabled_color="white" + label_text.text_color="white" top_pad="12" width="100" /> <text diff --git a/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml b/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml index e261d6d555..2be95fc081 100644 --- a/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml +++ b/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml @@ -17,6 +17,7 @@ left="10" name="stack" top_pad="10" + orientation="vertical" width="313"> <layout_panel height="550" diff --git a/indra/newview/skins/default/xui/en/widgets/check_box.xml b/indra/newview/skins/default/xui/en/widgets/check_box.xml index 726ae803fe..7a60bee338 100644 --- a/indra/newview/skins/default/xui/en/widgets/check_box.xml +++ b/indra/newview/skins/default/xui/en/widgets/check_box.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<check_box text_enabled_color="LabelTextColor" - text_disabled_color="LabelDisabledColor" - font="SansSerifSmall" +<check_box font="SansSerifSmall" follows="left|top"> - <check_box.label_text name="checkbox label" /> + <check_box.label_text name="checkbox label" + text_color="LabelTextColor" + text_readonly_color="LabelDisabledColor"/> <check_box.check_button name="CheckboxCtrl Button" commit_on_return="false" label="" |