master
Leyla Farazha 2010-04-14 18:12:47 -07:00
commit 54ae102c52
7 changed files with 55 additions and 14 deletions

View File

@ -1286,7 +1286,30 @@ void LLViewerMedia::setOpenIDCookie()
{
if(!sOpenIDCookie.empty())
{
getCookieStore()->setCookiesFromHost(sOpenIDCookie, sOpenIDURL.mAuthority);
// The LLURL can give me the 'authority', which is of the form: [username[:password]@]hostname[:port]
// We want just the hostname for the cookie code, but LLURL doesn't seem to have a way to extract that.
// We therefore do it here.
std::string authority = sOpenIDURL.mAuthority;
std::string::size_type host_start = authority.find('@');
if(host_start == std::string::npos)
{
// no username/password
host_start = 0;
}
else
{
// Hostname starts after the @.
// (If the hostname part is empty, this may put host_start at the end of the string. In that case, it will end up passing through an empty hostname, which is correct.)
++host_start;
}
std::string::size_type host_end = authority.rfind(':');
if((host_end == std::string::npos) || (host_end < host_start))
{
// no port
host_end = authority.size();
}
getCookieStore()->setCookiesFromHost(sOpenIDCookie, authority.substr(host_start, host_end - host_start));
}
}

View File

@ -900,14 +900,32 @@ void LLWorldMapView::drawFrustum()
// fade out in distance.
gGL.begin( LLRender::TRIANGLES );
{
LLVector2 cam_lookat(LLViewerCamera::instance().getAtAxis().mV[VX], LLViewerCamera::instance().getAtAxis().mV[VY]);
LLVector2 cam_left(LLViewerCamera::instance().getLeftAxis().mV[VX], LLViewerCamera::instance().getLeftAxis().mV[VY]);
// get camera look at and left axes
LLVector3 at_axis = LLViewerCamera::instance().getAtAxis();
LLVector3 left_axis = LLViewerCamera::instance().getLeftAxis();
// grab components along XY plane
LLVector2 cam_lookat(at_axis.mV[VX], at_axis.mV[VY]);
LLVector2 cam_left(left_axis.mV[VX], left_axis.mV[VY]);
// but, when looking near straight up or down...
if (is_approx_zero(cam_lookat.magVecSquared()))
{
//...just fall back to looking down the x axis
cam_lookat = LLVector2(1.f, 0.f); // x axis
cam_left = LLVector2(0.f, 1.f); // y axis
}
// normalize to unit length
cam_lookat.normVec();
cam_left.normVec();
gGL.color4f(1.f, 1.f, 1.f, 0.25f);
gGL.vertex2f( 0, 0 );
gGL.color4f(1.f, 1.f, 1.f, 0.02f);
// use 2d camera vectors to render frustum triangle
LLVector2 vert = cam_lookat * far_clip_pixels + cam_left * half_width_pixels;
gGL.vertex2f(vert.mV[VX], vert.mV[VY]);

View File

@ -44,7 +44,7 @@
left_delta="0"
name="NextOwnerLabel"
top_pad="5"
width="150">
width="200">
Next owner can:
</text>
<check_box

View File

@ -342,7 +342,7 @@
layout="topleft"
left="30"
height="20"
width="120"
width="170"
top_pad="20">
Show IMs in:
</text>
@ -351,9 +351,9 @@
follows="left|top"
layout="topleft"
top_delta="0"
left="120"
left="170"
height="20"
width="100"
width="130"
text_color="White_25"
>
(requires restart)

View File

@ -4,7 +4,7 @@
<button label="?" label_selected="?" name="help"/>
<check_box label="Partager avec le groupe" name="share_with_group"/>
<check_box label="Autoriser tout le monde à copier" name="everyone_copy"/>
<text name="NextOwnerLabel" width="260">
<text name="NextOwnerLabel">
Le prochain propriétaire pourra :
</text>
<check_box label="Modifier" name="next_owner_modify"/>

View File

@ -6,24 +6,24 @@
<sidetray_tab description="Casa." name="sidebar_home" tab_title="Home">
<panel label="casa" name="panel_home"/>
</sidetray_tab>
<sidetray_tab description="Modifica il tuo profilo pubblico e i preferiti." name="sidebar_me" tab_title="My Profile">
<sidetray_tab description="Modifica il tuo profilo pubblico e i preferiti." name="sidebar_me" tab_title="Il mio profilo">
<panel_container name="panel_container">
<panel label="Io" name="panel_me"/>
</panel_container>
</sidetray_tab>
<sidetray_tab description="Trova amici, contatti e persone nelle vicinanze." name="sidebar_people" tab_title="People">
<sidetray_tab description="Trova amici, contatti e persone nelle vicinanze." name="sidebar_people" tab_title="Persone">
<panel_container name="panel_container">
<panel label="Profilo del gruppo" name="panel_group_info_sidetray"/>
<panel label="Residenti e oggetti bloccati" name="panel_block_list_sidetray"/>
</panel_container>
</sidetray_tab>
<sidetray_tab description="Trova luoghi dove andare e luoghi già visitati." label="Luoghi" name="sidebar_places" tab_title="Places">
<sidetray_tab description="Trova luoghi dove andare e luoghi già visitati." label="Luoghi" name="sidebar_places" tab_title="Luoghi">
<panel label="Luoghi" name="panel_places"/>
</sidetray_tab>
<sidetray_tab description="Sfoglia il tuo inventario." name="sidebar_inventory" tab_title="My Inventory">
<sidetray_tab description="Sfoglia il tuo inventario." name="sidebar_inventory" tab_title="Il mio inventario">
<panel label="Modifica inventario" name="sidepanel_inventory"/>
</sidetray_tab>
<sidetray_tab description="Cambia il tuo aspetto ed il tuo look attuale." name="sidebar_appearance" tab_title="My Appearance">
<sidetray_tab description="Cambia il tuo aspetto ed il tuo look attuale." name="sidebar_appearance" tab_title="Il mio aspetto">
<panel label="Modifica aspetto fisico" name="sidepanel_appearance"/>
</sidetray_tab>
</side_tray>

View File

@ -12,7 +12,7 @@
<slider label="ボイスチャット" name="Voice Volume"/>
<check_box label="有効" name="enable_voice_check"/>
<check_box label="メディアを自動再生する" name="media_auto_play_btn" tool_tip="ここにチェックを入れてメディアの自動再生を許可します" value="true"/>
<check_box label="他のアバターに取り付けられたメディアを再生します" name="media_show_on_others_btn" tool_tip="このチェックを外すと、近くにいる他のアバターに取り付けられたメディアを非表示にします" value="true"/>
<check_box label="他のアバターに取り付けられたメディアを再生" name="media_show_on_others_btn" tool_tip="このチェックを外すと、近くにいる他のアバターに取り付けられたメディアを非表示にします" value="true"/>
<text name="voice_chat_settings">
ボイスチャットの設定
</text>