diff options
author | maksymsproductengine <maksymsproductengine@lindenlab.com> | 2014-09-09 21:53:14 +0300 |
---|---|---|
committer | maksymsproductengine <maksymsproductengine@lindenlab.com> | 2014-09-09 21:53:14 +0300 |
commit | b4704f5f8bf4b72edcf00aa74759ae73c89c5422 (patch) | |
tree | 691596f632ef36d7ec1c0705ada0a9f4070f8139 /indra/newview | |
parent | 1285807ec2f58c7dcab2f747461195e126ef26e3 (diff) | |
parent | b1c5edc5135b4ade68b0aa839506ea013dc2f40d (diff) |
Merge viewer-bear and become version 3.7.16
Diffstat (limited to 'indra/newview')
69 files changed, 1775 insertions, 1914 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 748bd90c61..e8f4144e70 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1769,7 +1769,6 @@ if (WINDOWS) media_plugin_webkit winmm_shim windows-crash-logger - windows-updater ) if (FMODEX) @@ -1815,7 +1814,6 @@ if (WINDOWS) add_dependencies(${VIEWER_BINARY_NAME} SLPlugin - windows-updater windows-crash-logger ) diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 03d7b8fb9b..36f601f10e 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -3.7.15 +3.7.16 diff --git a/indra/newview/app_settings/filters/BlackAndWhite.xml b/indra/newview/app_settings/filters/BlackAndWhite.xml index 101ed8233a..7894628d29 100644 --- a/indra/newview/app_settings/filters/BlackAndWhite.xml +++ b/indra/newview/app_settings/filters/BlackAndWhite.xml @@ -1,20 +1,6 @@ <llsd> <array> <array> - <string>linearize</string> - <real>0.01</real> - <real>1.0</real> - <real>1.0</real> - <real>1.0</real> - </array> - <array> - <string>contrast</string> - <real>0.8</real> - <real>1.0</real> - <real>1.0</real> - <real>1.0</real> - </array> - <array> <string>grayscale</string> </array> </array> diff --git a/indra/newview/app_settings/filters/Sepia.xml b/indra/newview/app_settings/filters/Sepia.xml index 3d577b2998..81d7caf0eb 100644 --- a/indra/newview/app_settings/filters/Sepia.xml +++ b/indra/newview/app_settings/filters/Sepia.xml @@ -1,31 +1,6 @@ <llsd> <array> <array> - <string>linearize</string> - <real>0.01</real> - <real>1.0</real> - <real>1.0</real> - <real>1.0</real> - </array> - <array> - <string>contrast</string> - <real>0.8</real> - <real>1.0</real> - <real>1.0</real> - <real>1.0</real> - </array> - <array> - <string>stencil</string> - <string>vignette</string> - <string>fade</string> - <real>0.5</real> - <real>1.0</real> - <real>0.0</real> - <real>0.0</real> - <real>1.0</real> - <real>4.0</real> - </array> - <array> <string>sepia</string> </array> </array> diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 86a7def14f..fbb1637090 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -80,7 +80,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <integer>0</integer> + <integer>1</integer> </map> <key>AgentPause</key> <map> @@ -11452,17 +11452,6 @@ <key>Value</key> <integer>0</integer> </map> - <key>SnapshotFiltersEnabled</key> - <map> - <key>Comment</key> - <string>Enable filters in the Snapshot Advanced panel (experimental).</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> <key>SnapshotFormat</key> <map> <key>Comment</key> diff --git a/indra/newview/llavatariconctrl.cpp b/indra/newview/llavatariconctrl.cpp index b89b0d9900..746b541f9d 100755 --- a/indra/newview/llavatariconctrl.cpp +++ b/indra/newview/llavatariconctrl.cpp @@ -247,7 +247,7 @@ void LLAvatarIconCtrl::setValue(const LLSD& value) { LLAvatarPropertiesProcessor* app = LLAvatarPropertiesProcessor::getInstance(); - if (mAvatarId.notNull() && mAvatarId != value.asUUID()) + if (mAvatarId.notNull()) { app->removeObserver(mAvatarId, this); } @@ -255,7 +255,6 @@ void LLAvatarIconCtrl::setValue(const LLSD& value) if (mAvatarId != value.asUUID()) { mAvatarId = value.asUUID(); - app->addObserver(mAvatarId, this); // *BUG: This will return stale icons if a user changes their // profile picture. However, otherwise we send too many upstream @@ -271,7 +270,7 @@ void LLAvatarIconCtrl::setValue(const LLSD& value) // People API, rather than sending AvatarPropertyRequest // messages. People API already hits the user table. LLIconCtrl::setValue(mDefaultIconName); - // duplicated requests are filtered later if there are any + app->addObserver(mAvatarId, this); app->sendAvatarPropertiesRequest(mAvatarId); } } diff --git a/indra/newview/llfloaterfacebook.cpp b/indra/newview/llfloaterfacebook.cpp index 9e3f917eae..6888e076aa 100644 --- a/indra/newview/llfloaterfacebook.cpp +++ b/indra/newview/llfloaterfacebook.cpp @@ -58,7 +58,6 @@ static LLPanelInjector<LLFacebookStatusPanel> t_panel_status("llfacebookstatuspa static LLPanelInjector<LLFacebookPhotoPanel> t_panel_photo("llfacebookphotopanel"); static LLPanelInjector<LLFacebookCheckinPanel> t_panel_checkin("llfacebookcheckinpanel"); static LLPanelInjector<LLFacebookFriendsPanel> t_panel_friends("llfacebookfriendspanel"); -static LLPanelInjector<LLFacebookAccountPanel> t_panel_account("llfacebookaccountpanel"); const S32 MAX_POSTCARD_DATASIZE = 1024 * 1024; // one megabyte const std::string DEFAULT_CHECKIN_LOCATION_URL = "http://maps.secondlife.com/"; @@ -99,13 +98,29 @@ S32 compute_jpeg_quality(S32 width, S32 height) LLFacebookStatusPanel::LLFacebookStatusPanel() : mMessageTextEditor(NULL), mPostButton(NULL), - mCancelButton(NULL) + mCancelButton(NULL), + mAccountCaptionLabel(NULL), + mAccountNameLabel(NULL), + mPanelButtons(NULL), + mConnectButton(NULL), + mDisconnectButton(NULL) { + mCommitCallbackRegistrar.add("SocialSharing.Connect", boost::bind(&LLFacebookStatusPanel::onConnect, this)); + mCommitCallbackRegistrar.add("SocialSharing.Disconnect", boost::bind(&LLFacebookStatusPanel::onDisconnect, this)); + + setVisibleCallback(boost::bind(&LLFacebookStatusPanel::onVisibilityChange, this, _2)); + mCommitCallbackRegistrar.add("SocialSharing.SendStatus", boost::bind(&LLFacebookStatusPanel::onSend, this)); } BOOL LLFacebookStatusPanel::postBuild() { + mAccountCaptionLabel = getChild<LLTextBox>("account_caption_label"); + mAccountNameLabel = getChild<LLTextBox>("account_name_label"); + mPanelButtons = getChild<LLUICtrl>("panel_buttons"); + mConnectButton = getChild<LLUICtrl>("connect_btn"); + mDisconnectButton = getChild<LLUICtrl>("disconnect_btn"); + mMessageTextEditor = getChild<LLUICtrl>("status_message"); mPostButton = getChild<LLUICtrl>("post_status_btn"); mCancelButton = getChild<LLUICtrl>("cancel_status_btn"); @@ -115,6 +130,16 @@ BOOL LLFacebookStatusPanel::postBuild() void LLFacebookStatusPanel::draw() { + LLFacebookConnect::EConnectionState connection_state = LLFacebookConnect::instance().getConnectionState(); + + //Disable the 'disconnect' button and the 'use another account' button when disconnecting in progress + bool disconnecting = connection_state == LLFacebookConnect::FB_DISCONNECTING; + mDisconnectButton->setEnabled(!disconnecting); + + //Disable the 'connect' button when a connection is in progress + bool connecting = connection_state == LLFacebookConnect::FB_CONNECTION_IN_PROGRESS; + mConnectButton->setEnabled(!connecting); + if (mMessageTextEditor && mPostButton && mCancelButton) { bool no_ongoing_connection = !(LLFacebookConnect::instance().isTransactionOngoing()); @@ -131,7 +156,7 @@ void LLFacebookStatusPanel::onSend() { LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookStatusPanel"); // just in case it is already listening LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookStatusPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectStateChange, this, _1)); - + // Connect to Facebook if necessary and then post if (LLFacebookConnect::instance().isConnected()) { @@ -160,6 +185,24 @@ bool LLFacebookStatusPanel::onFacebookConnectStateChange(const LLSD& data) return false; } +bool LLFacebookStatusPanel::onFacebookConnectAccountStateChange(const LLSD& data) +{ + if(LLFacebookConnect::instance().isConnected()) + { + //In process of disconnecting so leave the layout as is + if(data.get("enum").asInteger() != LLFacebookConnect::FB_DISCONNECTING) + { + showConnectedLayout(); + } + } + else + { + showDisconnectedLayout(); + } + + return false; +} + void LLFacebookStatusPanel::sendStatus() { std::string message = mMessageTextEditor->getValue().asString(); @@ -169,6 +212,103 @@ void LLFacebookStatusPanel::sendStatus() } } +void LLFacebookStatusPanel::onVisibilityChange(BOOL visible) +{ + if(visible) + { + LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookAccountPanel"); + LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectAccountStateChange, this, _1)); + + LLEventPumps::instance().obtain("FacebookConnectInfo").stopListening("LLFacebookAccountPanel"); + LLEventPumps::instance().obtain("FacebookConnectInfo").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectInfoChange, this)); + + //Connected + if(LLFacebookConnect::instance().isConnected()) + { + showConnectedLayout(); + } + //Check if connected (show disconnected layout in meantime) + else + { + showDisconnectedLayout(); + } + if ((LLFacebookConnect::instance().getConnectionState() == LLFacebookConnect::FB_NOT_CONNECTED) || + (LLFacebookConnect::instance().getConnectionState() == LLFacebookConnect::FB_CONNECTION_FAILED)) + { + LLFacebookConnect::instance().checkConnectionToFacebook(); + } + } + else + { + LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookAccountPanel"); + LLEventPumps::instance().obtain("FacebookConnectInfo").stopListening("LLFacebookAccountPanel"); + } +} + +bool LLFacebookStatusPanel::onFacebookConnectInfoChange() +{ + LLSD info = LLFacebookConnect::instance().getInfo(); + std::string clickable_name; + + //Strings of format [http://www.somewebsite.com Click Me] become clickable text + if(info.has("link") && info.has("name")) + { + clickable_name = "[" + info["link"].asString() + " " + info["name"].asString() + "]"; + } + + mAccountNameLabel->setText(clickable_name); + + return false; +} + +void LLFacebookStatusPanel::showConnectButton() +{ + if(!mConnectButton->getVisible()) + { + mConnectButton->setVisible(TRUE); + mDisconnectButton->setVisible(FALSE); + } +} + +void LLFacebookStatusPanel::hideConnectButton() +{ + if(mConnectButton->getVisible()) + { + mConnectButton->setVisible(FALSE); + mDisconnectButton->setVisible(TRUE); + } +} + +void LLFacebookStatusPanel::showDisconnectedLayout() +{ + mAccountCaptionLabel->setText(getString("facebook_disconnected")); + mAccountNameLabel->setText(std::string("")); + showConnectButton(); +} + +void LLFacebookStatusPanel::showConnectedLayout() +{ + LLFacebookConnect::instance().loadFacebookInfo(); + + mAccountCaptionLabel->setText(getString("facebook_connected")); + hideConnectButton(); +} + +void LLFacebookStatusPanel::onConnect() +{ + LLFacebookConnect::instance().checkConnectionToFacebook(true); + + //Clear only the facebook browser cookies so that the facebook login screen appears + LLViewerMedia::getCookieStore()->removeCookiesByDomain(".facebook.com"); +} + +void LLFacebookStatusPanel::onDisconnect() +{ + LLFacebookConnect::instance().disconnectFromFacebook(); + + LLViewerMedia::getCookieStore()->removeCookiesByDomain(".facebook.com"); +} + void LLFacebookStatusPanel::clearAndClose() { mMessageTextEditor->setValue(""); @@ -185,7 +325,6 @@ void LLFacebookStatusPanel::clearAndClose() /////////////////////////// LLFacebookPhotoPanel::LLFacebookPhotoPanel() : -mSnapshotPanel(NULL), mResolutionComboBox(NULL), mRefreshBtn(NULL), mBtnPreview(NULL), @@ -213,7 +352,6 @@ BOOL LLFacebookPhotoPanel::postBuild() { setVisibleCallback(boost::bind(&LLFacebookPhotoPanel::onVisibilityChange, this, _2)); - mSnapshotPanel = getChild<LLUICtrl>("snapshot_panel"); mResolutionComboBox = getChild<LLUICtrl>("resolution_combobox"); mResolutionComboBox->setValue("[i1200,i630]"); // hardcoded defaults ftw! mResolutionComboBox->setCommitCallback(boost::bind(&LLFacebookPhotoPanel::updateResolution, this, TRUE)); @@ -300,16 +438,9 @@ void LLFacebookPhotoPanel::draw() // calc preview offset within the preview rect const S32 local_offset_x = (thumbnail_rect.getWidth() - thumbnail_w) / 2 ; const S32 local_offset_y = (thumbnail_rect.getHeight() - thumbnail_h) / 2 ; + S32 offset_x = thumbnail_rect.mLeft + local_offset_x; + S32 offset_y = thumbnail_rect.mBottom + local_offset_y; - // calc preview offset within the floater rect - // Hack : To get the full offset, we need to take into account each and every offset of each widgets up to the floater. - // This is almost as arbitrary as using a fixed offset so that's what we do here for the sake of simplicity. - // *TODO : Get the offset looking through the hierarchy of widgets, should be done in postBuild() so to avoid traversing the hierarchy each time. - S32 offset_x = thumbnail_rect.mLeft + local_offset_x - 1; - S32 offset_y = thumbnail_rect.mBottom + local_offset_y - 39; - - mSnapshotPanel->localPointToOtherView(offset_x, offset_y, &offset_x, &offset_y, getParentByType<LLFloater>()); - gGL.matrixMode(LLRender::MM_MODELVIEW); // Apply floater transparency to the texture unless the floater is focused. F32 alpha = getTransparencyType() == TT_ACTIVE ? 1.0f : getCurrentTransparency(); @@ -344,7 +475,7 @@ void LLFacebookPhotoPanel::onVisibilityChange(BOOL visible) LLSnapshotLivePreview* preview = getPreviewView(); if(preview) { - lldebugs << "opened, updating snapshot" << llendl; + LL_DEBUGS() << "opened, updating snapshot" << LL_ENDL; preview->updateSnapshot(TRUE); } } @@ -477,7 +608,7 @@ void LLFacebookPhotoPanel::updateControls() BOOL got_snap = previewp && previewp->getSnapshotUpToDate(); // *TODO: Separate maximum size for Web images from postcards - lldebugs << "Is snapshot up-to-date? " << got_snap << llendl; + LL_DEBUGS() << "Is snapshot up-to-date? " << got_snap << LL_ENDL; updateResolution(FALSE); } @@ -507,13 +638,13 @@ void LLFacebookPhotoPanel::updateResolution(BOOL do_update) if (width == 0 || height == 0) { // take resolution from current window size - lldebugs << "Setting preview res from window: " << gViewerWindow->getWindowWidthRaw() << "x" << gViewerWindow->getWindowHeightRaw() << llendl; + LL_DEBUGS() << "Setting preview res from window: " << gViewerWindow->getWindowWidthRaw() << "x" << gViewerWindow->getWindowHeightRaw() << LL_ENDL; previewp->setSize(gViewerWindow->getWindowWidthRaw(), gViewerWindow->getWindowHeightRaw()); } else { // use the resolution from the selected pre-canned drop-down choice - lldebugs << "Setting preview res selected from combo: " << width << "x" << height << llendl; + LL_DEBUGS() << "Setting preview res selected from combo: " << width << "x" << height << LL_ENDL; previewp->setSize(width, height); } @@ -887,164 +1018,6 @@ bool LLFacebookFriendsPanel::onConnectedToFacebook(const LLSD& data) return false; } -/////////////////////////// -//LLFacebookAccountPanel////// -/////////////////////////// - -LLFacebookAccountPanel::LLFacebookAccountPanel() : -mAccountCaptionLabel(NULL), -mAccountNameLabel(NULL), -mPanelButtons(NULL), -mConnectButton(NULL), -mDisconnectButton(NULL) -{ - mCommitCallbackRegistrar.add("SocialSharing.Connect", boost::bind(&LLFacebookAccountPanel::onConnect, this)); - mCommitCallbackRegistrar.add("SocialSharing.Disconnect", boost::bind(&LLFacebookAccountPanel::onDisconnect, this)); - - setVisibleCallback(boost::bind(&LLFacebookAccountPanel::onVisibilityChange, this, _2)); -} - -BOOL LLFacebookAccountPanel::postBuild() -{ - mAccountCaptionLabel = getChild<LLTextBox>("account_caption_label"); - mAccountNameLabel = getChild<LLTextBox>("account_name_label"); - mPanelButtons = getChild<LLUICtrl>("panel_buttons"); - mConnectButton = getChild<LLUICtrl>("connect_btn"); - mDisconnectButton = getChild<LLUICtrl>("disconnect_btn"); - - return LLPanel::postBuild(); -} - -void LLFacebookAccountPanel::draw() -{ - LLFacebookConnect::EConnectionState connection_state = LLFacebookConnect::instance().getConnectionState(); - - //Disable the 'disconnect' button and the 'use another account' button when disconnecting in progress - bool disconnecting = connection_state == LLFacebookConnect::FB_DISCONNECTING; - mDisconnectButton->setEnabled(!disconnecting); - - //Disable the 'connect' button when a connection is in progress - bool connecting = connection_state == LLFacebookConnect::FB_CONNECTION_IN_PROGRESS; - mConnectButton->setEnabled(!connecting); - - LLPanel::draw(); -} - -void LLFacebookAccountPanel::onVisibilityChange(BOOL visible) -{ - if(visible) - { - LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookAccountPanel"); - LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookAccountPanel::onFacebookConnectStateChange, this, _1)); - - LLEventPumps::instance().obtain("FacebookConnectInfo").stopListening("LLFacebookAccountPanel"); - LLEventPumps::instance().obtain("FacebookConnectInfo").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookAccountPanel::onFacebookConnectInfoChange, this)); - - //Connected - if(LLFacebookConnect::instance().isConnected()) - { - showConnectedLayout(); - } - //Check if connected (show disconnected layout in meantime) - else - { - showDisconnectedLayout(); - } - if ((LLFacebookConnect::instance().getConnectionState() == LLFacebookConnect::FB_NOT_CONNECTED) || - (LLFacebookConnect::instance().getConnectionState() == LLFacebookConnect::FB_CONNECTION_FAILED)) - { - LLFacebookConnect::instance().checkConnectionToFacebook(); - } - } - else - { - LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookAccountPanel"); - LLEventPumps::instance().obtain("FacebookConnectInfo").stopListening("LLFacebookAccountPanel"); - } -} - -bool LLFacebookAccountPanel::onFacebookConnectStateChange(const LLSD& data) -{ - if(LLFacebookConnect::instance().isConnected()) - { - //In process of disconnecting so leave the layout as is - if(data.get("enum").asInteger() != LLFacebookConnect::FB_DISCONNECTING) - { - showConnectedLayout(); - } - } - else - { - showDisconnectedLayout(); - } - - return false; -} - -bool LLFacebookAccountPanel::onFacebookConnectInfoChange() -{ - LLSD info = LLFacebookConnect::instance().getInfo(); - std::string clickable_name; - - //Strings of format [http://www.somewebsite.com Click Me] become clickable text - if(info.has("link") && info.has("name")) - { - clickable_name = "[" + info["link"].asString() + " " + info["name"].asString() + "]"; - } - - mAccountNameLabel->setText(clickable_name); - - return false; -} - -void LLFacebookAccountPanel::showConnectButton() -{ - if(!mConnectButton->getVisible()) - { - mConnectButton->setVisible(TRUE); - mDisconnectButton->setVisible(FALSE); - } -} - -void LLFacebookAccountPanel::hideConnectButton() -{ - if(mConnectButton->getVisible()) - { - mConnectButton->setVisible(FALSE); - mDisconnectButton->setVisible(TRUE); - } -} - -void LLFacebookAccountPanel::showDisconnectedLayout() -{ - mAccountCaptionLabel->setText(getString("facebook_disconnected")); - mAccountNameLabel->setText(std::string("")); - showConnectButton(); -} - -void LLFacebookAccountPanel::showConnectedLayout() -{ - LLFacebookConnect::instance().loadFacebookInfo(); - - mAccountCaptionLabel->setText(getString("facebook_connected")); - hideConnectButton(); -} - -void LLFacebookAccountPanel::onConnect() -{ - LLFacebookConnect::instance().checkConnectionToFacebook(true); - - //Clear only the facebook browser cookies so that the facebook login screen appears - LLViewerMedia::getCookieStore()->removeCookiesByDomain(".facebook.com"); -} - -void LLFacebookAccountPanel::onDisconnect() -{ - LLFacebookConnect::instance().disconnectFromFacebook(); - - LLViewerMedia::getCookieStore()->removeCookiesByDomain(".facebook.com"); -} - //////////////////////// //LLFloaterFacebook/////// //////////////////////// @@ -1094,7 +1067,7 @@ void LLFloaterFacebook::showPhotoPanel() LLTabContainer* parent = dynamic_cast<LLTabContainer*>(mFacebookPhotoPanel->getParent()); if (!parent) { - llwarns << "Cannot find panel container" << llendl; + LL_WARNS() << "Cannot find panel container" << LL_ENDL; return; } diff --git a/indra/newview/llfloaterfacebook.h b/indra/newview/llfloaterfacebook.h index 34356412d6..a4ca666b20 100644 --- a/indra/newview/llfloaterfacebook.h +++ b/indra/newview/llfloaterfacebook.h @@ -46,11 +46,28 @@ public: void draw(); void onSend(); bool onFacebookConnectStateChange(const LLSD& data); + bool onFacebookConnectAccountStateChange(const LLSD& data); void sendStatus(); void clearAndClose(); private: + void onVisibilityChange(BOOL new_visibility); + bool onFacebookConnectInfoChange(); + void onConnect(); + void onUseAnotherAccount(); + void onDisconnect(); + + void showConnectButton(); + void hideConnectButton(); + void showDisconnectedLayout(); + void showConnectedLayout(); + + LLTextBox * mAccountCaptionLabel; + LLTextBox * mAccountNameLabel; + LLUICtrl * mPanelButtons; + LLUICtrl * mConnectButton; + LLUICtrl * mDisconnectButton; LLUICtrl* mMessageTextEditor; LLUICtrl* mPostButton; LLUICtrl* mCancelButton; @@ -87,7 +104,6 @@ private: LLHandle<LLView> mPreviewHandle; - LLUICtrl * mSnapshotPanel; LLUICtrl * mResolutionComboBox; LLUICtrl * mFilterComboBox; LLUICtrl * mRefreshBtn; @@ -147,33 +163,6 @@ private: LLAvatarList* mSuggestedFriends; }; -class LLFacebookAccountPanel : public LLPanel -{ -public: - LLFacebookAccountPanel(); - BOOL postBuild(); - void draw(); - -private: - void onVisibilityChange(BOOL new_visibility); - bool onFacebookConnectStateChange(const LLSD& data); - bool onFacebookConnectInfoChange(); - void onConnect(); - void onUseAnotherAccount(); - void onDisconnect(); - - void showConnectButton(); - void hideConnectButton(); - void showDisconnectedLayout(); - void showConnectedLayout(); - - LLTextBox * mAccountCaptionLabel; - LLTextBox * mAccountNameLabel; - LLUICtrl * mPanelButtons; - LLUICtrl * mConnectButton; - LLUICtrl * mDisconnectButton; -}; - class LLFloaterFacebook : public LLFloater { public: diff --git a/indra/newview/llfloaterflickr.cpp b/indra/newview/llfloaterflickr.cpp index 4e6d98ecfa..36afab86b7 100644 --- a/indra/newview/llfloaterflickr.cpp +++ b/indra/newview/llfloaterflickr.cpp @@ -65,7 +65,6 @@ const std::string FLICKR_MACHINE_TAGS_NAMESPACE = "secondlife"; /////////////////////////// LLFlickrPhotoPanel::LLFlickrPhotoPanel() : -mSnapshotPanel(NULL), mResolutionComboBox(NULL), mRefreshBtn(NULL), mBtnPreview(NULL), @@ -96,7 +95,6 @@ BOOL LLFlickrPhotoPanel::postBuild() { setVisibleCallback(boost::bind(&LLFlickrPhotoPanel::onVisibilityChange, this, _2)); - mSnapshotPanel = getChild<LLUICtrl>("snapshot_panel"); mResolutionComboBox = getChild<LLUICtrl>("resolution_combobox"); mResolutionComboBox->setCommitCallback(boost::bind(&LLFlickrPhotoPanel::updateResolution, this, TRUE)); mFilterComboBox = getChild<LLUICtrl>("filters_combobox"); @@ -191,16 +189,9 @@ void LLFlickrPhotoPanel::draw() // calc preview offset within the preview rect const S32 local_offset_x = (thumbnail_rect.getWidth() - thumbnail_w) / 2 ; const S32 local_offset_y = (thumbnail_rect.getHeight() - thumbnail_h) / 2 ; + S32 offset_x = thumbnail_rect.mLeft + local_offset_x; + S32 offset_y = thumbnail_rect.mBottom + local_offset_y; - // calc preview offset within the floater rect - // Hack : To get the full offset, we need to take into account each and every offset of each widgets up to the floater. - // This is almost as arbitrary as using a fixed offset so that's what we do here for the sake of simplicity. - // *TODO : Get the offset looking through the hierarchy of widgets, should be done in postBuild() so to avoid traversing the hierarchy each time. - S32 offset_x = thumbnail_rect.mLeft + local_offset_x - 1; - S32 offset_y = thumbnail_rect.mBottom + local_offset_y - 39; - - mSnapshotPanel->localPointToOtherView(offset_x, offset_y, &offset_x, &offset_y, getParentByType<LLFloater>()); - gGL.matrixMode(LLRender::MM_MODELVIEW); // Apply floater transparency to the texture unless the floater is focused. F32 alpha = getTransparencyType() == TT_ACTIVE ? 1.0f : getCurrentTransparency(); @@ -235,7 +226,7 @@ void LLFlickrPhotoPanel::onVisibilityChange(BOOL visible) LLSnapshotLivePreview* preview = getPreviewView(); if(preview) { - lldebugs << "opened, updating snapshot" << llendl; + LL_DEBUGS() << "opened, updating snapshot" << LL_ENDL; preview->updateSnapshot(TRUE); } } @@ -427,7 +418,7 @@ void LLFlickrPhotoPanel::updateControls() BOOL got_snap = previewp && previewp->getSnapshotUpToDate(); // *TODO: Separate maximum size for Web images from postcards - lldebugs << "Is snapshot up-to-date? " << got_snap << llendl; + LL_DEBUGS() << "Is snapshot up-to-date? " << got_snap << LL_ENDL; updateResolution(FALSE); } @@ -457,13 +448,13 @@ void LLFlickrPhotoPanel::updateResolution(BOOL do_update) if (width == 0 || height == 0) { // take resolution from current window size - lldebugs << "Setting preview res from window: " << gViewerWindow->getWindowWidthRaw() << "x" << gViewerWindow->getWindowHeightRaw() << llendl; + LL_DEBUGS() << "Setting preview res from window: " << gViewerWindow->getWindowWidthRaw() << "x" << gViewerWindow->getWindowHeightRaw() << LL_ENDL; previewp->setSize(gViewerWindow->getWindowWidthRaw(), gViewerWindow->getWindowHeightRaw()); } else { // use the resolution from the selected pre-canned drop-down choice - lldebugs << "Setting preview res selected from combo: " << width << "x" << height << llendl; + LL_DEBUGS() << "Setting preview res selected from combo: " << width << "x" << height << LL_ENDL; previewp->setSize(width, height); } @@ -726,7 +717,7 @@ void LLFloaterFlickr::showPhotoPanel() LLTabContainer* parent = dynamic_cast<LLTabContainer*>(mFlickrPhotoPanel->getParent()); if (!parent) { - llwarns << "Cannot find panel container" << llendl; + LL_WARNS() << "Cannot find panel container" << LL_ENDL; return; } diff --git a/indra/newview/llfloaterflickr.h b/indra/newview/llfloaterflickr.h index ba27c9a3d8..74da3bcea9 100644 --- a/indra/newview/llfloaterflickr.h +++ b/indra/newview/llfloaterflickr.h @@ -67,7 +67,6 @@ private: LLHandle<LLView> mPreviewHandle; - LLUICtrl * mSnapshotPanel; LLUICtrl * mResolutionComboBox; LLUICtrl * mFilterComboBox; LLUICtrl * mRefreshBtn; diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index c094eb3180..7621c35ed2 100755 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -1517,6 +1517,8 @@ void LLPanelLandObjects::onClickRefresh(void* userdata) LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion(); if (!region) return; + self->mBtnRefresh->setEnabled(false); + // ready the list for results self->mOwnerList->deleteAllItems(); self->mOwnerList->setCommentText(LLTrans::getString("Searching")); @@ -1576,6 +1578,7 @@ void LLPanelLandObjects::processParcelObjectOwnersReply(LLMessageSystem *msg, vo { msg->getU32("DataExtended", "TimeStamp", most_recent_time, i); } + if (owner_id.isNull()) { continue; @@ -1611,10 +1614,10 @@ void LLPanelLandObjects::processParcelObjectOwnersReply(LLMessageSystem *msg, vo item_params.columns.add().value(LLDate((time_t)most_recent_time)).font(FONT).column("mostrecent").type("date"); self->mOwnerList->addNameItemRow(item_params); - LL_DEBUGS() << "object owner " << owner_id << " (" << (is_group_owned ? "group" : "agent") << ") owns " << object_count << " objects." << LL_ENDL; } + // check for no results if (0 == self->mOwnerList->getItemCount()) { @@ -1624,6 +1627,8 @@ void LLPanelLandObjects::processParcelObjectOwnersReply(LLMessageSystem *msg, vo { self->mOwnerList->setEnabled(TRUE); } + + self->mBtnRefresh->setEnabled(true); } // static diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 5e9b25b474..a2af9da670 100755 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -481,6 +481,17 @@ void LLFloaterRegionInfo::refresh() } } +void LLFloaterRegionInfo::enableTopButtons() +{ + getChildView("top_colliders_btn")->setEnabled(true); + getChildView("top_scripts_btn")->setEnabled(true); +} + +void LLFloaterRegionInfo::disableTopButtons() +{ + getChildView("top_colliders_btn")->setEnabled(false); + getChildView("top_scripts_btn")->setEnabled(false); +} ///---------------------------------------------------------------------------- /// Local class implementation @@ -1033,6 +1044,11 @@ void LLPanelRegionDebugInfo::onClickTopColliders(void* data) if(!instance) return; LLFloaterReg::showInstance("top_objects"); instance->clearList(); + instance->disableRefreshBtn(); + + self->getChildView("top_colliders_btn")->setEnabled(false); + self->getChildView("top_scripts_btn")->setEnabled(false); + self->sendEstateOwnerMessage(gMessageSystem, "colliders", invoice, strings); } @@ -1047,6 +1063,11 @@ void LLPanelRegionDebugInfo::onClickTopScripts(void* data) if(!instance) return; LLFloaterReg::showInstance("top_objects"); instance->clearList(); + instance->disableRefreshBtn(); + + self->getChildView("top_colliders_btn")->setEnabled(false); + self->getChildView("top_scripts_btn")->setEnabled(false); + self->sendEstateOwnerMessage(gMessageSystem, "scripts", invoice, strings); } diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 5bc4273d5f..792f60ebc8 100755 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -96,6 +96,8 @@ public: void requestRegionInfo(); void requestMeshRezInfo(); + void enableTopButtons(); + void disableTopButtons(); private: diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 960d3f35dd..8677028942 100755 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -62,7 +62,6 @@ const S32 MAX_TEXTURE_SIZE = 512 ; //max upload texture size 512 * 512 static LLDefaultChildRegistry::Register<LLSnapshotFloaterView> r("snapshot_floater_view"); - ///---------------------------------------------------------------------------- /// Class LLFloaterSnapshot::Impl ///---------------------------------------------------------------------------- @@ -96,7 +95,6 @@ public: static void onClickAutoSnap(LLUICtrl *ctrl, void* data); static void onClickFilter(LLUICtrl *ctrl, void* data); //static void onClickAdvanceSnap(LLUICtrl *ctrl, void* data); - static void onClickMore(void* data) ; static void onClickUICheck(LLUICtrl *ctrl, void* data); static void onClickHUDCheck(LLUICtrl *ctrl, void* data); static void applyKeepAspectCheck(LLFloaterSnapshot* view, BOOL checked); @@ -264,29 +262,34 @@ void LLFloaterSnapshot::Impl::updateLayout(LLFloaterSnapshot* floaterp) BOOL advanced = gSavedSettings.getBOOL("AdvanceSnapshot"); - // Show/hide advanced options. - LLPanel* advanced_options_panel = floaterp->getChild<LLPanel>("advanced_options_panel"); - floaterp->getChild<LLButton>("advanced_options_btn")->setImageOverlay(advanced ? "TabIcon_Open_Off" : "TabIcon_Close_Off"); - if (advanced != advanced_options_panel->getVisible()) + //BD - Automatically calculate the size of our snapshot window to enlarge + // the snapshot preview to its maximum size, this is especially helpfull + // for pretty much every aspect ratio other than 1:1. + F32 panel_width = 400.f * gViewerWindow->getWorldViewAspectRatio(); + + //BD - Make sure we clamp at 700 here because 700 would be for 16:9 which we + // consider the maximum. Everything bigger will be clamped and will have + // a slightly smaller preview window which most likely won't fill up the + // whole snapshot floater as it should. + if(panel_width > 700.f) { - S32 panel_width = advanced_options_panel->getRect().getWidth(); - floaterp->getChild<LLPanel>("advanced_options_panel")->setVisible(advanced); - S32 floater_width = floaterp->getRect().getWidth(); - floater_width += (advanced ? panel_width : -panel_width); - floaterp->reshape(floater_width, floaterp->getRect().getHeight()); + panel_width = 700.f; } - if(!advanced) //set to original window resolution + S32 floater_width = 224.f; + if(advanced) { - previewp->mKeepAspectRatio = TRUE; - - floaterp->getChild<LLComboBox>("profile_size_combo")->setCurrentByIndex(0); - floaterp->getChild<LLComboBox>("postcard_size_combo")->setCurrentByIndex(0); - floaterp->getChild<LLComboBox>("texture_size_combo")->setCurrentByIndex(0); - floaterp->getChild<LLComboBox>("local_size_combo")->setCurrentByIndex(0); + floater_width = floater_width + panel_width; + } - LLSnapshotLivePreview* previewp = getPreviewView(floaterp); - previewp->setSize(gViewerWindow->getWindowWidthRaw(), gViewerWindow->getWindowHeightRaw()); + LLUICtrl* thumbnail_placeholder = floaterp->getChild<LLUICtrl>("thumbnail_placeholder"); + thumbnail_placeholder->setVisible(advanced); + thumbnail_placeholder->reshape(panel_width, thumbnail_placeholder->getRect().getHeight()); + floaterp->getChild<LLUICtrl>("image_res_text")->setVisible(advanced); + floaterp->getChild<LLUICtrl>("file_size_label")->setVisible(advanced); + if(!floaterp->isMinimized()) + { + floaterp->reshape(floater_width, floaterp->getRect().getHeight()); } bool use_freeze_frame = floaterp->getChild<LLUICtrl>("freeze_frame_check")->getValue().asBoolean(); @@ -388,7 +391,7 @@ void LLFloaterSnapshot::Impl::updateControls(LLFloaterSnapshot* floater) height_ctrl->setValue(h); } - // Сlamp snapshot resolution to window size when showing UI or HUD in snapshot. + // Clamp snapshot resolution to window size when showing UI or HUD in snapshot. if (gSavedSettings.getBOOL("RenderUIInSnapshot") || gSavedSettings.getBOOL("RenderHUDInSnapshot")) { S32 width = gViewerWindow->getWindowWidthRaw(); @@ -576,25 +579,11 @@ void LLFloaterSnapshot::Impl::onClickFilter(LLUICtrl *ctrl, void* data) LLComboBox* filterbox = static_cast<LLComboBox *>(view->getChild<LLComboBox>("filters_combobox")); std::string filter_name = (filterbox->getCurrentIndex() ? filterbox->getSimple() : ""); previewp->setFilter(filter_name); - previewp->updateSnapshot(FALSE, TRUE); + previewp->updateSnapshot(TRUE); } } } -void LLFloaterSnapshot::Impl::onClickMore(void* data) -{ - BOOL visible = gSavedSettings.getBOOL("AdvanceSnapshot"); - - LLFloaterSnapshot *view = (LLFloaterSnapshot *)data; - if (view) - { - view->impl.setStatus(Impl::STATUS_READY); - gSavedSettings.setBOOL("AdvanceSnapshot", !visible); - updateControls(view) ; - updateLayout(view) ; - } -} - // static void LLFloaterSnapshot::Impl::onClickUICheck(LLUICtrl *ctrl, void* data) { @@ -772,6 +761,12 @@ void LLFloaterSnapshot::Impl::updateResolution(LLUICtrl* ctrl, void* data, BOOL S32 original_width = 0 , original_height = 0 ; previewp->getSize(original_width, original_height) ; + if (gSavedSettings.getBOOL("RenderUIInSnapshot") || gSavedSettings.getBOOL("RenderHUDInSnapshot")) + { //clamp snapshot resolution to window size when showing UI or HUD in snapshot + width = llmin(width, gViewerWindow->getWindowWidthRaw()); + height = llmin(height, gViewerWindow->getWindowHeightRaw()); + } + if (width == 0 || height == 0) { // take resolution from current window size @@ -817,14 +812,12 @@ void LLFloaterSnapshot::Impl::updateResolution(LLUICtrl* ctrl, void* data, BOOL checkAspectRatio(view, width) ; previewp->getSize(width, height); - - if (gSavedSettings.getBOOL("RenderUIInSnapshot") || gSavedSettings.getBOOL("RenderHUDInSnapshot")) - { //clamp snapshot resolution to window size when showing UI or HUD in snapshot - width = llmin(width, gViewerWindow->getWindowWidthRaw()); - height = llmin(height, gViewerWindow->getWindowHeightRaw()); - } - updateSpinners(view, previewp, width, height, TRUE); // may change width and height + // We use the height spinner here because we come here via the aspect ratio + // checkbox as well and we want height always changing to width by default. + // If we use the width spinner we would change width according to height by + // default, that is not what we want. + updateSpinners(view, previewp, width, height, !getHeightSpinner(view)->isDirty()); // may change width and height if(getWidthSpinner(view)->getValue().asInteger() != width || getHeightSpinner(view)->getValue().asInteger() != height) { @@ -839,12 +832,11 @@ void LLFloaterSnapshot::Impl::updateResolution(LLUICtrl* ctrl, void* data, BOOL // hide old preview as the aspect ratio could be wrong checkAutoSnapshot(previewp, FALSE); LL_DEBUGS() << "updating thumbnail" << LL_ENDL; - getPreviewView(view)->updateSnapshot(FALSE, TRUE); + getPreviewView(view)->updateSnapshot(TRUE); if(do_update) { LL_DEBUGS() << "Will update controls" << LL_ENDL; updateControls(view); - setNeedRefresh(view, true); } } } @@ -887,7 +879,6 @@ void LLFloaterSnapshot::Impl::onImageFormatChange(LLFloaterSnapshot* view) LL_DEBUGS() << "image format changed, updating snapshot" << LL_ENDL; getPreviewView(view)->updateSnapshot(TRUE); updateControls(view); - setNeedRefresh(view, false); // we're refreshing } } @@ -956,6 +947,8 @@ void LLFloaterSnapshot::Impl::setImageSizeSpinnersValues(LLFloaterSnapshot *view // static void LLFloaterSnapshot::Impl::updateSpinners(LLFloaterSnapshot* view, LLSnapshotLivePreview* previewp, S32& width, S32& height, BOOL is_width_changed) { + getWidthSpinner(view)->resetDirty(); + getHeightSpinner(view)->resetDirty(); if (checkImageSize(previewp, width, height, is_width_changed, previewp->getMaxImageSize())) { setImageSizeSpinnersValues(view, width, height); @@ -965,8 +958,6 @@ void LLFloaterSnapshot::Impl::updateSpinners(LLFloaterSnapshot* view, LLSnapshot // static void LLFloaterSnapshot::Impl::applyCustomResolution(LLFloaterSnapshot* view, S32 w, S32 h) { - bool need_refresh = false; - LL_DEBUGS() << "applyCustomResolution(" << w << ", " << h << ")" << LL_ENDL; if (!view) return; @@ -981,25 +972,16 @@ void LLFloaterSnapshot::Impl::applyCustomResolution(LLFloaterSnapshot* view, S32 //if to upload a snapshot, process spinner input in a special way. previewp->setMaxImageSize((S32) getWidthSpinner(view)->getMaxValue()) ; - updateSpinners(view, previewp, w, h, w != curw); // may change w and h - previewp->setSize(w,h); checkAutoSnapshot(previewp, FALSE); - LL_DEBUGS() << "applied custom resolution, updating thumbnail" << LL_ENDL; - previewp->updateSnapshot(FALSE, TRUE); comboSetCustom(view, "profile_size_combo"); comboSetCustom(view, "postcard_size_combo"); comboSetCustom(view, "texture_size_combo"); comboSetCustom(view, "local_size_combo"); - need_refresh = true; + LL_DEBUGS() << "applied custom resolution, updating thumbnail" << LL_ENDL; + previewp->updateSnapshot(TRUE); } } - - updateControls(view); - if (need_refresh) - { - setNeedRefresh(view, true); // need to do this after updateControls() - } } // static @@ -1055,8 +1037,6 @@ BOOL LLFloaterSnapshot::postBuild() mSucceessLblPanel = getChild<LLUICtrl>("succeeded_panel"); mFailureLblPanel = getChild<LLUICtrl>("failed_panel"); - childSetAction("advanced_options_btn", Impl::onClickMore, this); - childSetCommitCallback("ui_check", Impl::onClickUICheck, this); getChild<LLUICtrl>("ui_check")->setValue(gSavedSettings.getBOOL("RenderUIInSnapshot")); @@ -1075,24 +1055,15 @@ BOOL LLFloaterSnapshot::postBuild() getChild<LLUICtrl>("auto_snapshot_check")->setValue(gSavedSettings.getBOOL("AutoSnapshot")); childSetCommitCallback("auto_snapshot_check", Impl::onClickAutoSnap, this); + // Filters LLComboBox* filterbox = getChild<LLComboBox>("filters_combobox"); - if (gSavedSettings.getBOOL("SnapshotFiltersEnabled")) - { - // Update filter list if setting is on (experimental) - std::vector<std::string> filter_list = LLImageFiltersManager::getInstance()->getFiltersList(); - for (U32 i = 0; i < filter_list.size(); i++) - { - filterbox->add(filter_list[i]); - } - childSetCommitCallback("filters_combobox", Impl::onClickFilter, this); - } - else + std::vector<std::string> filter_list = LLImageFiltersManager::getInstance()->getFiltersList(); + for (U32 i = 0; i < filter_list.size(); i++) { - // Hide Filter UI if setting is off (default) - getChild<LLUICtrl>("filter_list_label")->setVisible(FALSE); - filterbox->setVisible(FALSE); + filterbox->add(filter_list[i]); } + childSetCommitCallback("filters_combobox", Impl::onClickFilter, this); LLWebProfile::setImageUploadResultCallback(boost::bind(&LLFloaterSnapshot::Impl::onSnapshotUploadFinished, _1)); LLPostCard::setPostResultCallback(boost::bind(&LLFloaterSnapshot::Impl::onSendingPostcardFinished, _1)); @@ -1119,7 +1090,7 @@ BOOL LLFloaterSnapshot::postBuild() getChild<LLComboBox>("profile_size_combo")->selectNthItem(0); getChild<LLComboBox>("postcard_size_combo")->selectNthItem(0); getChild<LLComboBox>("texture_size_combo")->selectNthItem(0); - getChild<LLComboBox>("local_size_combo")->selectNthItem(0); + getChild<LLComboBox>("local_size_combo")->selectNthItem(8); getChild<LLComboBox>("local_format_combo")->selectNthItem(0); impl.mPreviewHandle = previewp->getHandle(); @@ -1145,7 +1116,7 @@ void LLFloaterSnapshot::draw() LLFloater::draw(); - if (previewp && !isMinimized()) + if (previewp && !isMinimized() && sThumbnailPlaceholder->getVisible()) { if(previewp->getThumbnailImage()) { @@ -1172,44 +1143,13 @@ void LLFloaterSnapshot::draw() previewp->drawPreviewRect(offset_x, offset_y) ; - // Draw some controls on top of the preview thumbnail. - static const S32 PADDING = 5; - static const S32 REFRESH_LBL_BG_HEIGHT = 32; - - // Reshape and position the posting result message panels at the top of the thumbnail. - // Do this regardless of current posting status (finished or not) to avoid flicker - // when the result message is displayed for the first time. - // if (impl.getStatus() == Impl::STATUS_FINISHED) - { - LLRect result_lbl_rect = mSucceessLblPanel->getRect(); - const S32 result_lbl_h = result_lbl_rect.getHeight(); - result_lbl_rect.setLeftTopAndSize(local_offset_x, local_offset_y + thumbnail_h, thumbnail_w - 1, result_lbl_h); - mSucceessLblPanel->reshape(result_lbl_rect.getWidth(), result_lbl_h); - mSucceessLblPanel->setRect(result_lbl_rect); - mFailureLblPanel->reshape(result_lbl_rect.getWidth(), result_lbl_h); - mFailureLblPanel->setRect(result_lbl_rect); - } - - // Position the refresh button in the bottom left corner of the thumbnail. - mRefreshBtn->setOrigin(local_offset_x + PADDING, local_offset_y + PADDING); - - if (impl.mNeedRefresh) - { - // Place the refresh hint text to the right of the refresh button. - const LLRect& refresh_btn_rect = mRefreshBtn->getRect(); - mRefreshLabel->setOrigin(refresh_btn_rect.mLeft + refresh_btn_rect.getWidth() + PADDING, refresh_btn_rect.mBottom); - - // Draw the refresh hint background. - LLRect refresh_label_bg_rect(offset_x, offset_y + REFRESH_LBL_BG_HEIGHT, offset_x + thumbnail_w - 1, offset_y); - gl_rect_2d(refresh_label_bg_rect, LLColor4::white % 0.9f, TRUE); - } - gGL.pushUIMatrix(); LLUI::translate((F32) thumbnail_rect.mLeft, (F32) thumbnail_rect.mBottom); sThumbnailPlaceholder->draw(); gGL.popUIMatrix(); } } + impl.updateLayout(this); } void LLFloaterSnapshot::onOpen(const LLSD& key) @@ -1225,6 +1165,9 @@ void LLFloaterSnapshot::onOpen(const LLSD& key) gSnapshotFloaterView->setVisible(TRUE); gSnapshotFloaterView->adjustToFitScreen(this, FALSE); + impl.updateControls(this); + impl.updateLayout(this); + // Initialize default tab. getChild<LLSideTrayPanelContainer>("panel_container")->getCurrentPanel()->onOpen(LLSD()); } @@ -1293,8 +1236,6 @@ S32 LLFloaterSnapshot::notify(const LLSD& info) { // Disable the send/post/save buttons until snapshot is ready. impl.updateControls(this); - // Force hiding the "Refresh to save" hint because we know we've just started refresh. - impl.setNeedRefresh(this, false); return 1; } diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp index 7530c72dd2..d604b8619a 100755 --- a/indra/newview/llfloatertopobjects.cpp +++ b/indra/newview/llfloatertopobjects.cpp @@ -50,6 +50,7 @@ #include "llviewerregion.h" #include "lluictrlfactory.h" #include "llviewerwindow.h" +#include "llfloaterregioninfo.h" //LLFloaterTopObjects* LLFloaterTopObjects::sInstance = NULL; @@ -207,7 +208,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data) columns[column_num++]["font"] = "SANSSERIF"; columns[column_num]["column"] = "location"; - columns[column_num]["value"] = llformat("<%0.1f,%0.1f,%0.1f>", location_x, location_y, location_z); + columns[column_num]["value"] = llformat("<%0.f, %0.f, %0.f>", location_x, location_y, location_z); columns[column_num++]["font"] = "SANSSERIF"; columns[column_num]["column"] = "parcel"; @@ -257,6 +258,8 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data) format.setArg("[COUNT]", llformat("%d", total_count)); format.setArg("[TIME]", llformat("%0.3f", mtotalScore)); getChild<LLUICtrl>("title_text")->setValue(LLSD(format)); + list->setColumnLabel("URLs", getString("URLs")); + list->setColumnLabel("memory", getString("memory")); } else { @@ -268,6 +271,13 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data) format.setArg("[COUNT]", llformat("%d", total_count)); getChild<LLUICtrl>("title_text")->setValue(LLSD(format)); } + + LLFloaterRegionInfo* region_info_floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info"); + if(region_info_floater) + { + region_info_floater->enableTopButtons(); + } + getChildView("refresh_btn")->setEnabled(true); } void LLFloaterTopObjects::onCommitObjectsList() @@ -453,12 +463,24 @@ void LLFloaterTopObjects::onRefresh() msg->addStringFast(_PREHASH_Filter, filter); msg->addS32Fast(_PREHASH_ParcelLocalID, 0); + LLFloaterRegionInfo* region_info_floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info"); + if(region_info_floater) + { + region_info_floater->disableTopButtons(); + } + disableRefreshBtn(); + msg->sendReliable(gAgent.getRegionHost()); mFilter.clear(); mFlags = 0; } +void LLFloaterTopObjects::disableRefreshBtn() +{ + getChildView("refresh_btn")->setEnabled(false); +} + void LLFloaterTopObjects::onGetByObjectName() { mFlags = STAT_FILTER_BY_OBJECT; diff --git a/indra/newview/llfloatertopobjects.h b/indra/newview/llfloatertopobjects.h index 28d2aa58e2..dbbe9ac521 100755 --- a/indra/newview/llfloatertopobjects.h +++ b/indra/newview/llfloatertopobjects.h @@ -66,6 +66,7 @@ public: void onRefresh(); static void setMode(U32 mode); + void disableRefreshBtn(); private: LLFloaterTopObjects(const LLSD& key); diff --git a/indra/newview/llfloatertwitter.cpp b/indra/newview/llfloatertwitter.cpp index 78e9259919..868d623d57 100644 --- a/indra/newview/llfloatertwitter.cpp +++ b/indra/newview/llfloatertwitter.cpp @@ -64,7 +64,6 @@ const std::string DEFAULT_STATUS_TEXT = " #SecondLife"; /////////////////////////// LLTwitterPhotoPanel::LLTwitterPhotoPanel() : -mSnapshotPanel(NULL), mResolutionComboBox(NULL), mRefreshBtn(NULL), mBtnPreview(NULL), @@ -94,7 +93,6 @@ BOOL LLTwitterPhotoPanel::postBuild() { setVisibleCallback(boost::bind(&LLTwitterPhotoPanel::onVisibilityChange, this, _2)); - mSnapshotPanel = getChild<LLUICtrl>("snapshot_panel"); mResolutionComboBox = getChild<LLUICtrl>("resolution_combobox"); mResolutionComboBox->setValue("[i800,i600]"); // hardcoded defaults ftw! mResolutionComboBox->setCommitCallback(boost::bind(&LLTwitterPhotoPanel::updateResolution, this, TRUE)); @@ -194,15 +192,8 @@ void LLTwitterPhotoPanel::draw() // calc preview offset within the preview rect const S32 local_offset_x = (thumbnail_rect.getWidth() - thumbnail_w) / 2 ; const S32 local_offset_y = (thumbnail_rect.getHeight() - thumbnail_h) / 2 ; - - // calc preview offset within the floater rect - // Hack : To get the full offset, we need to take into account each and every offset of each widgets up to the floater. - // This is almost as arbitrary as using a fixed offset so that's what we do here for the sake of simplicity. - // *TODO : Get the offset looking through the hierarchy of widgets, should be done in postBuild() so to avoid traversing the hierarchy each time. - S32 offset_x = thumbnail_rect.mLeft + local_offset_x - 1; - S32 offset_y = thumbnail_rect.mBottom + local_offset_y - 39; - - mSnapshotPanel->localPointToOtherView(offset_x, offset_y, &offset_x, &offset_y, getParentByType<LLFloater>()); + S32 offset_x = thumbnail_rect.mLeft + local_offset_x; + S32 offset_y = thumbnail_rect.mBottom + local_offset_y; gGL.matrixMode(LLRender::MM_MODELVIEW); // Apply floater transparency to the texture unless the floater is focused. @@ -238,7 +229,7 @@ void LLTwitterPhotoPanel::onVisibilityChange(BOOL visible) LLSnapshotLivePreview* preview = getPreviewView(); if(preview) { - lldebugs << "opened, updating snapshot" << llendl; + LL_DEBUGS() << "opened, updating snapshot" << LL_ENDL; preview->updateSnapshot(TRUE); } } @@ -455,7 +446,7 @@ void LLTwitterPhotoPanel::updateControls() BOOL got_snap = previewp && previewp->getSnapshotUpToDate(); // *TODO: Separate maximum size for Web images from postcards - lldebugs << "Is snapshot up-to-date? " << got_snap << llendl; + LL_DEBUGS() << "Is snapshot up-to-date? " << got_snap << LL_ENDL; updateResolution(FALSE); } @@ -485,13 +476,13 @@ void LLTwitterPhotoPanel::updateResolution(BOOL do_update) if (width == 0 || height == 0) { // take resolution from current window size - lldebugs << "Setting preview res from window: " << gViewerWindow->getWindowWidthRaw() << "x" << gViewerWindow->getWindowHeightRaw() << llendl; + LL_DEBUGS() << "Setting preview res from window: " << gViewerWindow->getWindowWidthRaw() << "x" << gViewerWindow->getWindowHeightRaw() << LL_ENDL; previewp->setSize(gViewerWindow->getWindowWidthRaw(), gViewerWindow->getWindowHeightRaw()); } else { // use the resolution from the selected pre-canned drop-down choice - lldebugs << "Setting preview res selected from combo: " << width << "x" << height << llendl; + LL_DEBUGS() << "Setting preview res selected from combo: " << width << "x" << height << LL_ENDL; previewp->setSize(width, height); } @@ -755,7 +746,7 @@ void LLFloaterTwitter::showPhotoPanel() LLTabContainer* parent = dynamic_cast<LLTabContainer*>(mTwitterPhotoPanel->getParent()); if (!parent) { - llwarns << "Cannot find panel container" << llendl; + LL_WARNS() << "Cannot find panel container" << LL_ENDL; return; } diff --git a/indra/newview/llfloatertwitter.h b/indra/newview/llfloatertwitter.h index f07ec2ca2f..d586799d18 100644 --- a/indra/newview/llfloatertwitter.h +++ b/indra/newview/llfloatertwitter.h @@ -70,7 +70,6 @@ private: LLHandle<LLView> mPreviewHandle; - LLUICtrl * mSnapshotPanel; LLUICtrl * mResolutionComboBox; LLUICtrl * mFilterComboBox; LLUICtrl * mRefreshBtn; diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index 47b14811a8..dc8b15a5bf 100755 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -37,6 +37,7 @@ #include "llfolderview.h" #include "llinventorybridge.h" #include "llviewerfoldertype.h" +#include "llradiogroup.h" // linden library includes #include "llclipboard.h" @@ -51,6 +52,7 @@ LLInventoryFilter::FilterOps::FilterOps(const Params& p) mMinDate(p.date_range.min_date), mMaxDate(p.date_range.max_date), mHoursAgo(p.hours_ago), + mDateSearchDirection(p.date_search_direction), mShowFolderState(p.show_folder_state), mPermissions(p.permissions), mFilterTypes(p.types), @@ -210,6 +212,7 @@ bool LLInventoryFilter::checkAgainstFilterType(const LLFolderViewModelItemInvent { const U16 HOURS_TO_SECONDS = 3600; time_t earliest = time_corrected() - mFilterOps.mHoursAgo * HOURS_TO_SECONDS; + if (mFilterOps.mMinDate > time_min() && mFilterOps.mMinDate < earliest) { earliest = mFilterOps.mMinDate; @@ -218,9 +221,19 @@ bool LLInventoryFilter::checkAgainstFilterType(const LLFolderViewModelItemInvent { earliest = 0; } - if (listener->getCreationDate() < earliest || - listener->getCreationDate() > mFilterOps.mMaxDate) - return FALSE; + + if (FILTERDATEDIRECTION_NEWER == mFilterOps.mDateSearchDirection || isSinceLogoff()) + { + if (listener->getCreationDate() < earliest || + listener->getCreationDate() > mFilterOps.mMaxDate) + return FALSE; + } + else + { + if (listener->getCreationDate() > earliest || + listener->getCreationDate() > mFilterOps.mMaxDate) + return FALSE; + } } //////////////////////////////////////////////////////////////////////////////// @@ -642,11 +655,22 @@ void LLInventoryFilter::setHoursAgo(U32 hours) bool are_date_limits_valid = mFilterOps.mMinDate == time_min() && mFilterOps.mMaxDate == time_max(); bool is_increasing = hours > mFilterOps.mHoursAgo; + bool is_decreasing = hours < mFilterOps.mHoursAgo; bool is_increasing_from_zero = is_increasing && !mFilterOps.mHoursAgo && !isSinceLogoff(); // *NOTE: need to cache last filter time, in case filter goes stale - BOOL less_restrictive = (are_date_limits_valid && ((is_increasing && mFilterOps.mHoursAgo)) || !hours); - BOOL more_restrictive = (are_date_limits_valid && (!is_increasing && hours) || is_increasing_from_zero); + BOOL less_restrictive; + BOOL more_restrictive; + if (FILTERDATEDIRECTION_NEWER == mFilterOps.mDateSearchDirection) + { + less_restrictive = (are_date_limits_valid && ((is_increasing && mFilterOps.mHoursAgo)) || !hours); + more_restrictive = (are_date_limits_valid && (!is_increasing && hours) || is_increasing_from_zero); + } + else + { + less_restrictive = (are_date_limits_valid && ((is_decreasing && mFilterOps.mHoursAgo)) || !hours); + more_restrictive = (are_date_limits_valid && (!is_decreasing && hours) || is_increasing_from_zero); + } mFilterOps.mHoursAgo = hours; mFilterOps.mMinDate = time_min(); @@ -675,6 +699,20 @@ void LLInventoryFilter::setHoursAgo(U32 hours) } } +void LLInventoryFilter::setDateSearchDirection(U32 direction) +{ + if (direction != mFilterOps.mDateSearchDirection) + { + mFilterOps.mDateSearchDirection = direction; + setModified(FILTER_RESTART); + } +} + +U32 LLInventoryFilter::getDateSearchDirection() const +{ + return mFilterOps.mDateSearchDirection; +} + void LLInventoryFilter::setFilterLinks(U64 filter_links) { if (mFilterOps.mFilterLinks != filter_links) @@ -939,6 +977,7 @@ LLInventoryFilter& LLInventoryFilter::operator=( const LLInventoryFilter& othe setFilterObjectTypes(other.getFilterObjectTypes()); setDateRange(other.getMinDate(), other.getMaxDate()); setHoursAgo(other.getHoursAgo()); + setDateSearchDirection(other.getDateSearchDirection()); setShowFolderState(other.getShowFolderState()); setFilterPermissions(other.getFilterPermissions()); setFilterSubString(other.getFilterSubString()); @@ -958,6 +997,7 @@ void LLInventoryFilter::toParams(Params& params) const params.filter_ops.date_range.min_date = getMinDate(); params.filter_ops.date_range.max_date = getMaxDate(); params.filter_ops.hours_ago = getHoursAgo(); + params.filter_ops.date_search_direction = getDateSearchDirection(); params.filter_ops.show_folder_state = getShowFolderState(); params.filter_ops.permissions = getFilterPermissions(); params.substring = getFilterSubString(); @@ -979,6 +1019,7 @@ void LLInventoryFilter::fromParams(const Params& params) } setDateRange(params.filter_ops.date_range.min_date, params.filter_ops.date_range.max_date); setHoursAgo(params.filter_ops.hours_ago); + setDateSearchDirection(params.filter_ops.date_search_direction); setShowFolderState(params.filter_ops.show_folder_state); setFilterPermissions(params.filter_ops.permissions); setFilterSubString(params.substring); diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h index 094fda7707..5e18ad4d20 100755 --- a/indra/newview/llinventoryfilter.h +++ b/indra/newview/llinventoryfilter.h @@ -55,6 +55,12 @@ public: FILTERTYPE_EMPTYFOLDERS = 0x1 << 5 // pass if folder is not a system folder to be hidden if }; + enum EFilterDateDirection + { + FILTERDATEDIRECTION_NEWER, + FILTERDATEDIRECTION_OLDER + }; + enum EFilterLink { FILTERLINK_INCLUDE_LINKS, // show links too @@ -94,7 +100,8 @@ public: Optional<EFilterLink> links; Optional<LLUUID> uuid; Optional<DateRange> date_range; - Optional<S32> hours_ago; + Optional<U32> hours_ago; + Optional<U32> date_search_direction; Optional<EFolderShow> show_folder_state; Optional<PermissionMask> permissions; @@ -107,6 +114,7 @@ public: uuid("uuid"), date_range("date_range"), hours_ago("hours_ago", 0), + date_search_direction("date_search_direction", FILTERDATEDIRECTION_NEWER), show_folder_state("show_folder_state", SHOW_NON_EMPTY_FOLDERS), permissions("permissions", PERM_NONE) {} @@ -124,6 +132,7 @@ public: time_t mMinDate, mMaxDate; U32 mHoursAgo; + U32 mDateSearchDirection; EFolderShow mShowFolderState; PermissionMask mPermissions; @@ -178,6 +187,8 @@ public: void setHoursAgo(U32 hours); U32 getHoursAgo() const; + void setDateSearchDirection(U32 direction); + U32 getDateSearchDirection() const; void setFilterLinks(U64 filter_link); U64 getFilterLinks() const; diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index db540b6199..3546317471 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -402,6 +402,11 @@ void LLInventoryPanel::setHoursAgo(U32 hours) getFilter().setHoursAgo(hours); } +void LLInventoryPanel::setDateSearchDirection(U32 direction) +{ + getFilter().setDateSearchDirection(direction); +} + void LLInventoryPanel::setFilterLinks(U64 filter_links) { getFilter().setFilterLinks(filter_links); diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h index 91c3efd8f0..a490dfce5d 100755 --- a/indra/newview/llinventorypanel.h +++ b/indra/newview/llinventorypanel.h @@ -173,6 +173,7 @@ public: const std::string getFilterSubString(); void setSinceLogoff(BOOL sl); void setHoursAgo(U32 hours); + void setDateSearchDirection(U32 direction); BOOL getSinceLogoff(); void setFilterLinks(U64 filter_links); diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index e8a006d0be..eb037577be 100755 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -55,6 +55,7 @@ #include "llviewertexturelist.h" #include "llsidepanelinventory.h" #include "llfolderview.h" +#include "llradiogroup.h" const std::string FILTERS_FILENAME("filters.xml"); @@ -82,6 +83,7 @@ public: void updateElementsFromFilter(); BOOL getCheckShowEmpty(); BOOL getCheckSinceLogoff(); + U32 getDateSearchDirection(); static void onTimeAgo(LLUICtrl*, void *); static void onCloseBtn(void* user_data); @@ -704,6 +706,30 @@ void LLFloaterInventoryFinder::onTimeAgo(LLUICtrl *ctrl, void *user_data) if ( self->mSpinSinceDays->get() || self->mSpinSinceHours->get() ) { self->getChild<LLUICtrl>("check_since_logoff")->setValue(false); + + U32 days = (U32)self->mSpinSinceDays->get(); + U32 hours = (U32)self->mSpinSinceHours->get(); + if (hours >= 24) + { + // Try to handle both cases of spinner clicking and text input in a sensible fashion as best as possible. + // There is no way to tell if someone has clicked the spinner to get to 24 or input 24 manually, so in + // this case add to days. Any value > 24 means they have input the hours manually, so do not add to the + // current day value. + if (24 == hours) // Got to 24 via spinner clicking or text input of 24 + { + days = days + hours / 24; + } + else // Text input, so do not add to days + { + days = hours / 24; + } + hours = (U32)hours % 24; + self->mSpinSinceHours->setFocus(false); + self->mSpinSinceDays->setFocus(false); + self->mSpinSinceDays->set((F32)days); + self->mSpinSinceHours->set((F32)hours); + self->mSpinSinceHours->setFocus(true); + } } } @@ -723,6 +749,7 @@ void LLFloaterInventoryFinder::updateElementsFromFilter() std::string filter_string = mFilter->getFilterSubString(); LLInventoryFilter::EFolderShow show_folders = mFilter->getShowFolderState(); U32 hours = mFilter->getHoursAgo(); + U32 date_search_direction = mFilter->getDateSearchDirection(); // update the ui elements setTitle(mFilter->getName()); @@ -744,6 +771,7 @@ void LLFloaterInventoryFinder::updateElementsFromFilter() getChild<LLUICtrl>("check_since_logoff")->setValue(mFilter->isSinceLogoff()); mSpinSinceHours->set((F32)(hours % 24)); mSpinSinceDays->set((F32)(hours / 24)); + getChild<LLRadioGroup>("date_search_direction")->setSelectedIndex(date_search_direction); } void LLFloaterInventoryFinder::draw() @@ -844,17 +872,23 @@ void LLFloaterInventoryFinder::draw() } U32 days = (U32)mSpinSinceDays->get(); U32 hours = (U32)mSpinSinceHours->get(); - if (hours > 24) + if (hours >= 24) { - days += hours / 24; + days = hours / 24; hours = (U32)hours % 24; + // A UI element that has focus will not display a new value set to it + mSpinSinceHours->setFocus(false); + mSpinSinceDays->setFocus(false); mSpinSinceDays->set((F32)days); mSpinSinceHours->set((F32)hours); + mSpinSinceHours->setFocus(true); } hours += days * 24; + mPanelMainInventory->getPanel()->setHoursAgo(hours); mPanelMainInventory->getPanel()->setSinceLogoff(getCheckSinceLogoff()); mPanelMainInventory->setFilterTextFromFilter(); + mPanelMainInventory->getPanel()->setDateSearchDirection(getDateSearchDirection()); LLPanel::draw(); } @@ -869,6 +903,11 @@ BOOL LLFloaterInventoryFinder::getCheckSinceLogoff() return getChild<LLUICtrl>("check_since_logoff")->getValue(); } +U32 LLFloaterInventoryFinder::getDateSearchDirection() +{ + return getChild<LLRadioGroup>("date_search_direction")->getSelectedIndex(); +} + void LLFloaterInventoryFinder::onCloseBtn(void* user_data) { LLFloaterInventoryFinder* finderp = (LLFloaterInventoryFinder*)user_data; diff --git a/indra/newview/llpanelsnapshot.cpp b/indra/newview/llpanelsnapshot.cpp index 5924448671..56569e3207 100755 --- a/indra/newview/llpanelsnapshot.cpp +++ b/indra/newview/llpanelsnapshot.cpp @@ -65,8 +65,6 @@ void LLPanelSnapshot::onOpen(const LLSD& key) { LLFloaterSnapshot::getInstance()->notify(LLSD().with("image-format-change", true)); } - - updateCustomResControls(); } LLFloaterSnapshot::ESnapshotFormat LLPanelSnapshot::getImageFormat() const @@ -77,11 +75,6 @@ LLFloaterSnapshot::ESnapshotFormat LLPanelSnapshot::getImageFormat() const void LLPanelSnapshot::enableControls(BOOL enable) { setCtrlsEnabled(enable); - if (enable) - { - // Make sure only relevant controls are enabled/shown. - updateCustomResControls(); - } } LLSpinCtrl* LLPanelSnapshot::getWidthSpinner() @@ -121,16 +114,6 @@ LLSideTrayPanelContainer* LLPanelSnapshot::getParentContainer() return parent; } -// virtual -void LLPanelSnapshot::updateCustomResControls() -{ - // Only show width/height spinners and the aspect ratio checkbox - // when a custom resolution is chosen. - LLComboBox* combo = getChild<LLComboBox>(getImageSizeComboName()); - const bool show = combo->getFirstSelectedIndex() == (combo->getItemCount() - 1); - getChild<LLUICtrl>(getImageSizePanelName())->setVisible(show); -} - void LLPanelSnapshot::updateImageQualityLevel() { LLSliderCtrl* quality_slider = getChild<LLSliderCtrl>("image_quality_slider"); @@ -188,8 +171,6 @@ void LLPanelSnapshot::onCustomResolutionCommit() void LLPanelSnapshot::onResolutionComboCommit(LLUICtrl* ctrl) { - updateCustomResControls(); - LLSD info; info["combo-res-change"]["control-name"] = ctrl->getName(); LLFloaterSnapshot::getInstance()->notify(info); diff --git a/indra/newview/llpanelsnapshot.h b/indra/newview/llpanelsnapshot.h index f3274cf594..42ad798d60 100755 --- a/indra/newview/llpanelsnapshot.h +++ b/indra/newview/llpanelsnapshot.h @@ -57,7 +57,6 @@ public: protected: LLSideTrayPanelContainer* getParentContainer(); - virtual void updateCustomResControls(); void updateImageQualityLevel(); void goBack(); ///< Switch to the default (Snapshot Options) panel void cancel(); diff --git a/indra/newview/llpanelsnapshotinventory.cpp b/indra/newview/llpanelsnapshotinventory.cpp index 47e46a968f..c8a201a5c8 100755 --- a/indra/newview/llpanelsnapshotinventory.cpp +++ b/indra/newview/llpanelsnapshotinventory.cpp @@ -49,7 +49,6 @@ public: /*virtual*/ void onOpen(const LLSD& key); private: - /*virtual*/ void updateCustomResControls(); ///< Show/hide custom resolution controls (spinners and checkbox) /*virtual*/ std::string getWidthSpinnerName() const { return "inventory_snapshot_width"; } /*virtual*/ std::string getHeightSpinnerName() const { return "inventory_snapshot_height"; } /*virtual*/ std::string getAspectRatioCBName() const { return "inventory_keep_aspect_check"; } @@ -73,7 +72,6 @@ BOOL LLPanelSnapshotInventory::postBuild() { getChild<LLSpinCtrl>(getWidthSpinnerName())->setAllowEdit(FALSE); getChild<LLSpinCtrl>(getHeightSpinnerName())->setAllowEdit(FALSE); - getChild<LLUICtrl>(getAspectRatioCBName())->setVisible(FALSE); // we don't keep aspect ratio for inventory textures return LLPanelSnapshot::postBuild(); } @@ -85,17 +83,6 @@ void LLPanelSnapshotInventory::onOpen(const LLSD& key) } // virtual -void LLPanelSnapshotInventory::updateCustomResControls() -{ - LLComboBox* combo = getChild<LLComboBox>(getImageSizeComboName()); - S32 selected_idx = combo->getFirstSelectedIndex(); - const bool show = selected_idx == (combo->getItemCount() - 1); // Custom selected - - getChild<LLUICtrl>(getWidthSpinnerName())->setVisible(show); - getChild<LLUICtrl>(getHeightSpinnerName())->setVisible(show); -} - -// virtual void LLPanelSnapshotInventory::updateControls(const LLSD& info) { const bool have_snapshot = info.has("have-snapshot") ? info["have-snapshot"].asBoolean() : true; diff --git a/indra/newview/llpanelsnapshotoptions.cpp b/indra/newview/llpanelsnapshotoptions.cpp index 743ef3e329..0fc9ceec83 100755 --- a/indra/newview/llpanelsnapshotoptions.cpp +++ b/indra/newview/llpanelsnapshotoptions.cpp @@ -72,7 +72,9 @@ LLPanelSnapshotOptions::LLPanelSnapshotOptions() mCommitCallbackRegistrar.add("Snapshot.SaveToEmail", boost::bind(&LLPanelSnapshotOptions::onSaveToEmail, this)); mCommitCallbackRegistrar.add("Snapshot.SaveToInventory", boost::bind(&LLPanelSnapshotOptions::onSaveToInventory, this)); mCommitCallbackRegistrar.add("Snapshot.SaveToComputer", boost::bind(&LLPanelSnapshotOptions::onSaveToComputer, this)); - + mCommitCallbackRegistrar.add("Snapshot.SendToFacebook", boost::bind(&LLPanelSnapshotOptions::onSendToFacebook, this)); + mCommitCallbackRegistrar.add("Snapshot.SendToTwitter", boost::bind(&LLPanelSnapshotOptions::onSendToTwitter, this)); + mCommitCallbackRegistrar.add("Snapshot.SendToFlickr", boost::bind(&LLPanelSnapshotOptions::onSendToFlickr, this)); LLGlobalEconomy::Singleton::getInstance()->addObserver(this); } @@ -84,13 +86,6 @@ LLPanelSnapshotOptions::~LLPanelSnapshotOptions() // virtual BOOL LLPanelSnapshotOptions::postBuild() { - LLTextBox* sendToFacebookTextBox = getChild<LLTextBox>("send_to_facebook_textbox"); - sendToFacebookTextBox->setURLClickedCallback(boost::bind(&LLPanelSnapshotOptions::onSendToFacebook, this)); - LLTextBox* sendToTwitterTextBox = getChild<LLTextBox>("send_to_twitter_textbox"); - sendToTwitterTextBox->setURLClickedCallback(boost::bind(&LLPanelSnapshotOptions::onSendToTwitter, this)); - LLTextBox* sendToFlickrTextBox = getChild<LLTextBox>("send_to_flickr_textbox"); - sendToFlickrTextBox->setURLClickedCallback(boost::bind(&LLPanelSnapshotOptions::onSendToFlickr, this)); - return LLPanel::postBuild(); } diff --git a/indra/newview/llpanelsnapshotpostcard.cpp b/indra/newview/llpanelsnapshotpostcard.cpp index 95c443b826..8e37b1418c 100755 --- a/indra/newview/llpanelsnapshotpostcard.cpp +++ b/indra/newview/llpanelsnapshotpostcard.cpp @@ -72,7 +72,6 @@ private: void onMsgFormFocusRecieved(); void onFormatComboCommit(LLUICtrl* ctrl); void onQualitySliderCommit(LLUICtrl* ctrl); - void onTabButtonPress(S32 btn_idx); void onSend(); bool mHasFirstMsgFocus; @@ -86,8 +85,6 @@ LLPanelSnapshotPostcard::LLPanelSnapshotPostcard() { mCommitCallbackRegistrar.add("Postcard.Send", boost::bind(&LLPanelSnapshotPostcard::onSend, this)); mCommitCallbackRegistrar.add("Postcard.Cancel", boost::bind(&LLPanelSnapshotPostcard::cancel, this)); - mCommitCallbackRegistrar.add("Postcard.Message", boost::bind(&LLPanelSnapshotPostcard::onTabButtonPress, this, 0)); - mCommitCallbackRegistrar.add("Postcard.Settings", boost::bind(&LLPanelSnapshotPostcard::onTabButtonPress, this, 1)); } @@ -108,8 +105,6 @@ BOOL LLPanelSnapshotPostcard::postBuild() getChild<LLUICtrl>("image_quality_slider")->setCommitCallback(boost::bind(&LLPanelSnapshotPostcard::onQualitySliderCommit, this, _1)); - getChild<LLButton>("message_btn")->setToggleState(TRUE); - return LLPanelSnapshot::postBuild(); } @@ -218,27 +213,6 @@ void LLPanelSnapshotPostcard::onQualitySliderCommit(LLUICtrl* ctrl) LLFloaterSnapshot::getInstance()->notify(info); // updates the "SnapshotQuality" setting } -void LLPanelSnapshotPostcard::onTabButtonPress(S32 btn_idx) -{ - LLButton* buttons[2] = { - getChild<LLButton>("message_btn"), - getChild<LLButton>("settings_btn"), - }; - - // Switch between Message and Settings tabs. - LLButton* clicked_btn = buttons[btn_idx]; - LLButton* other_btn = buttons[!btn_idx]; - LLSideTrayPanelContainer* container = - getChild<LLSideTrayPanelContainer>("postcard_panel_container"); - - container->selectTab(clicked_btn->getToggleState() ? btn_idx : !btn_idx); - //clicked_btn->setEnabled(FALSE); - other_btn->toggleState(); - //other_btn->setEnabled(TRUE); - - LL_DEBUGS() << "Button #" << btn_idx << " (" << clicked_btn->getName() << ") clicked" << LL_ENDL; -} - void LLPanelSnapshotPostcard::onSend() { // Validate input. diff --git a/indra/newview/llsnapshotlivepreview.cpp b/indra/newview/llsnapshotlivepreview.cpp index f61db77169..1aa7041175 100644 --- a/indra/newview/llsnapshotlivepreview.cpp +++ b/indra/newview/llsnapshotlivepreview.cpp @@ -151,7 +151,7 @@ F32 LLSnapshotLivePreview::getImageAspect() void LLSnapshotLivePreview::updateSnapshot(BOOL new_snapshot, BOOL new_thumbnail, F32 delay) { - lldebugs << "updateSnapshot: mSnapshotUpToDate = " << getSnapshotUpToDate() << llendl; + LL_DEBUGS() << "updateSnapshot: mSnapshotUpToDate = " << getSnapshotUpToDate() << LL_ENDL; // Update snapshot if requested. if (new_snapshot) @@ -195,6 +195,8 @@ void LLSnapshotLivePreview::updateSnapshot(BOOL new_snapshot, BOOL new_thumbnail mSnapshotDelayTimer.start(); mSnapshotDelayTimer.setTimerExpirySec(delay); + mPosTakenGlobal = gAgentCamera.getCameraPositionGlobal(); + // Tell the floater container that the snapshot is in the process of updating itself if (mViewContainer) { @@ -594,7 +596,7 @@ void LLSnapshotLivePreview::generateThumbnailImage(BOOL force_update) } else { - llwarns << "Couldn't find a path to the following filter : " << getFilter() << llendl; + LL_WARNS() << "Couldn't find a path to the following filter : " << getFilter() << LL_ENDL; } } // Scale to a power of 2 so it can be mapped to a texture @@ -642,7 +644,7 @@ LLViewerTexture* LLSnapshotLivePreview::getBigThumbnailImage() } else { - llwarns << "Couldn't find a path to the following filter : " << getFilter() << llendl; + LL_WARNS() << "Couldn't find a path to the following filter : " << getFilter() << LL_ENDL; } } // Scale to a power of 2 so it can be mapped to a texture @@ -695,7 +697,7 @@ BOOL LLSnapshotLivePreview::onIdle( void* snapshot_preview ) // time to produce a snapshot if(!previewp->getSnapshotUpToDate()) { - lldebugs << "producing snapshot" << llendl; + LL_DEBUGS() << "producing snapshot" << LL_ENDL; if (!previewp->mPreviewImage) { previewp->mPreviewImage = new LLImageRaw; @@ -760,7 +762,6 @@ BOOL LLSnapshotLivePreview::onIdle( void* snapshot_preview ) curr_preview_image->setFilteringOption(previewp->getSnapshotType() == SNAPSHOT_TEXTURE ? LLTexUnit::TFO_ANISOTROPIC : LLTexUnit::TFO_POINT); curr_preview_image->setAddressMode(LLTexUnit::TAM_CLAMP); - previewp->mPosTakenGlobal = gAgentCamera.getCameraPositionGlobal(); previewp->mShineCountdown = 4; // wait a few frames to avoid animation glitch due to readback this frame } } @@ -775,7 +776,7 @@ BOOL LLSnapshotLivePreview::onIdle( void* snapshot_preview ) previewp->setVisible(gSavedSettings.getBOOL("UseFreezeFrame") && previewp->mAllowFullScreenPreview); // only show fullscreen preview when in freeze frame mode previewp->mSnapshotDelayTimer.stop(); previewp->mSnapshotActive = FALSE; - lldebugs << "done creating snapshot" << llendl; + LL_DEBUGS() << "done creating snapshot" << LL_ENDL; } if (!previewp->getThumbnailUpToDate()) @@ -910,13 +911,13 @@ LLPointer<LLImageFormatted> LLSnapshotLivePreview::getFormattedImage() } else { - llwarns << "Couldn't find a path to the following filter : " << getFilter() << llendl; + LL_WARNS() << "Couldn't find a path to the following filter : " << getFilter() << LL_ENDL; } } // Create the new formatted image of the appropriate format. LLFloaterSnapshot::ESnapshotFormat format = getSnapshotFormat(); - lldebugs << "Encoding new image of format " << format << llendl; + LL_DEBUGS() << "Encoding new image of format " << format << LL_ENDL; switch (format) { @@ -975,6 +976,21 @@ void LLSnapshotLivePreview::saveTexture() mPreviewImage->getHeight(), mPreviewImage->getComponents()); + // Apply the filter to mPreviewImage + if (getFilter() != "") + { + std::string filter_path = LLImageFiltersManager::getInstance()->getFilterPath(getFilter()); + if (filter_path != "") + { + LLImageFilter filter(filter_path); + filter.executeFilter(scaled); + } + else + { + LL_WARNS() << "Couldn't find a path to the following filter : " << getFilter() << LL_ENDL; + } + } + scaled->biasedScaleToPowerOfTwo(MAX_TEXTURE_SIZE); LL_DEBUGS() << "scaled texture to " << scaled->getWidth() << "x" << scaled->getHeight() << LL_ENDL; diff --git a/indra/newview/llsyntaxid.cpp b/indra/newview/llsyntaxid.cpp index b1194dcd1b..a763d42a8d 100644 --- a/indra/newview/llsyntaxid.cpp +++ b/indra/newview/llsyntaxid.cpp @@ -47,23 +47,22 @@ public: LL_DEBUGS("SyntaxLSL") << "Instantiating with file saving to: '" << filespec << "'" << LL_ENDL; } - virtual void errorWithContent(U32 status, - const std::string& reason, - const LLSD& content) + /* virtual */ void httpFailure() { - LL_WARNS("SyntaxLSL") << "failed to fetch syntax file [status:" << status << "]: " << content << LL_ENDL; + LL_WARNS("SyntaxLSL") << "failed to fetch syntax file [status:" << getStatus() << "]: " << getContent() << LL_ENDL; } - virtual void result(const LLSD& content_ref) + /* virtual */ void httpSuccess() { // Continue only if a valid LLSD object was returned. - if (content_ref.isMap()) + const LLSD& content = getContent(); + if (content.isMap()) { - if (LLSyntaxIdLSL::getInstance()->isSupportedVersion(content_ref)) + if (LLSyntaxIdLSL::getInstance()->isSupportedVersion(content)) { - LLSyntaxIdLSL::getInstance()->setKeywordsXml(content_ref); + LLSyntaxIdLSL::getInstance()->setKeywordsXml(content); - cacheFile(content_ref); + cacheFile(content); LLSyntaxIdLSL::getInstance()->handleFileFetched(mFileSpec); } else diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 425e339713..d9a874be49 100755 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -1346,17 +1346,20 @@ bool LLTextureFetchWorker::doWork(S32 param) LL_WARNS(LOG_TXT) << "trying to seek a non-default texture on the sim. Bad!" << LL_ENDL; } setUrl(http_url + "/?texture_id=" + mID.asString().c_str()); + LL_DEBUGS("Texture") << "Texture URL " << mUrl << LL_ENDL; mWriteToCacheState = CAN_WRITE ; //because this texture has a fixed texture id. } else { mCanUseHTTP = false ; + LL_DEBUGS("Texture") << "Texture not available via HTTP: no URL " << mUrl << LL_ENDL; } } else { // This will happen if not logged in or if a region deoes not have HTTP Texture enabled //LL_WARNS(LOG_TXT) << "Region not found for host: " << mHost << LL_ENDL; + LL_DEBUGS("Texture") << "Texture not available via HTTP: no region " << mUrl << LL_ENDL; mCanUseHTTP = false; } } diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 703c6d87c6..44eb4361f1 100755 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5756,83 +5756,101 @@ bool handle_special_notification(std::string notificationID, LLSD& llsdBlock) } // some of the server notifications need special handling. This is where we do that. -bool handle_teleport_access_blocked(LLSD& llsdBlock) +bool handle_teleport_access_blocked(LLSD& llsdBlock, const std::string & notificationID, const std::string & defaultMessage) { - std::string notificationID("TeleportEntryAccessBlocked"); U8 regionAccess = static_cast<U8>(llsdBlock["_region_access"].asInteger()); std::string regionMaturity = LLViewerRegion::accessToString(regionAccess); LLStringUtil::toLower(regionMaturity); llsdBlock["REGIONMATURITY"] = regionMaturity; bool returnValue = false; - LLNotificationPtr maturityLevelNotification; - std::string notifySuffix = "_Notify"; - if (regionAccess == SIM_ACCESS_MATURE) - { - if (gAgent.isTeen()) - { - gAgent.clearTeleportRequest(); - maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_AdultsOnlyContent", llsdBlock); - returnValue = true; + LLNotificationPtr tp_failure_notification; + std::string notifySuffix; - notifySuffix = "_NotifyAdultsOnly"; - } - else if (gAgent.prefersPG()) + if (notificationID == std::string("TeleportEntryAccessBlocked")) + { + notifySuffix = "_Notify"; + if (regionAccess == SIM_ACCESS_MATURE) { - if (gAgent.hasRestartableFailedTeleportRequest()) + if (gAgent.isTeen()) { - maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_ChangeAndReTeleport", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_and_reteleport_callback); + gAgent.clearTeleportRequest(); + tp_failure_notification = LLNotificationsUtil::add(notificationID+"_AdultsOnlyContent", llsdBlock); returnValue = true; + + notifySuffix = "_NotifyAdultsOnly"; + } + else if (gAgent.prefersPG()) + { + if (gAgent.hasRestartableFailedTeleportRequest()) + { + tp_failure_notification = LLNotificationsUtil::add(notificationID+"_ChangeAndReTeleport", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_and_reteleport_callback); + returnValue = true; + } + else + { + gAgent.clearTeleportRequest(); + tp_failure_notification = LLNotificationsUtil::add(notificationID+"_Change", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback); + returnValue = true; + } } else { gAgent.clearTeleportRequest(); - maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_Change", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback); + tp_failure_notification = LLNotificationsUtil::add(notificationID+"_PreferencesOutOfSync", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback); returnValue = true; } } - else - { - gAgent.clearTeleportRequest(); - maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_PreferencesOutOfSync", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback); - returnValue = true; - } - } - else if (regionAccess == SIM_ACCESS_ADULT) - { - if (!gAgent.isAdult()) - { - gAgent.clearTeleportRequest(); - maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_AdultsOnlyContent", llsdBlock); - returnValue = true; - - notifySuffix = "_NotifyAdultsOnly"; - } - else if (gAgent.prefersPG() || gAgent.prefersMature()) + else if (regionAccess == SIM_ACCESS_ADULT) { - if (gAgent.hasRestartableFailedTeleportRequest()) + if (!gAgent.isAdult()) { - maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_ChangeAndReTeleport", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_and_reteleport_callback); + gAgent.clearTeleportRequest(); + tp_failure_notification = LLNotificationsUtil::add(notificationID+"_AdultsOnlyContent", llsdBlock); returnValue = true; + + notifySuffix = "_NotifyAdultsOnly"; + } + else if (gAgent.prefersPG() || gAgent.prefersMature()) + { + if (gAgent.hasRestartableFailedTeleportRequest()) + { + tp_failure_notification = LLNotificationsUtil::add(notificationID+"_ChangeAndReTeleport", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_and_reteleport_callback); + returnValue = true; + } + else + { + gAgent.clearTeleportRequest(); + tp_failure_notification = LLNotificationsUtil::add(notificationID+"_Change", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback); + returnValue = true; + } } else { gAgent.clearTeleportRequest(); - maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_Change", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback); + tp_failure_notification = LLNotificationsUtil::add(notificationID+"_PreferencesOutOfSync", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback); returnValue = true; } + } + } // End of special handling for "TeleportEntryAccessBlocked" + else + { // Normal case, no message munging + gAgent.clearTeleportRequest(); + if (LLNotifications::getInstance()->templateExists(notificationID)) + { + tp_failure_notification = LLNotificationsUtil::add(notificationID, llsdBlock, llsdBlock); } else { - gAgent.clearTeleportRequest(); - maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_PreferencesOutOfSync", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback); - returnValue = true; - } + llsdBlock["MESSAGE"] = defaultMessage; + tp_failure_notification = LLNotificationsUtil::add("GenericAlertOK", llsdBlock); } + returnValue = true; + } - if ((maturityLevelNotification == NULL) || maturityLevelNotification->isIgnored()) + if ((tp_failure_notification == NULL) || tp_failure_notification->isIgnored()) { - // Given a simple notification if no maturityLevelNotification is set or it is ignore + // Given a simple notification if no tp_failure_notification is set or it is ignore LLNotificationsUtil::add(notificationID + notifySuffix, llsdBlock); } @@ -6048,8 +6066,8 @@ void process_alert_core(const std::string& message, BOOL modal) std::string alert_name(message.substr(ALERT_PREFIX.length())); if (!handle_special_alerts(alert_name)) { - LLNotificationsUtil::add(alert_name); - } + LLNotificationsUtil::add(alert_name); + } } else if (message.find(NOTIFY_PREFIX) == 0) { @@ -6071,10 +6089,10 @@ void process_alert_core(const std::string& message, BOOL modal) LLFloaterRegionRestarting::close(); } - std::string new_msg =LLNotifications::instance().getGlobalString(text); - args["MESSAGE"] = new_msg; - LLNotificationsUtil::add("SystemMessage", args); - } + std::string new_msg =LLNotifications::instance().getGlobalString(text); + args["MESSAGE"] = new_msg; + LLNotificationsUtil::add("SystemMessage", args); + } else if (modal) { LLSD args; @@ -6657,8 +6675,8 @@ std::string formatted_time(const time_t& the_time) void process_teleport_failed(LLMessageSystem *msg, void**) { - std::string reason; - std::string big_reason; + std::string message_id; // Tag from server, like "RegionEntryAccessBlocked" + std::string big_reason; // Actual message to display LLSD args; // Let the interested parties know that teleport failed. @@ -6668,16 +6686,16 @@ void process_teleport_failed(LLMessageSystem *msg, void**) if (msg->has(_PREHASH_AlertInfo) && msg->getSizeFast(_PREHASH_AlertInfo, _PREHASH_Message) > 0) { // Get the message ID - msg->getStringFast(_PREHASH_AlertInfo, _PREHASH_Message, reason); - big_reason = LLAgent::sTeleportErrorMessages[reason]; + msg->getStringFast(_PREHASH_AlertInfo, _PREHASH_Message, message_id); + big_reason = LLAgent::sTeleportErrorMessages[message_id]; if ( big_reason.size() > 0 ) { // Substitute verbose reason from the local map args["REASON"] = big_reason; } else { // Nothing found in the map - use what the server returned in the original message block - msg->getStringFast(_PREHASH_Info, _PREHASH_Reason, reason); - args["REASON"] = reason; + msg->getStringFast(_PREHASH_Info, _PREHASH_Reason, big_reason); + args["REASON"] = big_reason; } LLSD llsd_block; @@ -6693,7 +6711,7 @@ void process_teleport_failed(LLMessageSystem *msg, void**) else { // change notification name in this special case - if (handle_teleport_access_blocked(llsd_block)) + if (handle_teleport_access_blocked(llsd_block, message_id, args["REASON"])) { if( gAgent.getTeleportState() != LLAgent::TELEPORT_NONE ) { @@ -6706,17 +6724,17 @@ void process_teleport_failed(LLMessageSystem *msg, void**) } else - { - msg->getStringFast(_PREHASH_Info, _PREHASH_Reason, reason); + { // Extra message payload not found - use what the simulator sent + msg->getStringFast(_PREHASH_Info, _PREHASH_Reason, message_id); - big_reason = LLAgent::sTeleportErrorMessages[reason]; + big_reason = LLAgent::sTeleportErrorMessages[message_id]; if ( big_reason.size() > 0 ) { // Substitute verbose reason from the local map args["REASON"] = big_reason; } else { // Nothing found in the map - use what the server returned - args["REASON"] = reason; + args["REASON"] = message_id; } } diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index cd5f64b9ca..11cbf3fc24 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -285,8 +285,8 @@ private: { regionp->setCapability(iter->first, iter->second); - LL_DEBUGS("AppInit", "Capabilities") << "got capability for " - << iter->first << LL_ENDL; + LL_DEBUGS("AppInit", "Capabilities") + << "Capability '" << iter->first << "' is '" << iter->second << "'" << LL_ENDL; /* HACK we're waiting for the ServerReleaseNotes */ if (iter->first == "ServerReleaseNotes" && regionp->getReleaseNotesRequested()) diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 3f6d244af1..4e2eef39d6 100755 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1480,17 +1480,6 @@ void LLViewerFetchedTexture::processTextureStats() { mDesiredDiscardLevel = 0; } - else if (mDontDiscard && (mBoostLevel == LLGLTexture::BOOST_UI || mBoostLevel == LLGLTexture::BOOST_ICON)) - { - if (mFullWidth > MAX_IMAGE_SIZE_DEFAULT || mFullHeight > MAX_IMAGE_SIZE_DEFAULT) - { - mDesiredDiscardLevel = 1; // MAX_IMAGE_SIZE_DEFAULT = 1024 and max size ever is 2048 - } - else - { - mDesiredDiscardLevel = 0; - } - } else if(!mFullWidth || !mFullHeight) { mDesiredDiscardLevel = llmin(getMaxDiscardLevel(), (S32)mLoadedCallbackDesiredDiscardLevel); diff --git a/indra/newview/skins/default/xui/de/floater_snapshot.xml b/indra/newview/skins/default/xui/de/floater_snapshot.xml index 798461c007..b98ee78685 100755 --- a/indra/newview/skins/default/xui/de/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/de/floater_snapshot.xml @@ -41,23 +41,24 @@ </string> <button name="advanced_options_btn" tool_tip="Erweiterte Optionen"/> <text name="image_res_text"> - [WIDTH] x [HEIGHT] px + [WIDTH]px (Breite) x [HEIGHT]px (Höhe) </text> <text name="file_size_label"> [SIZE] KB </text> + <button name="advanced_options" label="AUFNAHME OPTIONEN"/> <panel name="advanced_options_panel"> - <text name="advanced_options_label"> - ERWEITERTE OPTIONEN - </text> <text name="layer_type_label"> - Aufnahme: + Aufnehmen: </text> <combo_box label="Bildebenen" name="layer_types"> <combo_box.item label="Farben" name="Colors"/> <combo_box.item label="Tiefe" name="Depth"/> </combo_box> - <check_box label="Schnittstelle" name="ui_check"/> + <combo_box label="Filter" name="filters_combobox"> + <combo_box.item label="Kein Filter" name="NoFilter"/> + </combo_box> + <check_box label="Benutzeroberfläche" name="ui_check"/> <check_box label="HUDs" name="hud_check"/> <check_box label="Standbild (Vollbild)" name="freeze_frame_check"/> <check_box label="Automatisch aktualisieren" name="auto_snapshot_check"/> diff --git a/indra/newview/skins/default/xui/de/panel_postcard_message.xml b/indra/newview/skins/default/xui/de/panel_postcard_message.xml index 6eeef8af71..b34dc776de 100755 --- a/indra/newview/skins/default/xui/de/panel_postcard_message.xml +++ b/indra/newview/skins/default/xui/de/panel_postcard_message.xml @@ -9,13 +9,11 @@ <text name="subject_label"> Betreff: </text> - <line_editor label="Betreff hier eingeben." name="subject_form"/> + <line_editor label="Betreff hier rein." name="subject_form"/> <text name="msg_label"> Nachricht: </text> <text_editor name="msg_form"> Nachricht hier eingeben. </text_editor> - <button label="Abbrechen" name="cancel_btn"/> - <button label="Senden" name="send_btn"/> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_postcard_settings.xml b/indra/newview/skins/default/xui/de/panel_postcard_settings.xml index c1a1c0cc46..e6d3b7de66 100755 --- a/indra/newview/skins/default/xui/de/panel_postcard_settings.xml +++ b/indra/newview/skins/default/xui/de/panel_postcard_settings.xml @@ -7,17 +7,10 @@ <combo_box.item label="1024x768" name="1024x768"/> <combo_box.item label="Benutzerdefiniert" name="Custom"/> </combo_box> - <layout_stack name="postcard_image_params_ls"> - <layout_panel name="postcard_image_size_lp"> - <spinner label="Breite" name="postcard_snapshot_width"/> - <spinner label="Höhe" name="postcard_snapshot_height"/> - <check_box label="Seitenverhältnis beibehalten" name="postcard_keep_aspect_check"/> - </layout_panel> - <layout_panel name="postcard_image_format_quality_lp"> - <slider label="Bildqualität" name="image_quality_slider"/> - <text name="image_quality_level"> - ([QLVL]) - </text> - </layout_panel> - </layout_stack> + <spinner label="Breite x Höhe" name="postcard_snapshot_width"/> + <check_box label="Seitenverhältnis beibehalten" name="postcard_keep_aspect_check"/> + <slider label="Qualität" name="image_quality_slider"/> + <text name="image_quality_level"> + ([QLVL]) + </text> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml index 10827ce6f2..d13f56ed3d 100755 --- a/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="panel_snapshot_inventory"> <text name="title"> - In meinem Inventar speichern + Inventar </text> <text name="hint_lbl"> Das Speichern eines Bilds in Ihrem Inventar kostet [UPLOAD_COST] L$. Um das Bild als Textur zu speichern, wählen Sie eines der quadratischen Formate aus. @@ -13,8 +13,7 @@ <combo_box.item label="Groß (512x512)" name="Large(512x512)"/> <combo_box.item label="Benutzerdefiniert" name="Custom"/> </combo_box> - <spinner label="Breite" name="inventory_snapshot_width"/> - <spinner label="Höhe" name="inventory_snapshot_height"/> + <spinner label="Breite x Höhe" name="inventory_snapshot_width"/> <check_box label="Seitenverhältnis beibehalten" name="inventory_keep_aspect_check"/> <button label="Abbrechen" name="cancel_btn"/> <button label="Speichern" name="save_btn"/> diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_local.xml b/indra/newview/skins/default/xui/de/panel_snapshot_local.xml index 3aeae80388..53e78ba290 100755 --- a/indra/newview/skins/default/xui/de/panel_snapshot_local.xml +++ b/indra/newview/skins/default/xui/de/panel_snapshot_local.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="panel_snapshot_local"> <text name="title"> - Auf meinem Computer speichern + Festplatte </text> <combo_box label="Auflösung" name="local_size_combo"> <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/> @@ -13,24 +13,17 @@ <combo_box.item label="1600x1200" name="1600x1200"/> <combo_box.item label="Benutzerdefiniert" name="Custom"/> </combo_box> - <layout_stack name="local_image_params_ls"> - <layout_panel name="local_image_size_lp"> - <spinner label="Breite" name="local_snapshot_width"/> - <spinner label="Höhe" name="local_snapshot_height"/> - <check_box label="Seitenverhältnis beibehalten" name="local_keep_aspect_check"/> - </layout_panel> - <layout_panel name="local_image_format_quality_lp"> - <combo_box label="Format" name="local_format_combo"> - <combo_box.item label="PNG (verlustfrei)" name="PNG"/> - <combo_box.item label="JPEG" name="JPEG"/> - <combo_box.item label="BMP (verlustfrei)" name="BMP"/> - </combo_box> - <slider label="Bildqualität" name="image_quality_slider"/> - <text name="image_quality_level"> - ([QLVL]) - </text> - </layout_panel> - </layout_stack> + <spinner label="Breite x Höhe" name="local_snapshot_width"/> + <check_box label="Seitenverhältnis beibehalten" name="local_keep_aspect_check"/> + <combo_box label="Format" name="local_format_combo"> + <combo_box.item label="PNG (verlustfrei)" name="PNG"/> + <combo_box.item label="JPEG" name="JPEG"/> + <combo_box.item label="BMP (verlustfrei)" name="BMP"/> + </combo_box> + <slider label="Qualität" name="image_quality_slider"/> + <text name="image_quality_level"> + ([QLVL]) + </text> <button label="Abbrechen" name="cancel_btn"/> <flyout_button label="Speichern" name="save_btn" tool_tip="Bild als Datei speichern"> <flyout_button.item label="Speichern" name="save_item"/> diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_options.xml b/indra/newview/skins/default/xui/de/panel_snapshot_options.xml index e1d8a5dc6d..e2ba5bd4db 100755 --- a/indra/newview/skins/default/xui/de/panel_snapshot_options.xml +++ b/indra/newview/skins/default/xui/de/panel_snapshot_options.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="panel_snapshot_options"> - <button label="In meinem Profil posten" name="save_to_profile_btn"/> - <button label="E-Mail" name="save_to_email_btn"/> - <button label="In meinem Inventar speichern ([AMOUNT] L$)" name="save_to_inventory_btn"/> - <button label="Auf meinem Computer speichern" name="save_to_computer_btn"/> + <button label="Ins Profil hochladen" name="save_to_profile_btn"/> + <button label="Per E-Mail senden" name="save_to_email_btn"/> + <button label="Im Inventar speichern" name="save_to_inventory_btn"/> + <button label="Auf Festplatte speichern" name="save_to_computer_btn"/> + <button label="Zu Facebook hochladen" name="send_to_facebook_btn"/> + <button label="Zu Twitter hochladen" name="send_to_twitter_btn"/> + <button label="Zu Flickr hochladen" name="send_to_flickr_btn"/> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/de/panel_snapshot_postcard.xml index c9afe86d7f..ead56f2885 100755 --- a/indra/newview/skins/default/xui/de/panel_snapshot_postcard.xml +++ b/indra/newview/skins/default/xui/de/panel_snapshot_postcard.xml @@ -12,6 +12,10 @@ <text name="title"> E-Mail </text> - <button label="Nachricht" name="message_btn"/> - <button label="Einstellungen" name="settings_btn"/> + <tab_container name="postcard_tabs"> + <panel name="panel_postcard_message" label="Nachricht"/> + <panel name="panel_postcard_settings" label="Einstellungen"/> + </tab_container> + <button name="cancel_btn" label="Abbrechen"/> + <button name="send_btn" label="Absenden"/> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_profile.xml b/indra/newview/skins/default/xui/de/panel_snapshot_profile.xml index 8d1c52dea8..0f21edd1b6 100755 --- a/indra/newview/skins/default/xui/de/panel_snapshot_profile.xml +++ b/indra/newview/skins/default/xui/de/panel_snapshot_profile.xml @@ -1,28 +1,21 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="panel_snapshot_profile"> <text name="title"> - In meinem Profil posten + Profil </text> <combo_box label="Auflösung" name="profile_size_combo"> - <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="Benutzerdefiniert" name="Custom"/> + <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/> + <combo_box.item label="640x480" name="640x480"/> + <combo_box.item label="800x600" name="800x600"/> + <combo_box.item label="1024x768" name="1024x768"/> + <combo_box.item label="Benutzerdefiniert" name="Custom"/> </combo_box> - <layout_stack name="profile_image_params_ls"> - <layout_panel name="profile_image_size_lp"> - <spinner label="Breite" name="profile_snapshot_width"/> - <spinner label="Höhe" name="profile_snapshot_height"/> - <check_box label="Seitenverhältnis beibehalten" name="profile_keep_aspect_check"/> - </layout_panel> - <layout_panel name="profile_image_metadata_lp"> - <text name="caption_label"> - Bildunterschrift: - </text> - <check_box initial_value="true" label="Ort einschließen" name="add_location_cb"/> - </layout_panel> - </layout_stack> + <spinner label="Breite x Höhe" name="profile_snapshot_width"/> + <check_box label="Seitenverhältnis beibehalten" name="profile_keep_aspect_check"/> + <text name="caption_label"> + Bildunterschrift: + </text> + <check_box initial_value="true" label="Ort einschließen" name="add_location_cb"/> <button label="Abbrechen" name="cancel_btn"/> <button label="Posten" name="post_btn"/> </panel> diff --git a/indra/newview/skins/default/xui/en/floater_facebook.xml b/indra/newview/skins/default/xui/en/floater_facebook.xml index 4535b9084e..2ea34fb751 100644 --- a/indra/newview/skins/default/xui/en/floater_facebook.xml +++ b/indra/newview/skins/default/xui/en/floater_facebook.xml @@ -2,7 +2,6 @@ <floater positioning="cascading" can_close="true" - can_resize="true" help_topic="floater_facebook" layout="topleft" name="floater_facebook" @@ -10,23 +9,15 @@ single_instance="true" reuse_instance="true" title="POST TO FACEBOOK" - min_height="501" + min_height="462" min_width="304" - height="482" - width="304"> - <panel - height="482" - width="304" - visible="true" - name="background" - follows="all" - top="0" - left="0"> + height="462" + width="272"> <tab_container name="tabs" tab_group="1" - tab_min_width="70" - tab_height="30" + tab_min_width="64" + tab_height="21" tab_position="top" top="7" height="437" @@ -57,23 +48,19 @@ follows="all" label="FRIENDS" name="panel_facebook_friends"/> - <panel + <!--<panel filename="panel_facebook_account.xml" class="llfacebookaccountpanel" follows="all" label="ACCOUNT" - name="panel_facebook_account"/> + name="panel_facebook_account"/>--> </tab_container> - <panel - name="connection_status_panel" - follows="left|bottom|right" - height="24"> <text name="connection_error_text" type="string" follows="left|bottom|right" - top="5" - left="9" + bottom="-5" + left="10" width="250" height="20" wrap="true" @@ -88,14 +75,14 @@ height="24" width="24" name="connection_loading_indicator" - top="2" - left="9" + top_delta="-2" + left="10" visible="true"/> <text name="connection_loading_text" type="string" follows="left|bottom|right" - top="5" + top_delta="2" left_pad="5" width="250" height="20" @@ -106,6 +93,4 @@ font="SansSerif"> Loading... </text> - </panel> - </panel> </floater> diff --git a/indra/newview/skins/default/xui/en/floater_flickr.xml b/indra/newview/skins/default/xui/en/floater_flickr.xml index 1a9ffd0489..24de3ddd8d 100644 --- a/indra/newview/skins/default/xui/en/floater_flickr.xml +++ b/indra/newview/skins/default/xui/en/floater_flickr.xml @@ -10,11 +10,11 @@ single_instance="true" reuse_instance="true" title="UPLOAD TO FLICKR" - height="622" - width="304"> + height="590" + width="272"> <panel - height="622" - width="304" + height="590" + width="272" visible="true" name="background" follows="all" @@ -24,10 +24,11 @@ name="tabs" tab_group="1" tab_min_width="70" - tab_height="30" + tab_height="21" tab_position="top" top="7" - height="577" + height="555" + follows="all" halign="center" use_highlighting_on_hover="true"> <panel @@ -51,8 +52,8 @@ name="connection_error_text" type="string" follows="left|bottom|right" - top="5" - left="9" + bottom="-5" + left="10" width="250" height="20" wrap="true" @@ -67,14 +68,14 @@ height="24" width="24" name="connection_loading_indicator" - top="2" - left="9" + top_delta="-2" + left="10" visible="true"/> <text name="connection_loading_text" type="string" follows="left|bottom|right" - top="5" + top_delta="2" left_pad="5" width="250" height="20" diff --git a/indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml index c86ed595a7..17bc818cc1 100755 --- a/indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml +++ b/indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml @@ -2,7 +2,7 @@ <floater legacy_header_height="18" can_minimize="false" - height="408" + height="440" layout="topleft" name="Inventory Finder" help_topic="inventory_finder" @@ -95,36 +95,36 @@ width="126" /> <icon height="16" - image_name="Inv_Mesh" + image_name="Inv_Notecard" layout="topleft" left="8" mouse_opaque="true" - name="icon_mesh" - top="142" + name="icon_notecard" + top="122" width="16" /> <check_box height="16" - label="Meshes" + label="Notecards" layout="topleft" left_pad="2" - name="check_mesh" + name="check_notecard" top_delta="0" width="126" /> <icon height="16" - image_name="Inv_Notecard" + image_name="Inv_Mesh" layout="topleft" left="8" mouse_opaque="true" - name="icon_notecard" - top="122" + name="icon_mesh" + top="142" width="16" /> <check_box height="16" - label="Notecards" + label="Meshes" layout="topleft" left_pad="2" - name="check_notecard" + name="check_mesh" top_delta="0" width="126" /> <icon @@ -223,25 +223,33 @@ top="262" width="100" /> <button - follows="left|top" height="20" label="None" label_selected="None" - layout="topleft" left_delta="0" name="None" - top_pad="4" + left_pad="10" width="100" /> <check_box height="16" label="Always show folders" layout="topleft" - left_delta="0" + left="8" name="check_show_empty" - top_pad="4" + top_pad="6" width="144" /> + <view_border + bevel_style="none" + follows="top|left" + height="0" + layout="topleft" + left="10" + name="horiz_separator" + top_pad="8" + width="260"/> <check_box height="16" + top="324" label="Since Logoff" layout="topleft" left_delta="0" @@ -257,36 +265,74 @@ layout="topleft" left_delta="0" name="- OR -" - top_delta="16" + top="342" width="144"> - OR - </text> + <radio_group + height="16" + layout="topleft" + name="date_search_direction" + top="360" + left="8" + width="270"> + <radio_item + label="Newer than" + layout="topleft" + name="newer" + top_pad="6" + left="0" /> + <radio_item + label="Older than" + layout="topleft" + name="older" + top_delta="0" + left="120" /> + </radio_group> <spinner follows="left|top" height="16" increment="1" initial_value="0" - label="Hours Ago" - label_width="64" layout="topleft" left_delta="0" max_val="240000" name="spin_hours_ago" top_pad="4" - width="144" /> + width="64" /> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + left_pad="3" + top_delta="4" + width="80"> + Hours + </text> <spinner follows="left|top" height="16" increment="1" initial_value="0" - label="Days Ago" - label_width="64" layout="topleft" - left_delta="0" max_val="10000" name="spin_days_ago" top_pad="4" - width="144" /> + left="8" + width="64" /> + <text + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + left_pad="3" + top_delta="4" + width="80"> + Days + </text> <button follows="top|right" height="20" @@ -295,6 +341,6 @@ layout="topleft" name="Close" right="-6" - top="382" + top="406" width="76" /> </floater> diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml index f5d5d7e075..76adaad57c 100755 --- a/indra/newview/skins/default/xui/en/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml @@ -3,8 +3,9 @@ positioning="cascading" legacy_header_height="18" can_minimize="true" + can_resize="false" can_close="true" - height="500" + height="455" layout="topleft" name="Snapshot" single_instance="true" @@ -12,7 +13,8 @@ save_rect="true" save_visibility="false" title="SNAPSHOT" - width="470"> + width="624" + min_height="455"> <floater.string name="unknown"> unknown @@ -58,11 +60,11 @@ Saved to Computer! </string> <string - name="facebook_failed_str"> + name="facebook_failed_str"> Failed to upload image to your Facebook timeline. </string> <string - name="profile_failed_str"> + name="profile_failed_str"> Failed to upload image to your Profile Feed. </string> <string @@ -79,35 +81,231 @@ </string> <button follows="left|top" - height="23" - image_overlay="TabIcon_Close_Off" + height="25" + image_overlay="Refresh_Off" + image_hover_unselected="Toolbar_Middle_Over" + image_selected="Toolbar_Middle_Selected" + image_unselected="Toolbar_Middle_Off" + image_overlay_alignment="left" + imgoverlay_label_space="5" + pad_bottom="0" + halign="left" layout="topleft" - left="236" - name="advanced_options_btn" - tool_tip="Advanced options" - top="25" - width="23" /> - <ui_ctrl - height="160" - width="250" - layout="topleft" - name="thumbnail_placeholder" - top="50" - follows="left|top" - left="10"> + left="10" + label="REFRESH" + name="new_snapshot_btn" + top_pad="26" + width="167" /> + <button + follows="left|top" + control_name="AdvanceSnapshot" + invisibility_control="AdvanceSnapshot" + height="25" + is_toggle="true" + layout="topleft" + image_hover_unselected="Toolbar_Middle_Over" + image_selected="Toolbar_Middle_Off" + image_unselected="Toolbar_Middle_Off" + image_overlay="Conv_toolbar_expand" + name="retract_btn" + left_pad="1" + top_delta="0" + width="31" /> + <button + follows="left|top" + control_name="AdvanceSnapshot" + visibility_control="AdvanceSnapshot" + height="25" + is_toggle="true" + layout="topleft" + image_overlay="Conv_toolbar_collapse" + image_hover_unselected="Toolbar_Middle_Over" + image_selected="Toolbar_Middle_Off" + image_unselected="Toolbar_Middle_Off" + name="extend_btn" + left_delta="0" + top_delta="0" + width="31" /> + <panel + height="154" + layout="topleft" + follows="top|left" + left="0" + name="advanced_options_panel" + top_pad="-6" + width="210"> + <view_border + bevel_style="in" + follows="left|top|right" + height="1" + left="10" + layout="topleft" + name="advanced_options_hr" + right="-1" + top_pad="5" + /> + <text + type="string" + length="1" + follows="left|top" + height="13" + layout="topleft" + left="10" + name="layer_type_label" + top_pad="10" + width="100"> + Capture: + </text> + <combo_box + follows="left|top|right" + height="23" + label="Image Layers" + layout="topleft" + left="30" + name="layer_types" + right="-2"> + <combo_box.item + label="Colors" + name="Colors" + value="colors" /> + <combo_box.item + label="Depth" + name="Depth" + value="depth" /> + </combo_box> + <check_box + label="Interface" + layout="topleft" + left="30" + height="16" + top_pad="8" + width="180" + name="ui_check" /> + <check_box + label="HUDs" + layout="topleft" + height="16" + left="30" + top_pad="1" + width="180" + name="hud_check" /> + <check_box + label="Freeze frame (fullscreen)" + layout="topleft" + height="16" + left="10" + top_pad="1" + width="180" + name="freeze_frame_check" /> + <check_box + label="Auto-refresh" + layout="topleft" + height="16" + left="10" + top_pad="1" + width="180" + name="auto_snapshot_check" /> + <text + type="string" + length="1" + follows="left|top" + height="13" + layout="topleft" + left="10" + name="filter_list_label" + top_pad="10" + width="50"> + Filter: + </text> + <combo_box + control_name="PhotoFilters" + follows="left|right|top" + name="filters_combobox" + tool_tip="Image filters" + top_delta="-3" + left="50" + right="-1" + height="21" + width="135"> + <combo_box.item + label="No Filter" + name="NoFilter" + value="NoFilter" /> + </combo_box> + <view_border + bevel_style="in" + follows="left|top|right" + height="1" + left="10" + layout="topleft" + name="advanced_options_hr" + right="-1" + top_pad="7" + /> + </panel> + <panel_container + follows="left|top" + height="230" + layout="topleft" + left="0" + name="panel_container" + default_panel_name="panel_snapshot_options" + top_pad="10" + width="215"> + <panel + class="llpanelsnapshotoptions" + filename="panel_snapshot_options.xml" + follows="all" + layout="topleft" + left="0" + name="panel_snapshot_options" + top="0" /> <panel - background_visible="true" - bg_alpha_color="0.9 1 0.9 1" + class="llpanelsnapshotprofile" + follows="all" + layout="topleft" + name="panel_snapshot_profile" + filename="panel_snapshot_profile.xml" /> + <panel + class="llpanelsnapshotpostcard" + follows="all" + layout="topleft" + name="panel_snapshot_postcard" + filename="panel_snapshot_postcard.xml" /> + <panel + class="llpanelsnapshotinventory" + follows="all" + layout="topleft" + name="panel_snapshot_inventory" + filename="panel_snapshot_inventory.xml" /> + <panel + class="llpanelsnapshotlocal" + follows="all" + layout="topleft" + name="panel_snapshot_local" + filename="panel_snapshot_local.xml" /> + </panel_container> + <view_border + bevel_style="in" + follows="left|top" + height="1" + left="10" + layout="topleft" + name="status_hr" + width="199" + top_pad="-16"/> + <panel + background_visible="false" follows="left|top" font="SansSerifLarge" halign="center" height="20" layout="topleft" - left="0" + left="10" length="1" name="succeeded_panel" - right="-1" - top="0" + width="198" + top_pad="1" type="string" visible="false"> <text @@ -120,7 +318,7 @@ length="1" name="succeeded_lbl" right="-1" - text_color="0.2 0.5 0.2 1" + text_color="0.2 0.85 0.2 1" top="4" translate="false" type="string"> @@ -128,18 +326,17 @@ </text> </panel> <panel - background_visible="true" - bg_alpha_color="1 0.9 0.9 1" + background_visible="false" follows="left|top" font="SansSerifLarge" halign="center" height="20" layout="topleft" - left_delta="0" + left="10" length="1" name="failed_panel" - right="-1" - top="0" + width="198" + top_delta="0" type="string" visible="false"> <text @@ -152,7 +349,7 @@ length="1" name="failed_lbl" right="-1" - text_color="0.5 0.2 0.2 1" + text_color="0.95 0.4 0.4 1" top="4" translate="false" type="string"> @@ -161,51 +358,39 @@ </panel> <loading_indicator follows="left|top" - height="48" + height="24" layout="topleft" name="working_indicator" - left="101" - top="46" + left="10" + top_delta="0" visible="false" - width="48" /> + width="24" /> <text - follows="left|top|right" + follows="left|top" font="SansSerifBold" height="14" layout="topleft" - left="5" + left_pad="3" length="1" - halign="center" + halign="left" name="working_lbl" - right="-5" - top="98" + top_delta="5" translate="false" type="string" visible="false" - width="130"> + width="162"> Working </text> - <button - follows="left|top" - height="22" - image_overlay="Refresh_Off" - layout="topleft" - left="20" - name="new_snapshot_btn" - bottom="-20" - visible="false" - width="22" /> <text follows="left|top" font="SansSerifBold" halign="left" height="18" layout="topleft" - left_pad="10" + left="10" length="1" name="refresh_lbl" - right="-5" - text_color="red" + text_color="0.95 0.4 0.4 1" top_delta="0" translate="false" type="string" @@ -213,37 +398,44 @@ width="130"> Refresh to save. </text> - </ui_ctrl> + <ui_ctrl + layout="topleft" + name="thumbnail_placeholder" + top="23" + left="215" + width="400" + height="400" + follows="top|left"/> <view_border bevel_style="in" height="21" - width="250" layout="topleft" name="img_info_border" - top_pad="3" - follows="left|top" - left_delta="0" - /> + top_pad="0" + right="-10" + follows="left|top|right" + left_delta="0"/> <text type="string" font="SansSerifSmall" length="1" - follows="left|top" + follows="left|top|right" height="14" layout="topleft" - left_delta="5" + left="220" + right="-20" halign="left" name="image_res_text" top_delta="5" - width="100"> - [WIDTH] x [HEIGHT] px + width="200"> + [WIDTH]px (width) x [HEIGHT]px (height) </text> <text - follows="left|top" + follows="right|top" font="SansSerifSmall" height="14" layout="topleft" - left="200" + left="-65" length="1" halign="right" name="file_size_label" @@ -252,161 +444,4 @@ width="50"> [SIZE] KB </text> - <panel_container - follows="left|top" - height="260" - layout="topleft" - left="0" - name="panel_container" - default_panel_name="panel_snapshot_options" - top_pad="10" - width="270"> - <panel - class="llpanelsnapshotoptions" - filename="panel_snapshot_options.xml" - follows="all" - layout="topleft" - left="0" - name="panel_snapshot_options" - top="0" /> - <panel - class="llpanelsnapshotprofile" - follows="all" - layout="topleft" - name="panel_snapshot_profile" - filename="panel_snapshot_profile.xml" /> - <panel - class="llpanelsnapshotpostcard" - follows="all" - layout="topleft" - name="panel_snapshot_postcard" - filename="panel_snapshot_postcard.xml" /> - <panel - class="llpanelsnapshotinventory" - follows="all" - layout="topleft" - name="panel_snapshot_inventory" - filename="panel_snapshot_inventory.xml" /> - <panel - class="llpanelsnapshotlocal" - follows="all" - layout="topleft" - name="panel_snapshot_local" - filename="panel_snapshot_local.xml" /> - </panel_container> - <panel - height="295" - layout="topleft" - left="270" - name="advanced_options_panel" - top="20" - width="200"> - <text - type="string" - font="SansSerifSmall" - length="1" - follows="left|top" - height="14" - layout="topleft" - left="10" - halign="left" - name="advanced_options_label" - right="-10" - top="10"> - ADVANCED OPTIONS - </text> - <view_border - bevel_style="in" - follows="left|top|right" - height="1" - left="10" - layout="topleft" - name="advanced_options_hr" - right="-10" - top_pad="5" - /> - <text - type="string" - length="1" - follows="left|top" - height="13" - layout="topleft" - left="10" - name="layer_type_label" - top_pad="10" - width="50"> - Capture: - </text> - <combo_box - follows="left|top|right" - height="23" - label="Image Layers" - layout="topleft" - left="30" - name="layer_types" - right="-10"> - <combo_box.item - label="Colors" - name="Colors" - value="colors" /> - <combo_box.item - label="Depth" - name="Depth" - value="depth" /> - </combo_box> - <check_box - label="Interface" - layout="topleft" - left="30" - top_pad="10" - width="180" - name="ui_check" /> - <check_box - label="HUDs" - layout="topleft" - left="30" - top_pad="10" - width="180" - name="hud_check" /> - <check_box - label="Freeze frame (fullscreen)" - layout="topleft" - left="10" - top_pad="8" - width="180" - name="freeze_frame_check" /> - <check_box - label="Auto-refresh" - layout="topleft" - left="10" - top_pad="8" - width="180" - name="auto_snapshot_check" /> - <text - type="string" - length="1" - follows="left|top" - height="13" - layout="topleft" - left="10" - name="filter_list_label" - top_pad="10" - width="50"> - Filter: - </text> - <combo_box - control_name="PhotoFilters" - follows="left|right|top" - name="filters_combobox" - tool_tip="Image filters" - top_pad="8" - left="30" - height="21" - width="135"> - <combo_box.item - label="No Filter" - name="NoFilter" - value="NoFilter" /> - </combo_box> - </panel> </floater> diff --git a/indra/newview/skins/default/xui/en/floater_top_objects.xml b/indra/newview/skins/default/xui/en/floater_top_objects.xml index 0b71177345..36ceddd305 100755 --- a/indra/newview/skins/default/xui/en/floater_top_objects.xml +++ b/indra/newview/skins/default/xui/en/floater_top_objects.xml @@ -38,6 +38,18 @@ name="none_descriptor"> None found. </floater.string> + <floater.string + name="URLs"> + URLs + </floater.string> + <floater.string + name="memory"> + Memory (KB) + </floater.string> + + + + <text type="string" length="1" @@ -82,7 +94,7 @@ name="parcel" width="120" /> <scroll_list.columns - label="Time" + label="Date" name="time" width="130" /> <scroll_list.columns diff --git a/indra/newview/skins/default/xui/en/floater_twitter.xml b/indra/newview/skins/default/xui/en/floater_twitter.xml index aa5bfce2e9..3e1a91e58d 100644 --- a/indra/newview/skins/default/xui/en/floater_twitter.xml +++ b/indra/newview/skins/default/xui/en/floater_twitter.xml @@ -10,21 +10,13 @@ single_instance="true" reuse_instance="true" title="TWITTER" - height="502" - width="304"> - <panel - height="502" - width="304" - visible="true" - name="background" - follows="all" - top="0" - left="0"> + height="462" + width="272"> <tab_container name="tabs" tab_group="1" tab_min_width="70" - tab_height="30" + tab_height="21" tab_position="top" top="7" height="457" @@ -43,17 +35,13 @@ label="ACCOUNT" name="panel_twitter_account"/> </tab_container> - <panel - name="connection_status_panel" - follows="left|bottom|right" - height="24"> <text name="connection_error_text" type="string" follows="left|bottom|right" - top="5" - left="9" - width="250" + bottom="-5" + left="10" + width="252" height="20" wrap="true" halign="left" @@ -67,16 +55,16 @@ height="24" width="24" name="connection_loading_indicator" - top="2" - left="9" + top_delta="-2" + left="10" visible="true"/> <text name="connection_loading_text" type="string" follows="left|bottom|right" - top="5" + top_delta="2" left_pad="5" - width="250" + width="223" height="20" wrap="true" halign="left" @@ -85,6 +73,4 @@ font="SansSerif"> Loading... </text> - </panel> - </panel> </floater> diff --git a/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml index d2519a5aa4..06d0b849a3 100755 --- a/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml +++ b/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml @@ -63,7 +63,7 @@ <menu_item_separator layout="topleft" /> <menu_item_call - label="Show Filters" + label="Show Filters..." layout="topleft" name="show_filters"> <on_click diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 944f600ef7..570ecf241e 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -169,6 +169,16 @@ No tutorial is currently available. <notification icon="alertmodal.tga" + name="GenericAlertOK" + type="alertmodal"> +[MESSAGE] + <usetemplate + name="okbutton" + yestext="OK"/> + </notification> + + <notification + icon="alertmodal.tga" name="BadInstallation" type="alertmodal"> An error occurred while updating [APP_NAME]. Please [http://get.secondlife.com download the latest version] of the Viewer. @@ -4661,6 +4671,17 @@ The region you're trying to visit contains [REGIONMATURITY] content, but your cu <notification icon="alertmodal.tga" + name="RegionTPSpecialUsageBlocked" + type="alertmodal"> + <tag>fail</tag> + Unable to enter region. '[REGION_NAME]' is a Skill Gaming Region, and you must meet certain criteria in order to enter. For details, please review the [http://wiki.secondlife.com/wiki/Linden_Lab_Official:Skill_Gaming_in_Second_Life Skill Gaming FAQ]. + <usetemplate + name="okbutton" + yestext="OK"/> + </notification> + + <notification + icon="alertmodal.tga" name="PreferredMaturityChanged" type="alertmodal"> You won't receive any more notifications that you're about to visit a region with [RATING] content. You may change your content preferences in the future by using Me > Preferences > General from the menu bar. diff --git a/indra/newview/skins/default/xui/en/panel_facebook_account.xml b/indra/newview/skins/default/xui/en/panel_facebook_account.xml deleted file mode 100644 index 122cbfb717..0000000000 --- a/indra/newview/skins/default/xui/en/panel_facebook_account.xml +++ /dev/null @@ -1,77 +0,0 @@ -<panel - height="400" - width="304" - layout="topleft" - follows="all" - name="panel_facebook_account"> - <string - name="facebook_connected" - value="You are connected to Facebook as:" /> - <string - name="facebook_disconnected" - value="Not connected to Facebook" /> - <text - layout="topleft" - length="1" - follows="top|left" - font="SansSerif" - height="16" - left="9" - name="account_caption_label" - top="21" - type="string"> - Not connected to Facebook. - </text> - <text - layout="topleft" - top_pad="2" - length="1" - follows="top|left" - font="SansSerif" - height="16" - left="9" - name="account_name_label" - parse_urls="true" - type="string"/> - <panel - layout="topleft" - follows="left|top" - name="panel_buttons" - height="345" - left="9"> - <button - layout="topleft" - follows="left|top" - top_pad="9" - visible="true" - height="23" - label="Connect..." - name="connect_btn" - width="210"> - <commit_callback function="SocialSharing.Connect"/> - </button> - - <button - layout="topleft" - follows="left|top" - top_delta="0" - height="23" - label="Disconnect" - name="disconnect_btn" - width="210" - visible="false"> - <commit_callback function="SocialSharing.Disconnect"/> - </button> - <text - layout="topleft" - length="1" - follows="top|left" - height="16" - left="0" - name="account_learn_more_label" - top_pad="20" - type="string"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Learn about posting to Facebook] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/en/panel_facebook_friends.xml b/indra/newview/skins/default/xui/en/panel_facebook_friends.xml index 9d21a3a293..97994fb08b 100644 --- a/indra/newview/skins/default/xui/en/panel_facebook_friends.xml +++ b/indra/newview/skins/default/xui/en/panel_facebook_friends.xml @@ -1,6 +1,6 @@ <panel height="400" - width="304" + width="272" layout="topleft" follows="all" name="panel_facebook_friends"> @@ -9,17 +9,17 @@ value="You currently do not have any Facebook friends who are also Second Life residents. Ask your Facebook friends to join Second Life today!" /> <string name="facebook_friends_no_connected" - value="You're currently not connected to Facebook. Please go to the Account tab to connect and enable this feature." /> + value="You're currently not connected to Facebook. Please go to the Status tab to connect and enable this feature." /> <accordion - background_visible="true" + background_visible="false" bg_alpha_color="DkGray2" bg_opaque_color="DkGray2" follows="all" - height="408" + height="383" layout="topleft" - left="3" + left="10" name="friends_accordion" - right="-2" + right="-10" top_pad="2"> <accordion_tab layout="topleft" @@ -36,7 +36,7 @@ name="second_life_friends" show_permissions_granted="true" top="0" - width="307" /> + width="272" /> </accordion_tab> <accordion_tab layout="topleft" @@ -53,19 +53,20 @@ name="suggested_friends" show_permissions_granted="true" top="0" - width="307" /> + width="272" /> </accordion_tab> </accordion> <text layout="topleft" word_wrap="true" height="64" - width="290" + width="250" follows="top|left|right" font="SansSerif" - left="9" + left="10" + right="-10" name="facebook_friends_status" - top="21" + top="5" type="string"> Not connected to Facebook. </text> diff --git a/indra/newview/skins/default/xui/en/panel_facebook_photo.xml b/indra/newview/skins/default/xui/en/panel_facebook_photo.xml index b5b6dee004..22e6598352 100644 --- a/indra/newview/skins/default/xui/en/panel_facebook_photo.xml +++ b/indra/newview/skins/default/xui/en/panel_facebook_photo.xml @@ -1,29 +1,19 @@ <panel height="400" - width="304" + width="272" layout="topleft" follows="all" name="panel_facebook_photo"> - <layout_stack - layout="topleft" - border_size="0" - height="392" - follows="all" - orientation="vertical" - name="stack_photo" - top="8"> - <layout_panel - name="snapshot_panel" - height="367"> <combo_box control_name="FacebookPhotoResolution" follows="left|top" - top="6" - left="9" + layout="topleft" + top="7" + left="10" name="resolution_combobox" tool_tip="Image resolution" height="21" - width="135"> + width="124"> <combo_box.item label="Current Window" name="CurrentWindow" @@ -47,13 +37,14 @@ </combo_box> <combo_box control_name="FacebookPhotoFilters" - follows="right|top" + follows="left|top" + layout="topleft" name="filters_combobox" tool_tip="Image filters" - top="6" - left="165" + top="7" + left_pad="4" height="21" - width="135"> + width="124"> <combo_box.item label="No Filter" name="NoFilter" @@ -61,48 +52,62 @@ </combo_box> <panel height="150" - width="250" + width="252" visible="true" + layout="topleft" name="thumbnail_placeholder" - top="33" - follows="left|top|right" - left="9"> + top_pad="5" + follows="left|top|rith" + right="-10" + left="10"> </panel> - <button - follows="left|top" - height="23" - label="Refresh" - left="9" - top_pad="5" - name="new_snapshot_btn" - tool_tip="Click to refresh" - visible="true" - width="100" > - <button.commit_callback - function="SocialSharing.RefreshPhoto" /> - </button> - <text + <text follows="left|top" + layout="topleft" font="SansSerif" text_color="EmphasisColor" height="14" - top_pad="-19" - left_pad="-30" + top_pad="2" + left="10" length="1" halign="center" name="working_lbl" translate="false" type="string" visible="true" - width="150"> + width="251"> Refreshing... </text> + <view_border + bevel_style="in" + follows="left|top" + layout="topleft" + height="1" + left="10" + name="refresh_border" + width="250" + top_pad="0"/> + <button + follows="left|top" + layout="topleft" + height="23" + label="Refresh" + left="10" + top_pad="5" + name="new_snapshot_btn" + tool_tip="Click to refresh" + visible="true" + width="100" > + <button.commit_callback + function="SocialSharing.RefreshPhoto" /> + </button> <button follows="right|top" + layout="topleft" height="23" label="Preview" - left="200" - top_pad="-19" + right="-10" + top_delta="0" name="big_preview_btn" tool_tip="Click to toggle preview" is_toggle="true" @@ -114,9 +119,10 @@ <text length="1" follows="top|left|right" + layout="topleft" font="SansSerif" height="16" - left="9" + left="10" name="caption_label" top_pad="20" type="string"> @@ -124,23 +130,22 @@ </text> <text_editor follows="left|top|right|bottom" + layout="topleft" height="87" width="250" - left="9" + left="10" + right="-10" length="1" max_length="700" name="photo_caption" type="string" word_wrap="true"> </text_editor> - </layout_panel> - <layout_panel - name="photo_button_panel" - height="25"> <button - follows="left|bottom" - top="0" - left="9" + follows="left|top" + layout="topleft" + top_pad="22" + left="10" height="23" label="Post" name="post_photo_btn" @@ -149,16 +154,15 @@ function="SocialSharing.SendPhoto" /> </button> <button - follows="left|bottom" + follows="right|top" + layout="topleft" height="23" label="Cancel" name="cancel_photo_btn" - left_pad="15" + right="-10" top_delta="0" width="100"> <button.commit_callback function="SocialSharing.Cancel" /> - </button> - </layout_panel> - </layout_stack> + </button> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_facebook_place.xml b/indra/newview/skins/default/xui/en/panel_facebook_place.xml index 84c87df523..f87b008c4e 100644 --- a/indra/newview/skins/default/xui/en/panel_facebook_place.xml +++ b/indra/newview/skins/default/xui/en/panel_facebook_place.xml @@ -1,115 +1,96 @@ <panel height="400" - width="304" + width="272" layout="topleft" follows="all" name="panel_facebook_place"> - <layout_stack - layout="topleft" - border_size="0" - height="392" - follows="all" - orientation="vertical" - name="stack_place" - top="8"> - <layout_panel - name="place_detail_panel" - height="181"> <text length="1" follows="top|left|right" + layout="topleft" font="SansSerif" height="16" - left="9" + left="10" name="place_caption_label" - top="13" + top="5" type="string"> Say something about where you are: </text> <text_editor follows="top|left|right" - height="150" + layout="topleft" + height="70" width="250" - left="9" + left="10" + right="-10" length="1" max_length="700" name="place_caption" type="string" word_wrap="true"> </text_editor> - </layout_panel> - <layout_panel - name="place_map_panel" - height="186"> + <check_box + follows="left|top" + layout="topleft" + initial_value="false" + height="16" + top_pad="8" + width="8" + label="Include overhead view of location" + name="add_place_view_cb" + left="10"/> <panel follows="left|top" - height="128" - width="128" + layout="topleft" + height="243" + width="250" background_visible="true" bg_opaque_color="Black" bg_alpha_color="Black" - top="20" - left="9" + top_pad="8" + left="10" + right="-12" visible="true" name="map_border"> </panel> - <loading_indicator - follows="left|top" - height="24" - width="24" - name="map_loading_indicator" - top="77" - left="61" - visible="true"/> <icon follows="left|top" - height="128" - width="128" + layout="topleft" + height="243" + width="250" image_name="Map_Placeholder_Icon" - layout="topleft" - top="20" - left="9" + top_delta="0" + right="-12" + left="10" visible="true" name="map_placeholder"> </icon> <icon follows="left|top" - height="128" - width="128" + layout="topleft" + height="243" + width="250" image_name="Map_Placeholder_Icon" - layout="topleft" - top="20" - left="9" + top_delta="0" + left="10" + right="-12" visible="true" name="map_default"> </icon> - <check_box + <loading_indicator follows="left|top" - initial_value="false" - top_delta="8" - width="8" - label="" - name="add_place_view_cb" - left_pad="5"/> - <text - follows="left|top" - font="SansSerif" - height="32" - width="130" - word_wrap="true" - left_pad="12" - top_delta="-8" - type="string"> - Include overhead view of location - </text> - </layout_panel> - <layout_panel - name="place_button_panel" - height="25"> + layout="topleft" + height="24" + width="24" + name="map_loading_indicator" + top_delta="116" + left="126" + visible="false"/> <button follows="left|bottom" - top="0" - left="9" + layout="topleft" + top_pad="95" + left="10" height="23" label="Post" name="post_place_btn" @@ -118,16 +99,15 @@ function="SocialSharing.SendCheckin" /> </button> <button - follows="left|bottom" + follows="right|bottom" + layout="topleft" height="23" label="Cancel" name="cancel_place_btn" - left_pad="15" + right="-10" top_delta="0" width="100"> <button.commit_callback function="SocialSharing.Cancel" /> </button> - </layout_panel> - </layout_stack> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_facebook_status.xml b/indra/newview/skins/default/xui/en/panel_facebook_status.xml index 480abec558..fe0f3c9279 100644 --- a/indra/newview/skins/default/xui/en/panel_facebook_status.xml +++ b/indra/newview/skins/default/xui/en/panel_facebook_status.xml @@ -1,50 +1,113 @@ <panel height="400" - width="304" + width="272" follows="all" layout="topleft" name="panel_facebook_status"> - <layout_stack + <string + name="facebook_connected" + value="You are connected to Facebook as:" /> + <string + name="facebook_disconnected" + value="Not connected to Facebook" /> + <text + layout="topleft" + length="1" + follows="top|left" + font="SansSerif" + height="16" + left="10" + name="account_caption_label" + top="5" + type="string"> + Not connected to Facebook. + </text> + <text + layout="topleft" + top_pad="2" + length="1" + follows="top|left" + font="SansSerif" + height="16" + left="10" + name="account_name_label" + parse_urls="true" + type="string"/> + <panel + layout="topleft" + follows="left|top" + name="panel_buttons" + height="60" + left="0"> + <button + layout="topleft" + follows="left|top" + top_pad="9" + left="10" + visible="true" + height="23" + label="Connect..." + name="connect_btn" + width="251"> + <commit_callback function="SocialSharing.Connect"/> + </button> + + <button + layout="topleft" + follows="left|top|right" + top_delta="0" + left="10" + right="-10" + height="23" + label="Disconnect" + name="disconnect_btn" + width="210" + visible="false"> + <commit_callback function="SocialSharing.Disconnect"/> + </button> + <text layout="topleft" - border_size="0" - height="392" - follows="all" - orientation="vertical" - name="stack_status" - top="8"> - <layout_panel - name="status_detail_panel" - height="367"> + length="1" + follows="top|left|right" + left="10" + right="-10" + height="16" + name="account_learn_more_label" + top_pad="5" + type="string"> + [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Learn about posting to Facebook] + </text> + </panel> + <text length="1" + layout="topleft" follows="top|left|right" font="SansSerif" height="16" - left="9" + left="10" name="status_caption_label" - top="13" + top_pad="5" type="string"> What's on your mind? </text> <text_editor follows="left|top|right" + layout="topleft" height="150" - width="250" - left="9" + width="252" + left="10" length="1" max_length="700" name="status_message" type="string" word_wrap="true"> </text_editor> - </layout_panel> - <layout_panel - name="status_button_panel" - height="25"> <button - follows="left|bottom" - top="0" - left="9" + follows="left|top" + layout="topleft" + top_pad="6" + left="10" height="23" label="Post" name="post_status_btn" @@ -53,16 +116,15 @@ function="SocialSharing.SendStatus" /> </button> <button - follows="left|bottom" + follows="right|top" + layout="topleft" height="23" label="Cancel" name="cancel_status_btn" - left_pad="15" + right="-10" top_delta="0" width="100"> <button.commit_callback function="SocialSharing.Cancel" /> </button> - </layout_panel> - </layout_stack> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_flickr_account.xml b/indra/newview/skins/default/xui/en/panel_flickr_account.xml index 506d2e2f74..5c2f335780 100644 --- a/indra/newview/skins/default/xui/en/panel_flickr_account.xml +++ b/indra/newview/skins/default/xui/en/panel_flickr_account.xml @@ -1,6 +1,6 @@ <panel height="540" - width="304" + width="272" layout="topleft" name="panel_flickr_account"> <string @@ -15,9 +15,9 @@ follows="top|left" font="SansSerif" height="16" - left="9" + left="10" name="account_caption_label" - top="21" + top="5" type="string"> Not connected to Flickr. </text> @@ -28,7 +28,7 @@ follows="top|left" font="SansSerif" height="16" - left="9" + left="10" name="account_name_label" parse_urls="true" type="string"/> @@ -36,12 +36,14 @@ layout="topleft" name="panel_buttons" height="345" - left="9"> + left="0"> <button layout="topleft" - follows="left|top" + follows="left|top|right" top_pad="9" visible="true" + left="10" + right="-10" height="23" label="Connect..." name="connect_btn" @@ -51,8 +53,10 @@ <button layout="topleft" - follows="left|top" + follows="left|top|right" top_delta="0" + left="10" + right="-10" height="23" label="Disconnect" name="disconnect_btn" @@ -65,9 +69,9 @@ length="1" follows="top|left" height="16" - left="0" + left="10" name="account_learn_more_label" - top_pad="20" + top_pad="5" type="string"> [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Learn about posting to Flickr] </text> diff --git a/indra/newview/skins/default/xui/en/panel_flickr_photo.xml b/indra/newview/skins/default/xui/en/panel_flickr_photo.xml index 8d8ef45c0d..e31695645d 100644 --- a/indra/newview/skins/default/xui/en/panel_flickr_photo.xml +++ b/indra/newview/skins/default/xui/en/panel_flickr_photo.xml @@ -1,28 +1,19 @@ <panel height="540" - width="304" + width="272" + follows="all" layout="topleft" name="panel_flickr_photo"> - <layout_stack - layout="topleft" - border_size="0" - height="532" - follows="all" - orientation="vertical" - name="stack_photo" - top="8"> - <layout_panel - name="snapshot_panel" - height="507"> <combo_box control_name="FlickrPhotoResolution" follows="left|top" - top="6" - left="9" + layout="topleft" + top="7" + left="10" name="resolution_combobox" tool_tip="Image resolution" height="21" - width="135"> + width="124"> <combo_box.item label="Current Window" name="CurrentWindow" @@ -42,13 +33,14 @@ </combo_box> <combo_box control_name="FlickrPhotoFilters" - follows="right|top" + follows="left|top" + layout="topleft" name="filters_combobox" tool_tip="Image filters" - top="6" - left="165" + top_delta="0" + left_pad="4" height="21" - width="135"> + width="124"> <combo_box.item label="No Filter" name="NoFilter" @@ -59,45 +51,59 @@ width="250" visible="true" name="thumbnail_placeholder" - top="33" - follows="left|top" - left="9"> + top_pad="5" + follows="left|top|right" + layout="topleft" + right="-10" + left="10"> </panel> - <button - follows="left|top" - height="23" - label="Refresh" - left="9" - top_pad="5" - name="new_snapshot_btn" - tool_tip="Click to refresh" - visible="true" - width="100" > - <button.commit_callback - function="SocialSharing.RefreshPhoto" /> - </button> - <text + <text follows="left|top" + layout="topleft" font="SansSerif" text_color="EmphasisColor" height="14" - top_pad="-19" - left_pad="-30" + top_pad="2" + left="10" length="1" halign="center" name="working_lbl" translate="false" type="string" visible="true" - width="150"> + width="251"> Refreshing... </text> + <view_border + bevel_style="in" + follows="left|top" + layout="topleft" + height="1" + left="10" + name="refresh_border" + width="250" + top_pad="0"/> + <button + follows="left|top" + layout="topleft" + height="23" + label="Refresh" + left="10" + top_pad="5" + name="new_snapshot_btn" + tool_tip="Click to refresh" + visible="true" + width="100" > + <button.commit_callback + function="SocialSharing.RefreshPhoto" /> + </button> <button follows="right|top" + layout="topleft" height="23" label="Preview" - left="200" - top_pad="-19" + right="-10" + top_delta="0" name="big_preview_btn" tool_tip="Click to toggle preview" is_toggle="true" @@ -109,19 +115,21 @@ <text length="1" follows="top|left|right" + layout="topleft" font="SansSerif" height="16" - left="9" + left="10" name="title_label" - top_pad="15" + top_pad="10" type="string"> Title: </text> <line_editor follows="left|top" + layout="topleft" height="20" width="250" - left="9" + left="10" length="1" max_length="256" name="photo_title" @@ -130,19 +138,23 @@ <text length="1" follows="top|left|right" + layout="topleft" font="SansSerif" height="16" - left="9" + left="10" + right="-10" name="description_label" top_pad="10" + width="25" type="string"> Description: </text> <text_editor follows="left|top" + layout="topleft" height="50" - width="250" - left="9" + width="249" + left="10" length="1" max_length="700" name="photo_description" @@ -151,6 +163,7 @@ </text_editor> <check_box follows="left|top" + layout="topleft" initial_value="true" label="Include SL location at end of description" name="add_location_cb" @@ -159,23 +172,25 @@ top_pad="8"/> <text length="1" - follows="top|left|right" + follows="top|left" + layout="topleft" font="SansSerif" height="16" - left="9" + left="10" name="tags_label" - top_pad="10" + top_pad="6" type="string"> Tags: </text> <text length="1" follows="top|left" + layout="topleft" font="SansSerifSmall" text_color="White_50" height="30" name="tags_help_label" - left="50" + left="51" top_pad="-16" type="string"> Separate tags with spaces @@ -183,9 +198,10 @@ Use "" for multi-word tags </text> <text_editor follows="left|top" + layout="topleft" height="50" - width="250" - left="9" + width="249" + left="10" length="1" max_length="700" name="photo_tags" @@ -195,8 +211,9 @@ Use "" for multi-word tags <combo_box control_name="FlickrPhotoRating" follows="left|top" - top_pad="16" - left="9" + layout="topleft" + top_pad="7" + left="10" name="rating_combobox" tool_tip="Flickr content rating" height="21" @@ -214,14 +231,11 @@ Use "" for multi-word tags name="RestrictedRating" value="3" /> </combo_box> - </layout_panel> - <layout_panel - name="photo_button_panel" - height="25"> <button follows="left|top" - top="0" - left="9" + layout="topleft" + top_pad="7" + left="10" height="23" label="Upload" name="post_photo_btn" @@ -230,16 +244,15 @@ Use "" for multi-word tags function="SocialSharing.SendPhoto" /> </button> <button - follows="left|top" + follows="right|top" + layout="topleft" height="23" label="Cancel" name="cancel_photo_btn" - left_pad="15" + right="-10" top_delta="0" width="100"> <button.commit_callback function="SocialSharing.Cancel" /> - </button> - </layout_panel> - </layout_stack> + </button> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_postcard_message.xml b/indra/newview/skins/default/xui/en/panel_postcard_message.xml index ab2a42ea01..331a08b4bb 100755 --- a/indra/newview/skins/default/xui/en/panel_postcard_message.xml +++ b/indra/newview/skins/default/xui/en/panel_postcard_message.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel - height="380" + height="319" layout="topleft" name="panel_postcard_message" width="490"> @@ -12,7 +12,7 @@ font="SansSerif" height="16" layout="topleft" - left="12" + left="5" name="to_label" top="10" width="60"> @@ -25,7 +25,7 @@ layout="topleft" left_pad="10" name="to_form" - right="-10" + right="-3" top_delta="-4" /> <text type="string" @@ -35,7 +35,7 @@ font="SansSerif" height="16" layout="topleft" - left="12" + left="5" name="name_label" width="60"> From: @@ -47,7 +47,7 @@ left_pad="10" max_length_bytes="100" name="name_form" - right="-10" + right="-3" top_delta="-4" /> <text type="string" @@ -57,7 +57,7 @@ font="SansSerif" height="16" layout="topleft" - left="12" + left="5" name="subject_label" width="60"> Subject: @@ -65,61 +65,24 @@ <line_editor follows="left|top|right" height="20" - label="Type your subject here." layout="topleft" left_pad="10" max_length_bytes="100" name="subject_form" - right="-10" + right="-3" top_delta="-4" /> - <text - type="string" - length="1" - bottom_delta="23" - follows="top|left|right" - font="SansSerif" - layout="topleft" - left="12" - name="msg_label" - right="-10"> - Message: - </text> <text_editor type="string" length="1" follows="left|top|right" - height="60" + height="48" layout="topleft" - left_delta="0" + left="5" max_length="700" name="msg_form" - right="-10" - top_pad="10" + right="-4" + top_pad="5" word_wrap="true"> Type your message here. </text_editor> - <button - follows="right|bottom" - height="23" - label="Cancel" - layout="topleft" - name="cancel_btn" - right="-32" - top="350" - width="100"> - <button.commit_callback - function="Postcard.Cancel" /> - </button> - <button - follows="right|bottom" - height="23" - label="Send" - layout="topleft" - left_delta="-106" - name="send_btn" - top_delta="0" - width="100"> - <button.commit_callback - function="Postcard.Send" /> - </button> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_postcard_settings.xml b/indra/newview/skins/default/xui/en/panel_postcard_settings.xml index 3f67a48b14..525149d7ee 100755 --- a/indra/newview/skins/default/xui/en/panel_postcard_settings.xml +++ b/indra/newview/skins/default/xui/en/panel_postcard_settings.xml @@ -9,10 +9,10 @@ height="23" label="Resolution" layout="topleft" - left="10" + left="5" name="postcard_size_combo" - right="-10" - top_pad="10"> + right="-3" + top_pad="5"> <combo_box.item label="Current Window" name="CurrentWindow" @@ -34,103 +34,55 @@ name="Custom" value="[i-1,i-1]" /> </combo_box> - <layout_stack - animate="false" - follows="all" - height="275" - layout="bottomleft" - name="postcard_image_params_ls" - left_delta="0" - orientation="vertical" - top_pad="10" - right="-10"> - <layout_panel - follows="top|left|right" - height="60" - layout="topleft" - left="0" - name="postcard_image_size_lp" - auto_resize="false" - top="0" - right="-1" - visible="true"> - <spinner - allow_text_entry="false" - decimal_digits="0" - follows="left|top" - height="20" - increment="32" - label="Width" - label_width="40" - layout="topleft" - left="10" - max_val="6016" - min_val="32" - name="postcard_snapshot_width" - top_pad="10" - width="95" /> - <spinner - allow_text_entry="false" - decimal_digits="0" - follows="left|top" - height="20" - increment="32" - label="Height" - label_width="40" - layout="topleft" - left_pad="5" - max_val="6016" - min_val="32" - name="postcard_snapshot_height" - top_delta="0" - width="95" /> - <check_box - height="10" - bottom_delta="20" - follows="left|top" - label="Constrain proportions" - layout="topleft" - left="10" - name="postcard_keep_aspect_check" /> - </layout_panel> - <layout_panel - follows="top|left|right" - height="23" - layout="topleft" - left="0" - name="postcard_image_format_quality_lp" - auto_resize="true" - top="0" - right="-1" - visible="true"> - <slider - decimal_digits="0" - follows="left|top" - height="15" - increment="1" - initial_value="75" - label="Image quality" - label_width="80" - layout="topleft" - left="0" - max_val="100" - name="image_quality_slider" - top_pad="7" - width="190" /> - <text - type="string" - follows="left|top" - font="SansSerifSmall" - length="1" - height="14" - layout="topleft" - left_pad="-5" - halign="left" - name="image_quality_level" - top_delta="0" - width="60"> - ([QLVL]) - </text> - </layout_panel> - </layout_stack> + <spinner + allow_text_entry="false" + decimal_digits="0" + follows="left|top" + height="20" + increment="32" + label="Width x Height" + label_width="90" + layout="topleft" + left="5" + max_val="6016" + min_val="32" + name="postcard_snapshot_width" + top_pad="5" + width="144" /> + <spinner + allow_text_entry="false" + decimal_digits="0" + follows="left|top" + height="20" + increment="32" + label="" + label_width="0" + layout="topleft" + left_pad="0" + max_val="6016" + min_val="32" + name="postcard_snapshot_height" + top_delta="0" + width="52" /> + <check_box + top_pad="12" + follows="left|top" + label="Constrain proportions" + layout="topleft" + left="5" + name="postcard_keep_aspect_check" /> + <slider + decimal_digits="0" + follows="left|top" + height="15" + increment="1" + initial_value="75" + label="Quality:" + label_width="45" + layout="topleft" + left="5" + max_val="100" + name="image_quality_slider" + top_pad="6" + width="190" /> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/en/panel_snapshot_inventory.xml index 71d808fa4b..ea579c6dae 100755 --- a/indra/newview/skins/default/xui/en/panel_snapshot_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_snapshot_inventory.xml @@ -12,12 +12,12 @@ left="12" mouse_opaque="true" name="title_icon" - top="5" + top="6" width="18" /> <text follows="top|left|right" font="SansSerifBold" - height="20" + height="14" layout="topleft" left_pad="12" length="1" @@ -25,46 +25,28 @@ right="-10" text_color="white" type="string" - top_delta="5"> - Save to My Inventory + top_delta="3"> + Inventory </text> <view_border bevel_style="in" follows="left|top|right" height="1" - left="10" + left="9" layout="topleft" name="hr" - right="-10" + right="-5" top_pad="5" /> - <text - bottom="35" - follows="top|left|right" - font="SansSerif" - height="56" - layout="topleft" - left="12" - length="1" - name="hint_lbl" - top_pad="10" - type="string" - word_wrap="true"> - Saving an image to your inventory costs L$[UPLOAD_COST]. To save your image as a texture select one of the square formats. - </text> <combo_box follows="top|left|right" - height="23" + height="20" label="Resolution" layout="topleft" left_delta="0" name="texture_size_combo" - right="-10" - top_pad="10"> - <combo_box.item - label="Current Window" - name="CurrentWindow" - value="[i0,i0]" /> + right="-5" + top_pad="5"> <combo_box.item label="Small (128x128)" name="Small(128x128)" @@ -88,61 +70,74 @@ follows="left|top" height="20" increment="32" - label="Width" - label_width="40" + label="Width x Height" + label_width="90" layout="topleft" left="10" max_val="6016" min_val="32" name="inventory_snapshot_width" - top_pad="10" - width="95" /> + top_pad="7" + width="144" /> <spinner allow_text_entry="false" decimal_digits="0" follows="left|top" height="20" increment="32" - label="Height" - label_width="40" + label="" + label_width="0" layout="topleft" - left_pad="5" + left_pad="0" max_val="6016" min_val="32" name="inventory_snapshot_height" top_delta="0" - width="95" /> + width="54" /> <check_box - bottom_delta="20" - height="10" + top_pad="12" follows="left|top" label="Constrain proportions" layout="topleft" left="10" name="inventory_keep_aspect_check" visible="false" /> + <text + follows="top|left" + font="SansSerif" + height="56" + layout="topleft" + left="10" + length="1" + name="hint_lbl" + top_pad="6" + width="200" + type="string" + word_wrap="true"> + Saving an image to your inventory costs L$[UPLOAD_COST]. To save your image as a texture select one of the square formats. + </text> <button follows="right|bottom" height="23" label="Cancel" layout="topleft" name="cancel_btn" - right="-32" - top="350" - width="100"> + right="-5" + top="337" + width="97"> <button.commit_callback function="Inventory.Cancel" /> </button> <button - follows="right|bottom" + follows="left|bottom" height="23" label="Save" layout="topleft" - left_delta="-106" + left="10" name="save_btn" top_delta="0" - width="100"> + width="97"> <button.commit_callback function="Inventory.Save" /> </button> -</panel> +</panel>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/panel_snapshot_local.xml b/indra/newview/skins/default/xui/en/panel_snapshot_local.xml index 781ab17403..188c9f8707 100755 --- a/indra/newview/skins/default/xui/en/panel_snapshot_local.xml +++ b/indra/newview/skins/default/xui/en/panel_snapshot_local.xml @@ -12,12 +12,12 @@ left="12" mouse_opaque="true" name="title_icon" - top="5" + top="7" width="18" /> <text follows="top|left|right" font="SansSerifBold" - height="20" + height="14" layout="topleft" left_pad="12" length="1" @@ -25,28 +25,27 @@ right="-10" text_color="white" type="string" - top_delta="4"> - Save to My Computer + top_delta="2"> + Disk </text> <view_border bevel_style="in" follows="left|top|right" height="1" - left="10" + left="9" layout="topleft" name="hr" - right="-10" - top_pad="5" - /> + right="-5" + top_pad="5"/> <combo_box follows="left|top|right" - height="23" + height="20" label="Resolution" layout="topleft" left_delta="0" name="local_size_combo" - right="-10" - top_pad="10"> + right="-5" + top_pad="5"> <combo_box.item label="Current Window" name="CurrentWindow" @@ -80,149 +79,114 @@ name="Custom" value="[i-1,i-1]" /> </combo_box> - <layout_stack - animate="false" - follows="all" - height="275" - layout="bottomleft" - name="local_image_params_ls" - left_delta="0" - orientation="vertical" - top_pad="10" - right="-10"> - <layout_panel - follows="top|left|right" - height="60" - layout="topleft" - left="0" - name="local_image_size_lp" - auto_resize="false" - top="0" - right="-1" - visible="true"> - <spinner - allow_text_entry="false" - decimal_digits="0" - follows="left|top" - height="20" - increment="32" - label="Width" - label_width="40" - layout="topleft" - left="10" - max_val="6016" - min_val="32" - name="local_snapshot_width" - top_pad="10" - width="95" /> - <spinner - allow_text_entry="false" - decimal_digits="0" - follows="left|top" - height="20" - increment="32" - label="Height" - label_width="40" - layout="topleft" - left_pad="5" - max_val="6016" - min_val="32" - name="local_snapshot_height" - top_delta="0" - width="95" /> - <check_box - bottom_delta="20" - height="10" - follows="left|top" - label="Constrain proportions" - layout="topleft" - left="10" - name="local_keep_aspect_check" /> - </layout_panel> - <layout_panel - follows="top|left|right" - height="23" - layout="topleft" - left="0" - name="local_image_format_quality_lp" - auto_resize="true" - top="0" - right="-1" - visible="true"> - <combo_box - follows="left|top" - height="23" - label="Format" - layout="topleft" - left_delta="0" - name="local_format_combo" - top_pad="0" - width="120"> - <combo_box.item - label="PNG (Lossless)" - name="PNG" - value="PNG" /> - <combo_box.item - label="JPEG" - name="JPEG" - value="JPEG" /> - <combo_box.item - label="BMP (Lossless)" - name="BMP" - value="BMP" /> - </combo_box> - <slider - decimal_digits="0" - follows="left|top" - height="15" - increment="1" - initial_value="75" - label="Image quality" - label_width="80" - layout="topleft" - left="10" - max_val="100" - name="image_quality_slider" - top_pad="7" - width="200" /> - <text - type="string" - follows="left|top" - font="SansSerifSmall" - length="1" - height="14" - layout="topleft" - left_pad="-5" - halign="left" - name="image_quality_level" - top_delta="0" - width="60"> - ([QLVL]) - </text> - </layout_panel> - </layout_stack> + <spinner + allow_text_entry="false" + decimal_digits="0" + follows="left|top" + height="20" + increment="32" + label="Width x Height" + label_width="90" + layout="topleft" + left="10" + max_val="6016" + min_val="32" + name="local_snapshot_width" + top_pad="7" + width="144" /> + <spinner + allow_text_entry="false" + decimal_digits="0" + follows="left|top" + height="20" + increment="32" + label="" + label_width="0" + layout="topleft" + left_pad="0" + max_val="6016" + min_val="32" + name="local_snapshot_height" + top_delta="0" + width="54" /> + <check_box + top_pad="12" + follows="left|top" + label="Constrain proportions" + layout="topleft" + left="10" + name="local_keep_aspect_check" /> + <text + type="string" + length="1" + follows="left|top" + height="13" + layout="topleft" + left="10" + name="local_format_label" + top_pad="7" + width="50"> + Format: + </text> + <combo_box + follows="left|top|right" + height="20" + label="Format" + layout="topleft" + left="65" + right="-5" + name="local_format_combo" + top_delta="-3" + width="120"> + <combo_box.item + label="PNG (Lossless)" + name="PNG" + value="PNG" /> + <combo_box.item + label="JPEG" + name="JPEG" + value="JPEG" /> + <combo_box.item + label="BMP (Lossless)" + name="BMP" + value="BMP" /> + </combo_box> + <slider + decimal_digits="0" + follows="left|top" + height="15" + increment="1" + initial_value="75" + label="Quality:" + label_width="45" + layout="topleft" + left="10" + max_val="100" + name="image_quality_slider" + top_pad="6" + width="203" /> <button follows="right|bottom" height="23" label="Cancel" layout="topleft" name="cancel_btn" - right="-32" - top="350" - width="100"> + right="-5" + top="337" + width="97"> <button.commit_callback function="Local.Cancel" /> </button> <flyout_button - follows="right|bottom" + follows="left|bottom" height="23" label="Save" layout="topleft" - left_delta="-106" + left="10" name="save_btn" tool_tip="Save image to a file" top_delta="0" - width="100"> + width="97"> <flyout_button.item label="Save" name="save_item" @@ -232,4 +196,4 @@ name="saveas_item" value="save as" /> </flyout_button> -</panel> +</panel>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/panel_snapshot_options.xml b/indra/newview/skins/default/xui/en/panel_snapshot_options.xml index eff60f8228..265217ef60 100755 --- a/indra/newview/skins/default/xui/en/panel_snapshot_options.xml +++ b/indra/newview/skins/default/xui/en/panel_snapshot_options.xml @@ -4,117 +4,124 @@ height="240" layout="topleft" name="panel_snapshot_options" - width="490"> + width="208"> + <button + follows="left|top" + font="SansSerif" + halign="left" + height="22" + image_overlay="Snapshot_Download" + image_overlay_alignment="left" + image_top_pad="-0" + imgoverlay_label_space="10" + label="Save to Disk" + layout="topleft" + left="9" + name="save_to_computer_btn" + top_pad="9"> + <button.commit_callback + function="Snapshot.SaveToComputer" /> + </button> <button - follows="left|top|right" + follows="left|top" font="SansSerif" halign="left" - height="38" - image_overlay="Snapshot_Profile" + height="22" + image_overlay="Snapshot_Inventory" image_overlay_alignment="left" - image_top_pad="-2" + image_top_pad="-1" imgoverlay_label_space="10" - label="Post to My Profile Feed" + label="Save to Inventory (L$[AMOUNT])" layout="topleft" left_delta="0" + name="save_to_inventory_btn" + top_pad="5"> + <button.commit_callback + function="Snapshot.SaveToInventory" /> + </button> + <button + follows="left|top" + font="SansSerif" + halign="left" + height="22" + image_overlay="Snapshot_Profile" + image_overlay_alignment="left" + image_top_pad="-1" + imgoverlay_label_space="10" + label="Upload to Profile" + layout="topleft" name="save_to_profile_btn" - pad_left="10" - right="-10" - top_pad="10"> + left_delta="0" + top_pad="5"> <button.commit_callback function="Snapshot.SaveToProfile" /> </button> <button - follows="left|top|right" + follows="left|top" font="SansSerif" halign="left" - height="38" - image_overlay="Snapshot_Email" + height="22" + image_overlay="Snapshot_Facebook" image_overlay_alignment="left" - image_top_pad="-2" + image_top_pad="0" imgoverlay_label_space="10" - label="Email" + label="Upload to Facebook" layout="topleft" left_delta="0" - name="save_to_email_btn" - pad_left="10" - right="-10" - top_pad="10"> + name="send_to_facebook_btn" + top_pad="5"> <button.commit_callback - function="Snapshot.SaveToEmail" /> + function="Snapshot.SendToFacebook"/> </button> <button - follows="left|top|right" + follows="left|top" font="SansSerif" halign="left" - height="38" - image_overlay="Snapshot_Inventory" + height="22" + image_overlay="Command_Twitter_Icon" image_overlay_alignment="left" - image_top_pad="-2" + image_top_pad="0" imgoverlay_label_space="10" - label="Save to My Inventory (L$[AMOUNT])" + label="Upload to Twitter" layout="topleft" left_delta="0" - name="save_to_inventory_btn" - pad_left="10" - right="-10" - top_pad="10"> + name="send_to_twitter_btn" + top_pad="5"> <button.commit_callback - function="Snapshot.SaveToInventory" /> + function="Snapshot.SendToTwitter"/> </button> <button - follows="left|top|right" + follows="left|top" font="SansSerif" halign="left" - height="38" - image_overlay="Snapshot_Download" + height="22" + image_overlay="Command_Flickr_Icon" image_overlay_alignment="left" - image_top_pad="-2" + image_top_pad="0" imgoverlay_label_space="10" - label="Save to My Computer" + label="Upload to Flickr" layout="topleft" left_delta="0" - name="save_to_computer_btn" - pad_left="10" - right="-10" - top_pad="10"> + name="send_to_flickr_btn" + top_pad="5"> <button.commit_callback - function="Snapshot.SaveToComputer" /> + function="Snapshot.SendToFlickr"/> + </button> + <button + follows="left|top" + font="SansSerif" + halign="left" + height="22" + image_overlay="Snapshot_Email" + image_overlay_alignment="left" + image_top_pad="0" + imgoverlay_label_space="10" + label="Send via E-mail" + layout="topleft" + left_delta="0" + name="save_to_email_btn" + top_pad="5"> + <button.commit_callback + function="Snapshot.SaveToEmail" /> </button> - <text - font="SansSerif" - layout="topleft" - length="1" - follows="top|left" - height="16" - left="10" - name="send_to_facebook_textbox" - top_pad="10" - type="string"> - Send to: [secondlife:/// Facebook] - </text> - <text - font="SansSerif" - layout="topleft" - length="1" - follows="top|left" - height="16" - left="140" - name="send_to_twitter_textbox" - top_pad="-16" - type="string"> - [secondlife:/// Twitter] - </text> - <text - font="SansSerif" - layout="topleft" - length="1" - follows="top|left" - height="16" - left="190" - name="send_to_flickr_textbox" - top_pad="-16" - type="string"> - [secondlife:/// Flickr] - </text> -</panel> +</panel>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/en/panel_snapshot_postcard.xml index ebba292a93..975b08be05 100755 --- a/indra/newview/skins/default/xui/en/panel_snapshot_postcard.xml +++ b/indra/newview/skins/default/xui/en/panel_snapshot_postcard.xml @@ -24,12 +24,12 @@ left="12" mouse_opaque="true" name="title_icon" - top="5" + top="7" width="18" /> <text follows="top|left|right" font="SansSerifBold" - height="20" + height="14" layout="topleft" left_pad="12" length="1" @@ -37,63 +37,67 @@ right="-10" text_color="white" type="string" - top_delta="3"> - Email + top_delta="2"> + E-mail </text> - <button - follows="right|top" - height="23" - is_toggle="true" - label="Message" - layout="topleft" - name="message_btn" - right="-82" - top_delta="-7" - width="70"> - <button.commit_callback - function="Postcard.Message" /> - </button> - <button - follows="right|top" - height="23" - is_toggle="true" - label="Settings" - layout="topleft" - name="settings_btn" - top_delta="0" - right="-10" - width="70"> - <button.commit_callback - function="Postcard.Settings" /> - </button> <view_border bevel_style="in" follows="left|top|right" height="1" - left="10" + left="9" layout="topleft" name="hr" - right="-10" + right="-5" top_pad="5" /> - <panel_container + <tab_container + name="postcard_tabs" + tab_group="1" + tab_min_width="97" + tab_height="21" + tab_position="top" + top_pad="7" + left="5" + right="-2" + height="319" follows="all" - height="340" - layout="topleft" - left="0" - name="postcard_panel_container" - default_panel_name="panel_postcard_message" - top_pad="10" - width="490"> + halign="center" + use_highlighting_on_hover="true"> <panel follows="all" layout="topleft" + label="Message" name="panel_postcard_message" filename="panel_postcard_message.xml" /> <panel follows="all" layout="topleft" + label="Settings" name="panel_postcard_settings" filename="panel_postcard_settings.xml" /> - </panel_container> -</panel> + </tab_container> + <button + follows="right|bottom" + height="23" + label="Cancel" + layout="topleft" + name="cancel_btn" + right="-6" + bottom="-20" + width="97"> + <button.commit_callback + function="Postcard.Cancel" /> + </button> + <button + follows="left|bottom" + height="23" + label="Send" + layout="topleft" + left="10" + name="send_btn" + top_delta="0" + width="97"> + <button.commit_callback + function="Postcard.Send" /> + </button> +</panel>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/panel_snapshot_profile.xml b/indra/newview/skins/default/xui/en/panel_snapshot_profile.xml index 0dd357aa1a..d86cb92981 100755 --- a/indra/newview/skins/default/xui/en/panel_snapshot_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_snapshot_profile.xml @@ -12,12 +12,12 @@ left="12" mouse_opaque="true" name="title_icon" - top="5" + top="7" width="18" /> <text follows="top|left|right" font="SansSerifBold" - height="20" + height="14" layout="topleft" left_pad="12" length="1" @@ -26,27 +26,28 @@ text_color="white" type="string" top_delta="4"> - Post to My Profile Feed + Profile </text> <view_border bevel_style="in" follows="left|top|right" height="1" - left="10" + left="9" layout="topleft" name="hr" - right="-10" + right="-5" top_pad="5" /> <combo_box - follows="left|top" + follows="left|top|right" height="23" label="Resolution" layout="topleft" - left_delta="0" + left="10" + right="-5" name="profile_size_combo" - top_pad="10" - width="250"> + top_pad="5" + width="180"> <combo_box.item label="Current Window" name="CurrentWindow" @@ -68,132 +69,99 @@ name="Custom" value="[i-1,i-1]" /> </combo_box> - <layout_stack - animate="false" - follows="all" - height="270" - layout="bottomleft" - name="profile_image_params_ls" + <spinner + allow_text_entry="false" + decimal_digits="0" + follows="left|top" + height="20" + increment="32" + label="Width x Height" + label_width="90" + layout="topleft" + left="10" + max_val="6016" + min_val="32" + name="profile_snapshot_width" + top_pad="7" + width="144" /> + <spinner + allow_text_entry="false" + decimal_digits="0" + follows="left|top" + height="20" + increment="32" + label="" + label_width="0" + layout="topleft" + left_pad="0" + max_val="6016" + min_val="32" + name="profile_snapshot_height" + top_delta="0" + width="54" /> + <check_box + top_pad="12" + label="Constrain proportions" + layout="topleft" + left="10" + name="profile_keep_aspect_check" /> + <text + length="1" + follows="top|left|right" + height="16" + layout="topleft" + left="12" + name="caption_label" + right="-10" + top_pad="4" + type="string"> + Caption: + </text> + <text_editor + follows="top|left|right" + height="35" + layout="topleft" + left="10" + right="-5" + length="1" + max_length="700" + name="caption" + width="200" + top_pad="2" + type="string" + word_wrap="true"> + </text_editor> + <check_box + follows="left|top" + initial_value="true" + label="Include location" + layout="topleft" left_delta="0" - orientation="vertical" - top_pad="10" - right="-10"> - <layout_panel - follows="top|left|right" - height="55" - layout="topleft" - left="0" - name="profile_image_size_lp" - auto_resize="false" - top="0" - right="-1" - visible="true"> - <spinner - allow_text_entry="false" - decimal_digits="0" - follows="left|top" - height="20" - increment="32" - label="Width" - label_width="40" - layout="topleft" - left="10" - max_val="6016" - min_val="32" - name="profile_snapshot_width" - top_pad="10" - width="95" /> - <spinner - allow_text_entry="false" - decimal_digits="0" - follows="left|top" - height="20" - increment="32" - label="Height" - label_width="40" - layout="topleft" - left_pad="5" - max_val="6016" - min_val="32" - name="profile_snapshot_height" - top_delta="0" - width="95" /> - <check_box - height="10" - bottom_delta="20" - label="Constrain proportions" - layout="topleft" - left="10" - name="profile_keep_aspect_check" /> - </layout_panel> - <layout_panel - follows="top|left|right" - height="200" - layout="topleft" - left="0" - name="profile_image_metadata_lp" - auto_resize="true" - top="0" - right="-1" - visible="true"> - <text - length="1" - follows="top|left|right" - font="SansSerif" - height="16" - layout="topleft" - left="0" - name="caption_label" - right="-10" - top_pad="0" - type="string"> - Caption: - </text> - <text_editor - follows="all" - height="155" - layout="topleft" - left_delta="0" - length="1" - max_length="700" - name="caption" - right="-10" - top_pad="5" - type="string" - word_wrap="true"> - </text_editor> - <check_box - follows="left|bottom" - initial_value="true" - label="Include location" - layout="topleft" - left_delta="0" - name="add_location_cb" - top_pad="15" /> - </layout_panel> - </layout_stack> + height="18" + name="add_location_cb" + top_pad="3" /> <button follows="right|bottom" height="23" label="Cancel" layout="topleft" name="cancel_btn" - right="-32" - top="350" - width="100"> + right="-5" + top="337" + width="97"> <button.commit_callback function="PostToProfile.Cancel" /> </button> <button - follows="right|bottom" + follows="left|bottom" height="23" label="Post" layout="topleft" - left_delta="-106" + left="10" name="post_btn" top_delta="0" - width="100"> + width="97"> <button.commit_callback function="PostToProfile.Send" /> </button> -</panel> +</panel>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/panel_tools_texture.xml b/indra/newview/skins/default/xui/en/panel_tools_texture.xml index 426c0c4915..cb6b2fafd8 100644 --- a/indra/newview/skins/default/xui/en/panel_tools_texture.xml +++ b/indra/newview/skins/default/xui/en/panel_tools_texture.xml @@ -36,8 +36,9 @@ <color_swatch can_apply_immediately="true" follows="left|top" - height="45" + height="22" label="" + label_height="0" layout="topleft" left="10" name="colorswatch" diff --git a/indra/newview/skins/default/xui/en/panel_twitter_account.xml b/indra/newview/skins/default/xui/en/panel_twitter_account.xml index ee4f6396e1..b9049a0bba 100644 --- a/indra/newview/skins/default/xui/en/panel_twitter_account.xml +++ b/indra/newview/skins/default/xui/en/panel_twitter_account.xml @@ -1,6 +1,6 @@ <panel height="400" - width="304" + width="272" layout="topleft" name="panel_twitter_account"> <string @@ -15,9 +15,9 @@ follows="top|left" font="SansSerif" height="16" - left="9" + left="10" name="account_caption_label" - top="21" + top="5" type="string"> Not connected to Twitter. </text> @@ -28,19 +28,23 @@ follows="top|left" font="SansSerif" height="16" - left="9" + left="10" name="account_name_label" parse_urls="true" type="string"/> <panel layout="topleft" + follows="top|left" name="panel_buttons" height="345" - left="9"> + top_pad="3" + left="0"> <button layout="topleft" - follows="left|top" + follows="left|top|right" top_pad="9" + left="10" + right="-10" visible="true" height="23" label="Connect..." @@ -51,8 +55,10 @@ <button layout="topleft" - follows="left|top" + follows="left|top|right" top_delta="0" + left="10" + right="-10" height="23" label="Disconnect" name="disconnect_btn" @@ -65,9 +71,9 @@ length="1" follows="top|left" height="16" - left="0" + left="10" name="account_learn_more_label" - top_pad="20" + top_pad="5" type="string"> [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Learn about posting to Twitter] </text> diff --git a/indra/newview/skins/default/xui/en/panel_twitter_photo.xml b/indra/newview/skins/default/xui/en/panel_twitter_photo.xml index c2be56da21..9a460ceead 100644 --- a/indra/newview/skins/default/xui/en/panel_twitter_photo.xml +++ b/indra/newview/skins/default/xui/en/panel_twitter_photo.xml @@ -3,31 +3,22 @@ width="304" layout="topleft" name="panel_twitter_photo"> - <layout_stack - layout="topleft" - border_size="0" - height="412" - follows="all" - orientation="vertical" - name="stack_photo" - top="8"> - <layout_panel - name="text_panel" - height="160"> <text length="1" + layout="topleft" follows="top|left|right" font="SansSerif" height="16" - left="9" + left="10" name="status_label" - top="3" + top="5" type="string"> What's happening? </text> <text length="1" follows="top|left" + layout="topleft" font="SansSerif" text_color="EmphasisColor" halign="right" @@ -35,15 +26,16 @@ width="30" left="227" name="status_counter_label" - top="3" + top="5" type="string"> 140 </text> <text_editor follows="left|top" + layout="topleft" height="87" width="250" - left="9" + left="10" length="1" max_length="140" name="photo_status" @@ -52,33 +44,32 @@ </text_editor> <check_box follows="left|top" + layout="topleft" initial_value="true" label="Include SL location" name="add_location_cb" - left="9" + left="10" height="16" - top_pad="10"/> + top_pad="8"/> <check_box follows="left|top" + layout="topleft" initial_value="true" label="Include a photo" name="add_photo_cb" - left="9" + left="10" height="16" - top_pad="10"/> - </layout_panel> - <layout_panel - name="snapshot_panel" - height="227"> + top_pad="1"/> <combo_box control_name="TwitterPhotoResolution" follows="left|top" - top="6" - left="9" + layout="topleft" + top_pad="5" + left="10" name="resolution_combobox" tool_tip="Image resolution" height="21" - width="135"> + width="124"> <combo_box.item label="Current Window" name="CurrentWindow" @@ -99,61 +90,76 @@ <combo_box control_name="TwitterPhotoFilters" follows="right|top" + layout="topleft" name="filters_combobox" tool_tip="Image filters" - top="6" - left="165" + top_delta="0" + right="-10" height="21" - width="135"> + width="124"> <combo_box.item label="No Filter" name="NoFilter" value="NoFilter" /> </combo_box> <panel + layout="topleft" height="150" width="250" visible="true" name="thumbnail_placeholder" - top="33" - follows="left|top" - left="9"> + top_pad="5" + right="-10" + follows="left|top|right" + left="10"> </panel> - <button - follows="left|top" - height="23" - label="Refresh" - left="9" - top_pad="5" - name="new_snapshot_btn" - tool_tip="Click to refresh" - visible="true" - width="100" > - <button.commit_callback - function="SocialSharing.RefreshPhoto" /> - </button> - <text + <text follows="left|top" + layout="topleft" font="SansSerif" text_color="EmphasisColor" height="14" - top_pad="-19" - left_pad="-30" + top_pad="2" + left="10" length="1" halign="center" name="working_lbl" translate="false" type="string" visible="true" - width="150"> + width="251"> Refreshing... </text> + <view_border + bevel_style="in" + follows="left|top" + layout="topleft" + height="1" + left="10" + name="refresh_border" + width="250" + top_pad="0"/> + <button + follows="left|top" + layout="topleft" + height="23" + label="Refresh" + left="10" + top_pad="5" + name="new_snapshot_btn" + tool_tip="Click to refresh" + visible="true" + width="100" > + <button.commit_callback + function="SocialSharing.RefreshPhoto" /> + </button> <button follows="right|top" + layout="topleft" height="23" label="Preview" - left="200" - top_pad="-19" + right="-10" + top_delta="0" name="big_preview_btn" tool_tip="Click to toggle preview" is_toggle="true" @@ -162,14 +168,11 @@ <button.commit_callback function="SocialSharing.BigPreview" /> </button> - </layout_panel> - <layout_panel - name="photo_button_panel" - height="25"> <button follows="left|top" - top="0" - left="9" + layout="topleft" + top_pad="3" + left="10" height="23" label="Tweet" name="post_photo_btn" @@ -178,16 +181,15 @@ function="SocialSharing.SendPhoto" /> </button> <button - follows="left|top" + follows="right|top" + layout="topleft" height="23" label="Cancel" name="cancel_photo_btn" - left_pad="15" + right="-10" top_delta="0" width="100"> <button.commit_callback function="SocialSharing.Cancel" /> </button> - </layout_panel> - </layout_stack> </panel> diff --git a/indra/newview/skins/default/xui/en/teleport_strings.xml b/indra/newview/skins/default/xui/en/teleport_strings.xml index fdf41991cd..5a9a16d344 100755 --- a/indra/newview/skins/default/xui/en/teleport_strings.xml +++ b/indra/newview/skins/default/xui/en/teleport_strings.xml @@ -48,7 +48,10 @@ Go to 'Welcome Island Public' to repeat the tutorial. <message name="MustGetAgeRegion"> You must be age 18 or over to enter this region. </message> - </message_set> + <message name="RegionTPSpecialUsageBlocked"> + Unable to enter region. '[REGION_NAME]' is a Skill Gaming Region, and you must meet certain criteria in order to enter. For details, please review the [http://wiki.secondlife.com/wiki/Linden_Lab_Official:Skill_Gaming_in_Second_Life Skill Gaming FAQ]. + </message> + </message_set> <message_set name="progress"> <message name="sending_dest"> Sending to destination. diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index 35b373f13a..bca134eef3 100755 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -71,7 +71,7 @@ Version Qt Webkit : [QT_WEBKIT_VERSION] Version serveur vocal : [VOICE_VERSION] </string> <string name="AboutTraffic"> - Paquets perdus : [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) + Paquets perdus : [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) </string> <string name="ErrorFetchingServerReleaseNotesURL"> Erreur lors de la récupération de l'URL des notes de version du serveur. |