summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2011-11-02 13:44:18 -0700
committerMerov Linden <merov@lindenlab.com>2011-11-02 13:44:18 -0700
commit353f7ea61873d9f35685a59b4102899b4a9e596e (patch)
tree3ca2964682d7e5e23b7a178a854c567c7c5384d9 /indra/newview
parent139c13bdc0387f50d9f3a71737a95a4585bc471c (diff)
parent334d8f4076b4045e8fd4ede5fd9d31f0b185ded4 (diff)
Pull from richard/viewer-experience
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/app_settings/settings_per_account.xml2
-rw-r--r--indra/newview/llfavoritesbar.cpp2
-rw-r--r--indra/newview/llmediactrl.cpp40
-rw-r--r--indra/newview/llmediactrl.h45
-rw-r--r--indra/newview/llnearbychatbar.cpp2
-rw-r--r--indra/newview/llnotificationtiphandler.cpp4
-rwxr-xr-xindra/newview/llpanelpicks.cpp21
-rwxr-xr-xindra/newview/llpanelpicks.h6
-rw-r--r--indra/newview/llviewermedia.cpp14
-rw-r--r--indra/newview/llviewermedia.h2
-rw-r--r--indra/newview/skins/default/xui/en/floater_avatar.xml4
-rw-r--r--indra/newview/skins/default/xui/en/floater_buy_currency_html.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_login.xml22
13 files changed, 79 insertions, 86 deletions
diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml
index 6ed4480cb1..8cdd8ed838 100644
--- a/indra/newview/app_settings/settings_per_account.xml
+++ b/indra/newview/app_settings/settings_per_account.xml
@@ -36,7 +36,7 @@
<key>DisplayDestinationsOnInitialRun</key>
<map>
<key>Comment</key>
- <string>Display the destinations guide when a user first launches FUI.</string>
+ <string>Display the destinations guide when a user first launches Second Life.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp
index f254ec8c52..f577ef7fd0 100644
--- a/indra/newview/llfavoritesbar.cpp
+++ b/indra/newview/llfavoritesbar.cpp
@@ -1199,7 +1199,9 @@ void LLFavoritesBarCtrl::doToSelected(const LLSD& userdata)
LLToggleableMenu* menu = (LLToggleableMenu*) mOverflowMenuHandle.get();
if (mRestoreOverflowMenu && menu && !menu->getVisible())
{
+ menu->resetScrollPositionOnShow(false);
showDropDownMenu();
+ menu->resetScrollPositionOnShow(true);
}
}
diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp
index 1f1e49726d..58ba0219cc 100644
--- a/indra/newview/llmediactrl.cpp
+++ b/indra/newview/llmediactrl.cpp
@@ -68,7 +68,6 @@ static LLDefaultChildRegistry::Register<LLMediaCtrl> r("web_browser");
LLMediaCtrl::Params::Params()
: start_url("start_url"),
border_visible("border_visible", true),
- ignore_ui_scale("ignore_ui_scale", true),
decouple_texture_size("decouple_texture_size", false),
texture_width("texture_width", 1024),
texture_height("texture_height", 1024),
@@ -89,7 +88,6 @@ LLMediaCtrl::LLMediaCtrl( const Params& p) :
mFrequentUpdates( true ),
mForceUpdate( false ),
mHomePageUrl( "" ),
- mIgnoreUIScale( true ),
mAlwaysRefresh( false ),
mMediaSource( 0 ),
mTakeFocusOnClick( p.focus_on_click ),
@@ -112,8 +110,6 @@ LLMediaCtrl::LLMediaCtrl( const Params& p) :
setCaretColor( (unsigned int)color.mV[0], (unsigned int)color.mV[1], (unsigned int)color.mV[2] );
}
- setIgnoreUIScale(p.ignore_ui_scale);
-
setHomePageUrl(p.start_url, p.initial_mime_type);
setBorderVisible(p.border_visible);
@@ -124,10 +120,8 @@ LLMediaCtrl::LLMediaCtrl( const Params& p) :
if(!getDecoupleTextureSize())
{
- S32 screen_width = mIgnoreUIScale ?
- llround((F32)getRect().getWidth() * LLUI::sGLScaleFactor.mV[VX]) : getRect().getWidth();
- S32 screen_height = mIgnoreUIScale ?
- llround((F32)getRect().getHeight() * LLUI::sGLScaleFactor.mV[VY]) : getRect().getHeight();
+ S32 screen_width = llround((F32)getRect().getWidth() * LLUI::sGLScaleFactor.mV[VX]);
+ S32 screen_height = llround((F32)getRect().getHeight() * LLUI::sGLScaleFactor.mV[VY]);
setTextureSize(screen_width, screen_height);
}
@@ -471,8 +465,8 @@ void LLMediaCtrl::reshape( S32 width, S32 height, BOOL called_from_parent )
{
if(!getDecoupleTextureSize())
{
- S32 screen_width = mIgnoreUIScale ? llround((F32)width * LLUI::sGLScaleFactor.mV[VX]) : width;
- S32 screen_height = mIgnoreUIScale ? llround((F32)height * LLUI::sGLScaleFactor.mV[VY]) : height;
+ S32 screen_width = llround((F32)width * LLUI::sGLScaleFactor.mV[VX]);
+ S32 screen_height = llround((F32)height * LLUI::sGLScaleFactor.mV[VY]);
// when floater is minimized, these sizes are negative
if ( screen_height > 0 && screen_width > 0 )
@@ -689,6 +683,8 @@ bool LLMediaCtrl::ensureMediaSourceExists()
mMediaSource->addObserver( this );
mMediaSource->setBackgroundColor( getBackgroundColor() );
mMediaSource->setTrustedBrowser(mTrusted);
+ mMediaSource->setPageZoomFactor( LLUI::sGLScaleFactor.mV[ VX ] );
+
if(mClearCache)
{
mMediaSource->clearCache();
@@ -770,15 +766,7 @@ void LLMediaCtrl::draw()
{
gGL.pushUIMatrix();
{
- if (mIgnoreUIScale)
- {
- gGL.loadUIIdentity();
- // font system stores true screen origin, need to scale this by UI scale factor
- // to get render origin for this view (with unit scale)
- gGL.translateUI(floorf(LLFontGL::sCurOrigin.mX * LLUI::sGLScaleFactor.mV[VX]),
- floorf(LLFontGL::sCurOrigin.mY * LLUI::sGLScaleFactor.mV[VY]),
- LLFontGL::sCurOrigin.mZ);
- }
+ mMediaSource->setPageZoomFactor( LLUI::sGLScaleFactor.mV[ VX ] );
// scale texture to fit the space using texture coords
gGL.getTexUnit(0)->bind(media_texture);
@@ -826,14 +814,6 @@ void LLMediaCtrl::draw()
x_offset = (r.getWidth() - width) / 2;
y_offset = (r.getHeight() - height) / 2;
- if(mIgnoreUIScale)
- {
- x_offset = llround((F32)x_offset * LLUI::sGLScaleFactor.mV[VX]);
- y_offset = llround((F32)y_offset * LLUI::sGLScaleFactor.mV[VY]);
- width = llround((F32)width * LLUI::sGLScaleFactor.mV[VX]);
- height = llround((F32)height * LLUI::sGLScaleFactor.mV[VY]);
- }
-
// draw the browser
gGL.begin( LLRender::QUADS );
if (! media_plugin->getTextureCoordsOpenGL())
@@ -900,14 +880,14 @@ void LLMediaCtrl::convertInputCoords(S32& x, S32& y)
coords_opengl = mMediaSource->getMediaPlugin()->getTextureCoordsOpenGL();
}
- x = mIgnoreUIScale ? llround((F32)x * LLUI::sGLScaleFactor.mV[VX]) : x;
+ x = llround((F32)x * LLUI::sGLScaleFactor.mV[VX]);
if ( ! coords_opengl )
{
- y = mIgnoreUIScale ? llround((F32)(y) * LLUI::sGLScaleFactor.mV[VY]) : y;
+ y = llround((F32)(y) * LLUI::sGLScaleFactor.mV[VY]);
}
else
{
- y = mIgnoreUIScale ? llround((F32)(getRect().getHeight() - y) * LLUI::sGLScaleFactor.mV[VY]) : getRect().getHeight() - y;
+ y = llround((F32)(getRect().getHeight() - y) * LLUI::sGLScaleFactor.mV[VY]);
};
}
diff --git a/indra/newview/llmediactrl.h b/indra/newview/llmediactrl.h
index 3c0436e27a..7f2a5e1642 100644
--- a/indra/newview/llmediactrl.h
+++ b/indra/newview/llmediactrl.h
@@ -51,7 +51,6 @@ public:
Optional<std::string> start_url;
Optional<bool> border_visible,
- ignore_ui_scale,
hide_loading,
decouple_texture_size,
trusted_content,
@@ -125,9 +124,6 @@ public:
bool getFrequentUpdates() { return mFrequentUpdates; };
void setFrequentUpdates( bool frequentUpdatesIn ) { mFrequentUpdates = frequentUpdatesIn; };
- void setIgnoreUIScale(bool ignore) { mIgnoreUIScale = ignore; }
- bool getIgnoreUIScale() { return mIgnoreUIScale; }
-
void setAlwaysRefresh(bool refresh) { mAlwaysRefresh = refresh; }
bool getAlwaysRefresh() { return mAlwaysRefresh; }
@@ -181,28 +177,29 @@ public:
const S32 mTextureDepthBytes;
LLUUID mMediaTextureID;
LLViewBorder* mBorder;
- bool mFrequentUpdates;
- bool mForceUpdate;
- bool mTrusted;
- std::string mHomePageUrl;
- std::string mHomePageMimeType;
- std::string mCurrentNavUrl;
- std::string mErrorPageURL;
- std::string mTarget;
- bool mIgnoreUIScale;
- bool mAlwaysRefresh;
+ bool mFrequentUpdates,
+ mForceUpdate,
+ mTrusted,
+ mAlwaysRefresh,
+ mTakeFocusOnClick,
+ mStretchToFill,
+ mMaintainAspectRatio,
+ mHideLoading,
+ mHidingInitialLoad,
+ mClearCache,
+ mHoverTextChanged,
+ mDecoupleTextureSize;
+
+ std::string mHomePageUrl,
+ mHomePageMimeType,
+ mCurrentNavUrl,
+ mErrorPageURL,
+ mTarget;
viewer_media_t mMediaSource;
- bool mTakeFocusOnClick;
- bool mStretchToFill;
- bool mMaintainAspectRatio;
- bool mHideLoading;
- bool mHidingInitialLoad;
- bool mDecoupleTextureSize;
- S32 mTextureWidth;
- S32 mTextureHeight;
- bool mClearCache;
+ S32 mTextureWidth,
+ mTextureHeight;
+
class LLWindowShade* mWindowShade;
- bool mHoverTextChanged;
LLContextMenu* mContextMenu;
};
diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp
index c612b14256..114472ba56 100644
--- a/indra/newview/llnearbychatbar.cpp
+++ b/indra/newview/llnearbychatbar.cpp
@@ -408,7 +408,7 @@ void LLNearbyChatBar::setMinimized(BOOL b)
{
nearby_chat->removeScreenChat();
}
- LLFloater::setMinimized(b);
+ LLFloater::setMinimized(b);
}
void LLNearbyChatBar::onChatBoxCommit()
diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp
index 2a08a29842..aa009a76fa 100644
--- a/indra/newview/llnotificationtiphandler.cpp
+++ b/indra/newview/llnotificationtiphandler.cpp
@@ -29,6 +29,7 @@
#include "llfloaterreg.h"
#include "llnearbychat.h"
+#include "llnearbychatbar.h"
#include "llnotificationhandler.h"
#include "llnotifications.h"
#include "lltoastnotifypanel.h"
@@ -93,7 +94,8 @@ bool LLTipHandler::processNotification(const LLSD& notify)
// don't show toast if Nearby Chat is opened
LLNearbyChat* nearby_chat = LLNearbyChat::getInstance();
- if (nearby_chat->getVisible())
+ LLNearbyChatBar* nearby_chat_bar = LLNearbyChatBar::getInstance();
+ if (nearby_chat_bar->getVisible() && nearby_chat->getVisible())
{
return false;
}
diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp
index 72c6be4c79..04e78e04e3 100755
--- a/indra/newview/llpanelpicks.cpp
+++ b/indra/newview/llpanelpicks.cpp
@@ -130,11 +130,11 @@ public:
void createPick()
{
- LLSD params;
- params["id"] = gAgent.getID();
- params["open_tab_name"] = "panel_picks";
- params["show_tab_panel"] = "create_pick";
- LLFloaterSidePanelContainer::showPanel("my_profile", params);
+ // open the new pick panel on the Picks floater
+ LLFloater* picks_floater = LLFloaterReg::showInstance("picks");
+
+ LLPanelPicks* picks = picks_floater->findChild<LLPanelPicks>("panel_picks");
+ picks->createNewPick();
}
void editPick(LLPickData* pick_info)
@@ -247,12 +247,11 @@ public:
void createClassified()
{
- // open the new classified panel on the Me > Picks sidetray
- LLSD params;
- params["id"] = gAgent.getID();
- params["open_tab_name"] = "panel_picks";
- params["show_tab_panel"] = "create_classified";
- LLFloaterSidePanelContainer::showPanel("my_profile", params);
+ // open the new classified panel on the Picks floater
+ LLFloater* picks_floater = LLFloaterReg::showInstance("picks");
+
+ LLPanelPicks* picks = picks_floater->findChild<LLPanelPicks>("panel_picks");
+ picks->createNewClassified();
}
void openClassified(LLAvatarClassifiedInfo* c_info)
diff --git a/indra/newview/llpanelpicks.h b/indra/newview/llpanelpicks.h
index 29db110523..3bb7413ac3 100755
--- a/indra/newview/llpanelpicks.h
+++ b/indra/newview/llpanelpicks.h
@@ -82,6 +82,9 @@ public:
// parent panels failed to work (picks related code was in my profile panel)
void setProfilePanel(LLPanelProfile* profile_panel);
+ void createNewPick();
+ void createNewClassified();
+
protected:
/*virtual*/void updateButtons();
@@ -115,9 +118,6 @@ private:
bool onEnableMenuItem(const LLSD& user_data);
- void createNewPick();
- void createNewClassified();
-
void openPickInfo();
void openClassifiedInfo();
void openClassifiedInfo(const LLSD& params);
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 41b4dc01e8..f616262523 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -1716,7 +1716,8 @@ LLViewerMediaImpl::LLViewerMediaImpl( const LLUUID& texture_id,
mNavigateSuspended(false),
mNavigateSuspendedDeferred(false),
mIsUpdated(false),
- mTrustedBrowser(false)
+ mTrustedBrowser(false),
+ mZoomFactor(1.0)
{
// Set up the mute list observer if it hasn't been set up already.
@@ -2302,6 +2303,17 @@ void LLViewerMediaImpl::clearCache()
}
}
+
+//////////////////////////////////////////////////////////////////////////////////////////
+void LLViewerMediaImpl::setPageZoomFactor( double factor )
+{
+ if(mMediaSource && factor != mZoomFactor)
+ {
+ mZoomFactor = factor;
+ mMediaSource->set_page_zoom_factor( factor );
+ }
+}
+
//////////////////////////////////////////////////////////////////////////////////////////
void LLViewerMediaImpl::mouseDown(S32 x, S32 y, MASK mask, S32 button)
{
diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h
index 0b69b8f0c1..3db9f0b4e0 100644
--- a/indra/newview/llviewermedia.h
+++ b/indra/newview/llviewermedia.h
@@ -250,6 +250,7 @@ public:
std::string getMediaEntryURL() { return mMediaEntryURL; }
void setHomeURL(const std::string& home_url, const std::string& mime_type = LLStringUtil::null) { mHomeURL = home_url; mHomeMimeType = mime_type;};
void clearCache();
+ void setPageZoomFactor( double factor );
std::string getMimeType() { return mMimeType; }
void scaleMouse(S32 *mouse_x, S32 *mouse_y);
void scaleTextureCoords(const LLVector2& texture_coords, S32 *x, S32 *y);
@@ -416,6 +417,7 @@ private:
private:
// a single media url with some data and an impl.
LLPluginClassMedia* mMediaSource;
+ F64 mZoomFactor;
LLUUID mTextureId;
bool mMovieImageHasMips;
std::string mMediaURL; // The last media url set with NavigateTo
diff --git a/indra/newview/skins/default/xui/en/floater_avatar.xml b/indra/newview/skins/default/xui/en/floater_avatar.xml
index 2d973e7d90..6009821f7f 100644
--- a/indra/newview/skins/default/xui/en/floater_avatar.xml
+++ b/indra/newview/skins/default/xui/en/floater_avatar.xml
@@ -16,11 +16,11 @@
save_rect="true"
save_visibility="true"
title="AVATAR PICKER"
- width="635">
+ width="700">
<web_browser
top="25"
height="200"
- width="635"
+ width="700"
follows="all"
name="avatar_picker_contents"
trusted_content="true"/>
diff --git a/indra/newview/skins/default/xui/en/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/en/floater_buy_currency_html.xml
index b9c415633f..0637eedfb2 100644
--- a/indra/newview/skins/default/xui/en/floater_buy_currency_html.xml
+++ b/indra/newview/skins/default/xui/en/floater_buy_currency_html.xml
@@ -23,6 +23,5 @@
right="-1"
top="1"
bottom="-1"
- ignore_ui_scale="false"
name="browser"/>
</floater>
diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml
index 3835cd17b6..6521bf2a4e 100644
--- a/indra/newview/skins/default/xui/en/panel_login.xml
+++ b/indra/newview/skins/default/xui/en/panel_login.xml
@@ -22,17 +22,17 @@ top="600"
<!-- *NOTE: Custom resize logic for login_html in llpanellogin.cpp -->
<web_browser
tab_stop="false"
-trusted_content="true"
-bg_opaque_color="Black"
-border_visible="false"
-bottom="600"
-follows="all"
-left="0"
-name="login_html"
-start_url=""
-top="0"
-height="600"
- width="980" />
+ trusted_content="true"
+ bg_opaque_color="Black"
+ border_visible="false"
+ bottom="600"
+ follows="all"
+ left="0"
+ name="login_html"
+ start_url=""
+ top="0"
+ height="600"
+ width="980"/>
<layout_stack
follows="left|bottom|right"
name="login_widgets"