summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2014-09-08 13:35:29 -0700
committerMerov Linden <merov@lindenlab.com>2014-09-08 13:35:29 -0700
commitabacb1bfaa4359350dcff7ef24ade49144704df0 (patch)
tree0caf215b28d882a7238363279569dc5fef4e059c /indra/newview
parent9fd904220bb304a7827d255dc4c03c35ffdc945e (diff)
parenteef4acc5367a486b0c52c6ce5e1aba995fefd99c (diff)
Pull merge from lindenlab/viewer-release
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/CMakeLists.txt2
-rw-r--r--indra/newview/VIEWER_VERSION.txt2
-rw-r--r--indra/newview/app_settings/filters/BlackAndWhite.xml14
-rw-r--r--indra/newview/app_settings/filters/Sepia.xml25
-rwxr-xr-xindra/newview/app_settings/settings.xml13
-rw-r--r--indra/newview/llfloaterfacebook.cpp327
-rw-r--r--indra/newview/llfloaterfacebook.h45
-rw-r--r--indra/newview/llfloaterflickr.cpp23
-rw-r--r--indra/newview/llfloaterflickr.h1
-rwxr-xr-xindra/newview/llfloaterland.cpp7
-rwxr-xr-xindra/newview/llfloaterregioninfo.cpp21
-rwxr-xr-xindra/newview/llfloaterregioninfo.h2
-rwxr-xr-xindra/newview/llfloatersnapshot.cpp163
-rwxr-xr-xindra/newview/llfloatertopobjects.cpp24
-rwxr-xr-xindra/newview/llfloatertopobjects.h1
-rw-r--r--indra/newview/llfloatertwitter.cpp23
-rw-r--r--indra/newview/llfloatertwitter.h1
-rwxr-xr-xindra/newview/llinventoryfilter.cpp51
-rwxr-xr-xindra/newview/llinventoryfilter.h13
-rwxr-xr-xindra/newview/llinventorypanel.cpp5
-rwxr-xr-xindra/newview/llinventorypanel.h1
-rwxr-xr-xindra/newview/llpanelmaininventory.cpp43
-rwxr-xr-xindra/newview/llpanelsnapshot.cpp19
-rwxr-xr-xindra/newview/llpanelsnapshot.h1
-rwxr-xr-xindra/newview/llpanelsnapshotinventory.cpp13
-rwxr-xr-xindra/newview/llpanelsnapshotoptions.cpp11
-rwxr-xr-xindra/newview/llpanelsnapshotpostcard.cpp26
-rw-r--r--indra/newview/llsnapshotlivepreview.cpp32
-rw-r--r--indra/newview/llsyntaxid.cpp17
-rwxr-xr-xindra/newview/lltexturefetch.cpp3
-rwxr-xr-xindra/newview/llviewermessage.cpp140
-rwxr-xr-xindra/newview/llviewerregion.cpp4
-rwxr-xr-xindra/newview/skins/default/xui/de/floater_snapshot.xml13
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_postcard_message.xml4
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_postcard_settings.xml19
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_snapshot_inventory.xml5
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_snapshot_local.xml31
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_snapshot_options.xml11
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_snapshot_postcard.xml8
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_snapshot_profile.xml31
-rw-r--r--indra/newview/skins/default/xui/en/floater_facebook.xml39
-rw-r--r--indra/newview/skins/default/xui/en/floater_flickr.xml23
-rwxr-xr-xindra/newview/skins/default/xui/en/floater_inventory_view_finder.xml96
-rwxr-xr-xindra/newview/skins/default/xui/en/floater_snapshot.xml481
-rwxr-xr-xindra/newview/skins/default/xui/en/floater_top_objects.xml14
-rw-r--r--indra/newview/skins/default/xui/en/floater_twitter.xml34
-rwxr-xr-xindra/newview/skins/default/xui/en/menu_inventory_gear_default.xml2
-rwxr-xr-xindra/newview/skins/default/xui/en/notifications.xml21
-rw-r--r--indra/newview/skins/default/xui/en/panel_facebook_account.xml77
-rw-r--r--indra/newview/skins/default/xui/en/panel_facebook_friends.xml23
-rw-r--r--indra/newview/skins/default/xui/en/panel_facebook_photo.xml116
-rw-r--r--indra/newview/skins/default/xui/en/panel_facebook_place.xml120
-rw-r--r--indra/newview/skins/default/xui/en/panel_facebook_status.xml114
-rw-r--r--indra/newview/skins/default/xui/en/panel_flickr_account.xml22
-rw-r--r--indra/newview/skins/default/xui/en/panel_flickr_photo.xml145
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_postcard_message.xml59
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_postcard_settings.xml156
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_snapshot_inventory.xml83
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_snapshot_local.xml242
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_snapshot_options.xml159
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_snapshot_postcard.xml88
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_snapshot_profile.xml206
-rw-r--r--indra/newview/skins/default/xui/en/panel_tools_texture.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_twitter_account.xml24
-rw-r--r--indra/newview/skins/default/xui/en/panel_twitter_photo.xml124
-rwxr-xr-xindra/newview/skins/default/xui/en/teleport_strings.xml5
66 files changed, 1772 insertions, 1899 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index f704b438e5..2475925d45 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 730f685d42..d2749bbd93 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>
@@ -11463,17 +11463,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/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 7213064746..d01c089eaf 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 dc09b9c6a9..aa1f841c59 100755
--- a/indra/newview/llinventoryfilter.cpp
+++ b/indra/newview/llinventoryfilter.cpp
@@ -39,6 +39,7 @@
#include "llfolderview.h"
#include "llinventorybridge.h"
#include "llviewerfoldertype.h"
+#include "llradiogroup.h"
// linden library includes
#include "llclipboard.h"
@@ -53,6 +54,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),
@@ -240,6 +242,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;
@@ -248,9 +251,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;
+ }
}
////////////////////////////////////////////////////////////////////////////////
@@ -675,11 +688,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();
@@ -708,6 +732,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)
@@ -972,6 +1010,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());
@@ -991,6 +1030,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();
@@ -1012,6 +1052,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 113596b0eb..a2d920a1b1 100755
--- a/indra/newview/llinventoryfilter.h
+++ b/indra/newview/llinventoryfilter.h
@@ -58,6 +58,12 @@ public:
FILTERTYPE_MARKETPLACE_UNASSOCIATED = 0x1 << 8 // pass if folder is a marketplace non associated (no market ID) folder
};
+ enum EFilterDateDirection
+ {
+ FILTERDATEDIRECTION_NEWER,
+ FILTERDATEDIRECTION_OLDER
+ };
+
enum EFilterLink
{
FILTERLINK_INCLUDE_LINKS, // show links too
@@ -98,7 +104,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;
@@ -111,6 +118,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)
{}
@@ -128,6 +136,7 @@ public:
time_t mMinDate,
mMaxDate;
U32 mHoursAgo;
+ U32 mDateSearchDirection;
EFolderShow mShowFolderState;
PermissionMask mPermissions;
@@ -184,6 +193,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 4a25656090..07a1c19639 100755
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -406,6 +406,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 481289286f..822c7c2fe7 100755
--- a/indra/newview/llinventorypanel.h
+++ b/indra/newview/llinventorypanel.h
@@ -177,6 +177,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 b02298090a..6c8765c62d 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);
@@ -700,6 +702,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);
+ }
}
}
@@ -719,6 +745,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());
@@ -740,6 +767,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()
@@ -840,17 +868,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();
}
@@ -865,6 +899,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 9d5c3c4d4a..332d04a1f4 100755
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -5747,83 +5747,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;
}
}
- else
+ } // End of special handling for "TeleportEntryAccessBlocked"
+ else
+ { // Normal case, no message munging
+ gAgent.clearTeleportRequest();
+ if (LLNotifications::getInstance()->templateExists(notificationID))
{
- gAgent.clearTeleportRequest();
- maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_PreferencesOutOfSync", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback);
- returnValue = true;
+ tp_failure_notification = LLNotificationsUtil::add(notificationID, llsdBlock, llsdBlock);
}
+ else
+ {
+ 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);
}
@@ -6039,8 +6057,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)
{
@@ -6062,10 +6080,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;
@@ -6648,8 +6666,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.
@@ -6659,16 +6677,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;
@@ -6684,7 +6702,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 )
{
@@ -6697,17 +6715,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 0cde354af9..9ecbcba8e1 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/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 771035b40d..f0a175902b 100755
--- a/indra/newview/skins/default/xui/en/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml
@@ -3,15 +3,17 @@
positioning="cascading"
legacy_header_height="18"
can_minimize="true"
+ can_resize="false"
can_close="true"
- height="500"
+ height="455"
layout="topleft"
name="Snapshot"
help_topic="snapshot"
save_rect="true"
save_visibility="false"
title="SNAPSHOT"
- width="470">
+ width="624"
+ min_height="455">
<floater.string
name="unknown">
unknown
@@ -57,11 +59,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
@@ -78,35 +80,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
@@ -119,7 +317,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">
@@ -127,18 +325,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
@@ -151,7 +348,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">
@@ -160,51 +357,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"
@@ -212,37 +397,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"
@@ -251,161 +443,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 5fd85ba32e..1aafbd4b11 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.
@@ -4728,6 +4738,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 &gt; Preferences &gt; 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 &apos;Welcome Island Public&apos; 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.