Pull merge from lindenlab/viewer-acme
commit
0dfc7f6145
|
|
@ -229,6 +229,7 @@ set(viewer_SOURCE_FILES
|
|||
llfloatereditwater.cpp
|
||||
llfloaterenvironmentsettings.cpp
|
||||
llfloaterevent.cpp
|
||||
llfloaterfacebook.cpp
|
||||
llfloaterflickr.cpp
|
||||
llfloaterfonttest.cpp
|
||||
llfloatergesture.cpp
|
||||
|
|
@ -276,7 +277,6 @@ set(viewer_SOURCE_FILES
|
|||
llfloatersettingsdebug.cpp
|
||||
llfloatersidepanelcontainer.cpp
|
||||
llfloatersnapshot.cpp
|
||||
llfloatersocial.cpp
|
||||
llfloatersounddevices.cpp
|
||||
llfloaterspellchecksettings.cpp
|
||||
llfloatertelehub.cpp
|
||||
|
|
@ -821,6 +821,7 @@ set(viewer_HEADER_FILES
|
|||
llfloatereditwater.h
|
||||
llfloaterenvironmentsettings.h
|
||||
llfloaterevent.h
|
||||
llfloaterfacebook.h
|
||||
llfloaterflickr.h
|
||||
llfloaterfonttest.h
|
||||
llfloatergesture.h
|
||||
|
|
@ -868,7 +869,6 @@ set(viewer_HEADER_FILES
|
|||
llfloatersettingsdebug.h
|
||||
llfloatersidepanelcontainer.h
|
||||
llfloatersnapshot.h
|
||||
llfloatersocial.h
|
||||
llfloatersounddevices.h
|
||||
llfloaterspellchecksettings.h
|
||||
llfloatertelehub.h
|
||||
|
|
|
|||
|
|
@ -216,15 +216,15 @@
|
|||
is_running_function="Floater.IsOpen"
|
||||
is_running_parameters="snapshot"
|
||||
/>
|
||||
<command name="social"
|
||||
<command name="facebook"
|
||||
available_in_toybox="true"
|
||||
icon="Command_Social_Icon"
|
||||
label_ref="Command_Social_Label"
|
||||
tooltip_ref="Command_Social_Tooltip"
|
||||
icon="Command_Facebook_Icon"
|
||||
label_ref="Command_Facebook_Label"
|
||||
tooltip_ref="Command_Facebook_Tooltip"
|
||||
execute_function="Floater.ToggleOrBringToFront"
|
||||
execute_parameters="social"
|
||||
execute_parameters="facebook"
|
||||
is_running_function="Floater.IsOpen"
|
||||
is_running_parameters="social"
|
||||
is_running_parameters="facebook"
|
||||
/>
|
||||
<command name="flickr"
|
||||
available_in_toybox="true"
|
||||
|
|
|
|||
|
|
@ -13108,7 +13108,7 @@
|
|||
<key>SocialPhotoResolution</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Default resolution when sharing photo using the social floater</string>
|
||||
<string>Default resolution when sharing photo using the social floaters</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
|
|
|
|||
|
|
@ -21,6 +21,6 @@
|
|||
<command name="voice"/>
|
||||
<command name="minimap"/>
|
||||
<command name="snapshot"/>
|
||||
<command name="social"/>
|
||||
<command name="facebook"/>
|
||||
</left_toolbar>
|
||||
</toolbars>
|
||||
|
|
|
|||
|
|
@ -69,6 +69,75 @@ void toast_user_for_facebook_success()
|
|||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
class LLSLShareHandler : public LLCommandHandler
|
||||
{
|
||||
public:
|
||||
LLSLShareHandler() : LLCommandHandler("slshare", UNTRUSTED_THROTTLE) { }
|
||||
|
||||
bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web)
|
||||
{
|
||||
if (tokens.size() >= 1)
|
||||
{
|
||||
if (tokens[0].asString() == "connect")
|
||||
{
|
||||
if (tokens.size() >= 2 && tokens[1].asString() == "flickr")
|
||||
{
|
||||
// this command probably came from the flickr_web browser, so close it
|
||||
LLFloater* flickr_web = LLFloaterReg::getInstance("flickr_web");
|
||||
if (flickr_web)
|
||||
{
|
||||
flickr_web->closeFloater();
|
||||
}
|
||||
|
||||
// connect to flickr
|
||||
if (query_map.has("oauth_token"))
|
||||
{
|
||||
LLFlickrConnect::instance().connectToFlickr(query_map["oauth_token"], query_map.get("oauth_verifier"));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if (tokens.size() >= 2 && tokens[1].asString() == "twitter")
|
||||
{
|
||||
// this command probably came from the twitter_web browser, so close it
|
||||
LLFloater* twitter_web = LLFloaterReg::getInstance("twitter_web");
|
||||
if (twitter_web)
|
||||
{
|
||||
twitter_web->closeFloater();
|
||||
}
|
||||
|
||||
// connect to twitter
|
||||
if (query_map.has("oauth_token"))
|
||||
{
|
||||
LLTwitterConnect::instance().connectToTwitter(query_map["oauth_token"], query_map.get("oauth_verifier"));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else //if (tokens.size() >= 2 && tokens[1].asString() == "facebook")
|
||||
{
|
||||
// this command probably came from the fbc_web browser, so close it
|
||||
LLFloater* fbc_web = LLFloaterReg::getInstance("fbc_web");
|
||||
if (fbc_web)
|
||||
{
|
||||
fbc_web->closeFloater();
|
||||
}
|
||||
|
||||
// connect to facebook
|
||||
if (query_map.has("code"))
|
||||
{
|
||||
LLFacebookConnect::instance().connectToFacebook(query_map["code"], query_map.get("state"));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
LLSLShareHandler gSLShareHandler;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DEPRECATED - please remove once "fbc" is phased out of the web service
|
||||
class LLFacebookConnectHandler : public LLCommandHandler
|
||||
{
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* @file llfloatersocial.cpp
|
||||
* @brief Implementation of llfloatersocial
|
||||
* @file llfloaterfacebook.cpp
|
||||
* @brief Implementation of llfloaterfacebook
|
||||
* @author Gilbert@lindenlab.com
|
||||
*
|
||||
* $LicenseInfo:firstyear=2013&license=viewerlgpl$
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include "llviewerprecompiledheaders.h"
|
||||
|
||||
#include "llfloatersocial.h"
|
||||
#include "llfloaterfacebook.h"
|
||||
|
||||
#include "llagent.h"
|
||||
#include "llagentui.h"
|
||||
|
|
@ -48,10 +48,10 @@
|
|||
#include "llviewermedia.h"
|
||||
#include "lltabcontainer.h"
|
||||
|
||||
static LLRegisterPanelClassWrapper<LLSocialStatusPanel> t_panel_status("llsocialstatuspanel");
|
||||
static LLRegisterPanelClassWrapper<LLSocialPhotoPanel> t_panel_photo("llsocialphotopanel");
|
||||
static LLRegisterPanelClassWrapper<LLSocialCheckinPanel> t_panel_checkin("llsocialcheckinpanel");
|
||||
static LLRegisterPanelClassWrapper<LLSocialAccountPanel> t_panel_account("llsocialaccountpanel");
|
||||
static LLRegisterPanelClassWrapper<LLFacebookStatusPanel> t_panel_status("llfacebookstatuspanel");
|
||||
static LLRegisterPanelClassWrapper<LLFacebookPhotoPanel> t_panel_photo("llfacebookphotopanel");
|
||||
static LLRegisterPanelClassWrapper<LLFacebookCheckinPanel> t_panel_checkin("llfacebookcheckinpanel");
|
||||
static LLRegisterPanelClassWrapper<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/";
|
||||
|
|
@ -74,18 +74,18 @@ std::string get_map_url()
|
|||
}
|
||||
|
||||
///////////////////////////
|
||||
//LLSocialStatusPanel//////
|
||||
//LLFacebookStatusPanel//////
|
||||
///////////////////////////
|
||||
|
||||
LLSocialStatusPanel::LLSocialStatusPanel() :
|
||||
LLFacebookStatusPanel::LLFacebookStatusPanel() :
|
||||
mMessageTextEditor(NULL),
|
||||
mPostButton(NULL),
|
||||
mCancelButton(NULL)
|
||||
{
|
||||
mCommitCallbackRegistrar.add("SocialSharing.SendStatus", boost::bind(&LLSocialStatusPanel::onSend, this));
|
||||
mCommitCallbackRegistrar.add("SocialSharing.SendStatus", boost::bind(&LLFacebookStatusPanel::onSend, this));
|
||||
}
|
||||
|
||||
BOOL LLSocialStatusPanel::postBuild()
|
||||
BOOL LLFacebookStatusPanel::postBuild()
|
||||
{
|
||||
mMessageTextEditor = getChild<LLUICtrl>("status_message");
|
||||
mPostButton = getChild<LLUICtrl>("post_status_btn");
|
||||
|
|
@ -94,7 +94,7 @@ BOOL LLSocialStatusPanel::postBuild()
|
|||
return LLPanel::postBuild();
|
||||
}
|
||||
|
||||
void LLSocialStatusPanel::draw()
|
||||
void LLFacebookStatusPanel::draw()
|
||||
{
|
||||
if (mMessageTextEditor && mPostButton && mCancelButton)
|
||||
{
|
||||
|
|
@ -108,10 +108,10 @@ void LLSocialStatusPanel::draw()
|
|||
LLPanel::draw();
|
||||
}
|
||||
|
||||
void LLSocialStatusPanel::onSend()
|
||||
void LLFacebookStatusPanel::onSend()
|
||||
{
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLSocialStatusPanel"); // just in case it is already listening
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").listen("LLSocialStatusPanel", boost::bind(&LLSocialStatusPanel::onFacebookConnectStateChange, this, _1));
|
||||
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())
|
||||
|
|
@ -124,7 +124,7 @@ void LLSocialStatusPanel::onSend()
|
|||
}
|
||||
}
|
||||
|
||||
bool LLSocialStatusPanel::onFacebookConnectStateChange(const LLSD& data)
|
||||
bool LLFacebookStatusPanel::onFacebookConnectStateChange(const LLSD& data)
|
||||
{
|
||||
switch (data.get("enum").asInteger())
|
||||
{
|
||||
|
|
@ -133,7 +133,7 @@ bool LLSocialStatusPanel::onFacebookConnectStateChange(const LLSD& data)
|
|||
break;
|
||||
|
||||
case LLFacebookConnect::FB_POSTED:
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLSocialStatusPanel");
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookStatusPanel");
|
||||
clearAndClose();
|
||||
break;
|
||||
}
|
||||
|
|
@ -141,7 +141,7 @@ bool LLSocialStatusPanel::onFacebookConnectStateChange(const LLSD& data)
|
|||
return false;
|
||||
}
|
||||
|
||||
void LLSocialStatusPanel::sendStatus()
|
||||
void LLFacebookStatusPanel::sendStatus()
|
||||
{
|
||||
std::string message = mMessageTextEditor->getValue().asString();
|
||||
if (!message.empty())
|
||||
|
|
@ -150,7 +150,7 @@ void LLSocialStatusPanel::sendStatus()
|
|||
}
|
||||
}
|
||||
|
||||
void LLSocialStatusPanel::clearAndClose()
|
||||
void LLFacebookStatusPanel::clearAndClose()
|
||||
{
|
||||
mMessageTextEditor->setValue("");
|
||||
|
||||
|
|
@ -162,10 +162,10 @@ void LLSocialStatusPanel::clearAndClose()
|
|||
}
|
||||
|
||||
///////////////////////////
|
||||
//LLSocialPhotoPanel///////
|
||||
//LLFacebookPhotoPanel///////
|
||||
///////////////////////////
|
||||
|
||||
LLSocialPhotoPanel::LLSocialPhotoPanel() :
|
||||
LLFacebookPhotoPanel::LLFacebookPhotoPanel() :
|
||||
mSnapshotPanel(NULL),
|
||||
mResolutionComboBox(NULL),
|
||||
mRefreshBtn(NULL),
|
||||
|
|
@ -175,11 +175,11 @@ mCaptionTextBox(NULL),
|
|||
mLocationCheckbox(NULL),
|
||||
mPostButton(NULL)
|
||||
{
|
||||
mCommitCallbackRegistrar.add("SocialSharing.SendPhoto", boost::bind(&LLSocialPhotoPanel::onSend, this));
|
||||
mCommitCallbackRegistrar.add("SocialSharing.RefreshPhoto", boost::bind(&LLSocialPhotoPanel::onClickNewSnapshot, this));
|
||||
mCommitCallbackRegistrar.add("SocialSharing.SendPhoto", boost::bind(&LLFacebookPhotoPanel::onSend, this));
|
||||
mCommitCallbackRegistrar.add("SocialSharing.RefreshPhoto", boost::bind(&LLFacebookPhotoPanel::onClickNewSnapshot, this));
|
||||
}
|
||||
|
||||
LLSocialPhotoPanel::~LLSocialPhotoPanel()
|
||||
LLFacebookPhotoPanel::~LLFacebookPhotoPanel()
|
||||
{
|
||||
if(mPreviewHandle.get())
|
||||
{
|
||||
|
|
@ -187,13 +187,13 @@ LLSocialPhotoPanel::~LLSocialPhotoPanel()
|
|||
}
|
||||
}
|
||||
|
||||
BOOL LLSocialPhotoPanel::postBuild()
|
||||
BOOL LLFacebookPhotoPanel::postBuild()
|
||||
{
|
||||
setVisibleCallback(boost::bind(&LLSocialPhotoPanel::onVisibilityChange, this, _2));
|
||||
setVisibleCallback(boost::bind(&LLFacebookPhotoPanel::onVisibilityChange, this, _2));
|
||||
|
||||
mSnapshotPanel = getChild<LLUICtrl>("snapshot_panel");
|
||||
mResolutionComboBox = getChild<LLUICtrl>("resolution_combobox");
|
||||
mResolutionComboBox->setCommitCallback(boost::bind(&LLSocialPhotoPanel::updateResolution, this, TRUE));
|
||||
mResolutionComboBox->setCommitCallback(boost::bind(&LLFacebookPhotoPanel::updateResolution, this, TRUE));
|
||||
mRefreshBtn = getChild<LLUICtrl>("new_snapshot_btn");
|
||||
mWorkingLabel = getChild<LLUICtrl>("working_lbl");
|
||||
mThumbnailPlaceholder = getChild<LLUICtrl>("thumbnail_placeholder");
|
||||
|
|
@ -205,7 +205,7 @@ BOOL LLSocialPhotoPanel::postBuild()
|
|||
return LLPanel::postBuild();
|
||||
}
|
||||
|
||||
void LLSocialPhotoPanel::draw()
|
||||
void LLFacebookPhotoPanel::draw()
|
||||
{
|
||||
LLSnapshotLivePreview * previewp = static_cast<LLSnapshotLivePreview *>(mPreviewHandle.get());
|
||||
|
||||
|
|
@ -258,13 +258,13 @@ void LLSocialPhotoPanel::draw()
|
|||
LLPanel::draw();
|
||||
}
|
||||
|
||||
LLSnapshotLivePreview* LLSocialPhotoPanel::getPreviewView()
|
||||
LLSnapshotLivePreview* LLFacebookPhotoPanel::getPreviewView()
|
||||
{
|
||||
LLSnapshotLivePreview* previewp = (LLSnapshotLivePreview*)mPreviewHandle.get();
|
||||
return previewp;
|
||||
}
|
||||
|
||||
void LLSocialPhotoPanel::onVisibilityChange(const LLSD& new_visibility)
|
||||
void LLFacebookPhotoPanel::onVisibilityChange(const LLSD& new_visibility)
|
||||
{
|
||||
bool visible = new_visibility.asBoolean();
|
||||
if (visible)
|
||||
|
|
@ -296,7 +296,7 @@ void LLSocialPhotoPanel::onVisibilityChange(const LLSD& new_visibility)
|
|||
}
|
||||
}
|
||||
|
||||
void LLSocialPhotoPanel::onClickNewSnapshot()
|
||||
void LLFacebookPhotoPanel::onClickNewSnapshot()
|
||||
{
|
||||
LLSnapshotLivePreview* previewp = getPreviewView();
|
||||
if (previewp)
|
||||
|
|
@ -307,10 +307,10 @@ void LLSocialPhotoPanel::onClickNewSnapshot()
|
|||
}
|
||||
}
|
||||
|
||||
void LLSocialPhotoPanel::onSend()
|
||||
void LLFacebookPhotoPanel::onSend()
|
||||
{
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLSocialPhotoPanel"); // just in case it is already listening
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").listen("LLSocialPhotoPanel", boost::bind(&LLSocialPhotoPanel::onFacebookConnectStateChange, this, _1));
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookPhotoPanel"); // just in case it is already listening
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookPhotoPanel", boost::bind(&LLFacebookPhotoPanel::onFacebookConnectStateChange, this, _1));
|
||||
|
||||
// Connect to Facebook if necessary and then post
|
||||
if (LLFacebookConnect::instance().isConnected())
|
||||
|
|
@ -323,7 +323,7 @@ void LLSocialPhotoPanel::onSend()
|
|||
}
|
||||
}
|
||||
|
||||
bool LLSocialPhotoPanel::onFacebookConnectStateChange(const LLSD& data)
|
||||
bool LLFacebookPhotoPanel::onFacebookConnectStateChange(const LLSD& data)
|
||||
{
|
||||
switch (data.get("enum").asInteger())
|
||||
{
|
||||
|
|
@ -332,7 +332,7 @@ bool LLSocialPhotoPanel::onFacebookConnectStateChange(const LLSD& data)
|
|||
break;
|
||||
|
||||
case LLFacebookConnect::FB_POSTED:
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLSocialPhotoPanel");
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookPhotoPanel");
|
||||
clearAndClose();
|
||||
break;
|
||||
}
|
||||
|
|
@ -340,7 +340,7 @@ bool LLSocialPhotoPanel::onFacebookConnectStateChange(const LLSD& data)
|
|||
return false;
|
||||
}
|
||||
|
||||
void LLSocialPhotoPanel::sendPhoto()
|
||||
void LLFacebookPhotoPanel::sendPhoto()
|
||||
{
|
||||
// Get the caption
|
||||
std::string caption = mCaptionTextBox->getValue().asString();
|
||||
|
|
@ -373,7 +373,7 @@ void LLSocialPhotoPanel::sendPhoto()
|
|||
updateControls();
|
||||
}
|
||||
|
||||
void LLSocialPhotoPanel::clearAndClose()
|
||||
void LLFacebookPhotoPanel::clearAndClose()
|
||||
{
|
||||
mCaptionTextBox->setValue("");
|
||||
|
||||
|
|
@ -384,7 +384,7 @@ void LLSocialPhotoPanel::clearAndClose()
|
|||
}
|
||||
}
|
||||
|
||||
void LLSocialPhotoPanel::updateControls()
|
||||
void LLFacebookPhotoPanel::updateControls()
|
||||
{
|
||||
LLSnapshotLivePreview* previewp = getPreviewView();
|
||||
BOOL got_bytes = previewp && previewp->getDataSize() > 0;
|
||||
|
|
@ -411,7 +411,7 @@ void LLSocialPhotoPanel::updateControls()
|
|||
updateResolution(FALSE);
|
||||
}
|
||||
|
||||
void LLSocialPhotoPanel::updateResolution(BOOL do_update)
|
||||
void LLFacebookPhotoPanel::updateResolution(BOOL do_update)
|
||||
{
|
||||
LLComboBox* combobox = static_cast<LLComboBox *>(mResolutionComboBox);
|
||||
|
||||
|
|
@ -458,14 +458,14 @@ void LLSocialPhotoPanel::updateResolution(BOOL do_update)
|
|||
{
|
||||
lldebugs << "Will update controls" << llendl;
|
||||
updateControls();
|
||||
LLSocialPhotoPanel::onClickNewSnapshot();
|
||||
LLFacebookPhotoPanel::onClickNewSnapshot();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void LLSocialPhotoPanel::checkAspectRatio(S32 index)
|
||||
void LLFacebookPhotoPanel::checkAspectRatio(S32 index)
|
||||
{
|
||||
LLSnapshotLivePreview *previewp = getPreviewView() ;
|
||||
|
||||
|
|
@ -486,23 +486,23 @@ void LLSocialPhotoPanel::checkAspectRatio(S32 index)
|
|||
}
|
||||
}
|
||||
|
||||
LLUICtrl* LLSocialPhotoPanel::getRefreshBtn()
|
||||
LLUICtrl* LLFacebookPhotoPanel::getRefreshBtn()
|
||||
{
|
||||
return mRefreshBtn;
|
||||
}
|
||||
|
||||
////////////////////////
|
||||
//LLSocialCheckinPanel//
|
||||
//LLFacebookCheckinPanel//
|
||||
////////////////////////
|
||||
|
||||
LLSocialCheckinPanel::LLSocialCheckinPanel() :
|
||||
LLFacebookCheckinPanel::LLFacebookCheckinPanel() :
|
||||
mMapUrl(""),
|
||||
mReloadingMapTexture(false)
|
||||
{
|
||||
mCommitCallbackRegistrar.add("SocialSharing.SendCheckin", boost::bind(&LLSocialCheckinPanel::onSend, this));
|
||||
mCommitCallbackRegistrar.add("SocialSharing.SendCheckin", boost::bind(&LLFacebookCheckinPanel::onSend, this));
|
||||
}
|
||||
|
||||
BOOL LLSocialCheckinPanel::postBuild()
|
||||
BOOL LLFacebookCheckinPanel::postBuild()
|
||||
{
|
||||
// Keep pointers to widgets so we don't traverse the UI hierarchy too often
|
||||
mPostButton = getChild<LLUICtrl>("post_place_btn");
|
||||
|
|
@ -516,7 +516,7 @@ BOOL LLSocialCheckinPanel::postBuild()
|
|||
return LLPanel::postBuild();
|
||||
}
|
||||
|
||||
void LLSocialCheckinPanel::draw()
|
||||
void LLFacebookCheckinPanel::draw()
|
||||
{
|
||||
bool no_ongoing_connection = !(LLFacebookConnect::instance().isTransactionOngoing());
|
||||
mPostButton->setEnabled(no_ongoing_connection);
|
||||
|
|
@ -557,10 +557,10 @@ void LLSocialCheckinPanel::draw()
|
|||
LLPanel::draw();
|
||||
}
|
||||
|
||||
void LLSocialCheckinPanel::onSend()
|
||||
void LLFacebookCheckinPanel::onSend()
|
||||
{
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLSocialCheckinPanel"); // just in case it is already listening
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").listen("LLSocialCheckinPanel", boost::bind(&LLSocialCheckinPanel::onFacebookConnectStateChange, this, _1));
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookCheckinPanel"); // just in case it is already listening
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookCheckinPanel", boost::bind(&LLFacebookCheckinPanel::onFacebookConnectStateChange, this, _1));
|
||||
|
||||
// Connect to Facebook if necessary and then post
|
||||
if (LLFacebookConnect::instance().isConnected())
|
||||
|
|
@ -573,7 +573,7 @@ void LLSocialCheckinPanel::onSend()
|
|||
}
|
||||
}
|
||||
|
||||
bool LLSocialCheckinPanel::onFacebookConnectStateChange(const LLSD& data)
|
||||
bool LLFacebookCheckinPanel::onFacebookConnectStateChange(const LLSD& data)
|
||||
{
|
||||
switch (data.get("enum").asInteger())
|
||||
{
|
||||
|
|
@ -582,7 +582,7 @@ bool LLSocialCheckinPanel::onFacebookConnectStateChange(const LLSD& data)
|
|||
break;
|
||||
|
||||
case LLFacebookConnect::FB_POSTED:
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLSocialCheckinPanel");
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookCheckinPanel");
|
||||
clearAndClose();
|
||||
break;
|
||||
}
|
||||
|
|
@ -590,7 +590,7 @@ bool LLSocialCheckinPanel::onFacebookConnectStateChange(const LLSD& data)
|
|||
return false;
|
||||
}
|
||||
|
||||
void LLSocialCheckinPanel::sendCheckin()
|
||||
void LLFacebookCheckinPanel::sendCheckin()
|
||||
{
|
||||
// Get the location SLURL
|
||||
LLSLURL slurl;
|
||||
|
|
@ -630,7 +630,7 @@ void LLSocialCheckinPanel::sendCheckin()
|
|||
LLFacebookConnect::instance().postCheckin(slurl_string, region_name, description, map_url, caption);
|
||||
}
|
||||
|
||||
void LLSocialCheckinPanel::clearAndClose()
|
||||
void LLFacebookCheckinPanel::clearAndClose()
|
||||
{
|
||||
mMessageTextEditor->setValue("");
|
||||
|
||||
|
|
@ -642,23 +642,23 @@ void LLSocialCheckinPanel::clearAndClose()
|
|||
}
|
||||
|
||||
///////////////////////////
|
||||
//LLSocialAccountPanel//////
|
||||
//LLFacebookAccountPanel//////
|
||||
///////////////////////////
|
||||
|
||||
LLSocialAccountPanel::LLSocialAccountPanel() :
|
||||
LLFacebookAccountPanel::LLFacebookAccountPanel() :
|
||||
mAccountCaptionLabel(NULL),
|
||||
mAccountNameLabel(NULL),
|
||||
mPanelButtons(NULL),
|
||||
mConnectButton(NULL),
|
||||
mDisconnectButton(NULL)
|
||||
{
|
||||
mCommitCallbackRegistrar.add("SocialSharing.Connect", boost::bind(&LLSocialAccountPanel::onConnect, this));
|
||||
mCommitCallbackRegistrar.add("SocialSharing.Disconnect", boost::bind(&LLSocialAccountPanel::onDisconnect, this));
|
||||
mCommitCallbackRegistrar.add("SocialSharing.Connect", boost::bind(&LLFacebookAccountPanel::onConnect, this));
|
||||
mCommitCallbackRegistrar.add("SocialSharing.Disconnect", boost::bind(&LLFacebookAccountPanel::onDisconnect, this));
|
||||
|
||||
setVisibleCallback(boost::bind(&LLSocialAccountPanel::onVisibilityChange, this, _2));
|
||||
setVisibleCallback(boost::bind(&LLFacebookAccountPanel::onVisibilityChange, this, _2));
|
||||
}
|
||||
|
||||
BOOL LLSocialAccountPanel::postBuild()
|
||||
BOOL LLFacebookAccountPanel::postBuild()
|
||||
{
|
||||
mAccountCaptionLabel = getChild<LLTextBox>("account_caption_label");
|
||||
mAccountNameLabel = getChild<LLTextBox>("account_name_label");
|
||||
|
|
@ -669,7 +669,7 @@ BOOL LLSocialAccountPanel::postBuild()
|
|||
return LLPanel::postBuild();
|
||||
}
|
||||
|
||||
void LLSocialAccountPanel::draw()
|
||||
void LLFacebookAccountPanel::draw()
|
||||
{
|
||||
LLFacebookConnect::EConnectionState connection_state = LLFacebookConnect::instance().getConnectionState();
|
||||
|
||||
|
|
@ -684,17 +684,17 @@ void LLSocialAccountPanel::draw()
|
|||
LLPanel::draw();
|
||||
}
|
||||
|
||||
void LLSocialAccountPanel::onVisibilityChange(const LLSD& new_visibility)
|
||||
void LLFacebookAccountPanel::onVisibilityChange(const LLSD& new_visibility)
|
||||
{
|
||||
bool visible = new_visibility.asBoolean();
|
||||
|
||||
if(visible)
|
||||
{
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLSocialAccountPanel");
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").listen("LLSocialAccountPanel", boost::bind(&LLSocialAccountPanel::onFacebookConnectStateChange, this, _1));
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookAccountPanel");
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookAccountPanel::onFacebookConnectStateChange, this, _1));
|
||||
|
||||
LLEventPumps::instance().obtain("FacebookConnectInfo").stopListening("LLSocialAccountPanel");
|
||||
LLEventPumps::instance().obtain("FacebookConnectInfo").listen("LLSocialAccountPanel", boost::bind(&LLSocialAccountPanel::onFacebookConnectInfoChange, this));
|
||||
LLEventPumps::instance().obtain("FacebookConnectInfo").stopListening("LLFacebookAccountPanel");
|
||||
LLEventPumps::instance().obtain("FacebookConnectInfo").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookAccountPanel::onFacebookConnectInfoChange, this));
|
||||
|
||||
//Connected
|
||||
if(LLFacebookConnect::instance().isConnected())
|
||||
|
|
@ -714,12 +714,12 @@ void LLSocialAccountPanel::onVisibilityChange(const LLSD& new_visibility)
|
|||
}
|
||||
else
|
||||
{
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLSocialAccountPanel");
|
||||
LLEventPumps::instance().obtain("FacebookConnectInfo").stopListening("LLSocialAccountPanel");
|
||||
LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookAccountPanel");
|
||||
LLEventPumps::instance().obtain("FacebookConnectInfo").stopListening("LLFacebookAccountPanel");
|
||||
}
|
||||
}
|
||||
|
||||
bool LLSocialAccountPanel::onFacebookConnectStateChange(const LLSD& data)
|
||||
bool LLFacebookAccountPanel::onFacebookConnectStateChange(const LLSD& data)
|
||||
{
|
||||
if(LLFacebookConnect::instance().isConnected())
|
||||
{
|
||||
|
|
@ -737,7 +737,7 @@ bool LLSocialAccountPanel::onFacebookConnectStateChange(const LLSD& data)
|
|||
return false;
|
||||
}
|
||||
|
||||
bool LLSocialAccountPanel::onFacebookConnectInfoChange()
|
||||
bool LLFacebookAccountPanel::onFacebookConnectInfoChange()
|
||||
{
|
||||
LLSD info = LLFacebookConnect::instance().getInfo();
|
||||
std::string clickable_name;
|
||||
|
|
@ -753,7 +753,7 @@ bool LLSocialAccountPanel::onFacebookConnectInfoChange()
|
|||
return false;
|
||||
}
|
||||
|
||||
void LLSocialAccountPanel::showConnectButton()
|
||||
void LLFacebookAccountPanel::showConnectButton()
|
||||
{
|
||||
if(!mConnectButton->getVisible())
|
||||
{
|
||||
|
|
@ -762,7 +762,7 @@ void LLSocialAccountPanel::showConnectButton()
|
|||
}
|
||||
}
|
||||
|
||||
void LLSocialAccountPanel::hideConnectButton()
|
||||
void LLFacebookAccountPanel::hideConnectButton()
|
||||
{
|
||||
if(mConnectButton->getVisible())
|
||||
{
|
||||
|
|
@ -771,14 +771,14 @@ void LLSocialAccountPanel::hideConnectButton()
|
|||
}
|
||||
}
|
||||
|
||||
void LLSocialAccountPanel::showDisconnectedLayout()
|
||||
void LLFacebookAccountPanel::showDisconnectedLayout()
|
||||
{
|
||||
mAccountCaptionLabel->setText(getString("facebook_disconnected"));
|
||||
mAccountNameLabel->setText(std::string(""));
|
||||
showConnectButton();
|
||||
}
|
||||
|
||||
void LLSocialAccountPanel::showConnectedLayout()
|
||||
void LLFacebookAccountPanel::showConnectedLayout()
|
||||
{
|
||||
LLFacebookConnect::instance().loadFacebookInfo();
|
||||
|
||||
|
|
@ -786,7 +786,7 @@ void LLSocialAccountPanel::showConnectedLayout()
|
|||
hideConnectButton();
|
||||
}
|
||||
|
||||
void LLSocialAccountPanel::onConnect()
|
||||
void LLFacebookAccountPanel::onConnect()
|
||||
{
|
||||
LLFacebookConnect::instance().checkConnectionToFacebook(true);
|
||||
|
||||
|
|
@ -794,7 +794,7 @@ void LLSocialAccountPanel::onConnect()
|
|||
LLViewerMedia::getCookieStore()->removeCookiesByDomain(".facebook.com");
|
||||
}
|
||||
|
||||
void LLSocialAccountPanel::onDisconnect()
|
||||
void LLFacebookAccountPanel::onDisconnect()
|
||||
{
|
||||
LLFacebookConnect::instance().disconnectFromFacebook();
|
||||
|
||||
|
|
@ -802,27 +802,27 @@ void LLSocialAccountPanel::onDisconnect()
|
|||
}
|
||||
|
||||
////////////////////////
|
||||
//LLFloaterSocial///////
|
||||
//LLFloaterFacebook///////
|
||||
////////////////////////
|
||||
|
||||
LLFloaterSocial::LLFloaterSocial(const LLSD& key) : LLFloater(key),
|
||||
mSocialPhotoPanel(NULL),
|
||||
LLFloaterFacebook::LLFloaterFacebook(const LLSD& key) : LLFloater(key),
|
||||
mFacebookPhotoPanel(NULL),
|
||||
mStatusErrorText(NULL),
|
||||
mStatusLoadingText(NULL),
|
||||
mStatusLoadingIndicator(NULL)
|
||||
{
|
||||
mCommitCallbackRegistrar.add("SocialSharing.Cancel", boost::bind(&LLFloaterSocial::onCancel, this));
|
||||
mCommitCallbackRegistrar.add("SocialSharing.Cancel", boost::bind(&LLFloaterFacebook::onCancel, this));
|
||||
}
|
||||
|
||||
void LLFloaterSocial::onCancel()
|
||||
void LLFloaterFacebook::onCancel()
|
||||
{
|
||||
closeFloater();
|
||||
}
|
||||
|
||||
BOOL LLFloaterSocial::postBuild()
|
||||
BOOL LLFloaterFacebook::postBuild()
|
||||
{
|
||||
// Keep tab of the Photo Panel
|
||||
mSocialPhotoPanel = static_cast<LLSocialPhotoPanel*>(getChild<LLUICtrl>("panel_social_photo"));
|
||||
mFacebookPhotoPanel = static_cast<LLFacebookPhotoPanel*>(getChild<LLUICtrl>("panel_facebook_photo"));
|
||||
// Connection status widgets
|
||||
mStatusErrorText = getChild<LLTextBox>("connection_error_text");
|
||||
mStatusLoadingText = getChild<LLTextBox>("connection_loading_text");
|
||||
|
|
@ -830,41 +830,41 @@ BOOL LLFloaterSocial::postBuild()
|
|||
return LLFloater::postBuild();
|
||||
}
|
||||
|
||||
void LLFloaterSocial::showPhotoPanel()
|
||||
void LLFloaterFacebook::showPhotoPanel()
|
||||
{
|
||||
LLTabContainer* parent = dynamic_cast<LLTabContainer*>(mSocialPhotoPanel->getParent());
|
||||
LLTabContainer* parent = dynamic_cast<LLTabContainer*>(mFacebookPhotoPanel->getParent());
|
||||
if (!parent)
|
||||
{
|
||||
llwarns << "Cannot find panel container" << llendl;
|
||||
return;
|
||||
}
|
||||
|
||||
parent->selectTabPanel(mSocialPhotoPanel);
|
||||
parent->selectTabPanel(mFacebookPhotoPanel);
|
||||
}
|
||||
|
||||
// static
|
||||
void LLFloaterSocial::preUpdate()
|
||||
void LLFloaterFacebook::preUpdate()
|
||||
{
|
||||
LLFloaterSocial* instance = LLFloaterReg::findTypedInstance<LLFloaterSocial>("social");
|
||||
LLFloaterFacebook* instance = LLFloaterReg::findTypedInstance<LLFloaterFacebook>("facebook");
|
||||
if (instance)
|
||||
{
|
||||
//Will set file size text to 'unknown'
|
||||
instance->mSocialPhotoPanel->updateControls();
|
||||
instance->mFacebookPhotoPanel->updateControls();
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
void LLFloaterSocial::postUpdate()
|
||||
void LLFloaterFacebook::postUpdate()
|
||||
{
|
||||
LLFloaterSocial* instance = LLFloaterReg::findTypedInstance<LLFloaterSocial>("social");
|
||||
LLFloaterFacebook* instance = LLFloaterReg::findTypedInstance<LLFloaterFacebook>("facebook");
|
||||
if (instance)
|
||||
{
|
||||
//Will set the file size text
|
||||
instance->mSocialPhotoPanel->updateControls();
|
||||
instance->mFacebookPhotoPanel->updateControls();
|
||||
|
||||
// The refresh button is initially hidden. We show it after the first update,
|
||||
// i.e. after snapshot is taken
|
||||
LLUICtrl * refresh_button = instance->mSocialPhotoPanel->getRefreshBtn();
|
||||
LLUICtrl * refresh_button = instance->mFacebookPhotoPanel->getRefreshBtn();
|
||||
|
||||
if (!refresh_button->getVisible())
|
||||
{
|
||||
|
|
@ -874,7 +874,7 @@ void LLFloaterSocial::postUpdate()
|
|||
}
|
||||
}
|
||||
|
||||
void LLFloaterSocial::draw()
|
||||
void LLFloaterFacebook::draw()
|
||||
{
|
||||
if (mStatusErrorText && mStatusLoadingText && mStatusLoadingIndicator)
|
||||
{
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* @file llfloatersocial.h
|
||||
* @brief Header file for llfloatersocial
|
||||
* @file llfloaterfacebook.h
|
||||
* @brief Header file for llfloaterfacebook
|
||||
* @author Gilbert@lindenlab.com
|
||||
*
|
||||
* $LicenseInfo:firstyear=2013&license=viewerlgpl$
|
||||
|
|
@ -24,8 +24,8 @@
|
|||
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
#ifndef LL_LLFLOATERSOCIAL_H
|
||||
#define LL_LLFLOATERSOCIAL_H
|
||||
#ifndef LL_LLFLOATERFACEBOOK_H
|
||||
#define LL_LLFLOATERFACEBOOK_H
|
||||
|
||||
#include "llfloater.h"
|
||||
#include "lltextbox.h"
|
||||
|
|
@ -35,10 +35,10 @@ class LLIconCtrl;
|
|||
class LLCheckBoxCtrl;
|
||||
class LLSnapshotLivePreview;
|
||||
|
||||
class LLSocialStatusPanel : public LLPanel
|
||||
class LLFacebookStatusPanel : public LLPanel
|
||||
{
|
||||
public:
|
||||
LLSocialStatusPanel();
|
||||
LLFacebookStatusPanel();
|
||||
BOOL postBuild();
|
||||
void draw();
|
||||
void onSend();
|
||||
|
|
@ -53,11 +53,11 @@ private:
|
|||
LLUICtrl* mCancelButton;
|
||||
};
|
||||
|
||||
class LLSocialPhotoPanel : public LLPanel
|
||||
class LLFacebookPhotoPanel : public LLPanel
|
||||
{
|
||||
public:
|
||||
LLSocialPhotoPanel();
|
||||
~LLSocialPhotoPanel();
|
||||
LLFacebookPhotoPanel();
|
||||
~LLFacebookPhotoPanel();
|
||||
|
||||
BOOL postBuild();
|
||||
void draw();
|
||||
|
|
@ -90,10 +90,10 @@ private:
|
|||
LLUICtrl* mCancelButton;
|
||||
};
|
||||
|
||||
class LLSocialCheckinPanel : public LLPanel
|
||||
class LLFacebookCheckinPanel : public LLPanel
|
||||
{
|
||||
public:
|
||||
LLSocialCheckinPanel();
|
||||
LLFacebookCheckinPanel();
|
||||
BOOL postBuild();
|
||||
void draw();
|
||||
void onSend();
|
||||
|
|
@ -115,10 +115,10 @@ private:
|
|||
bool mReloadingMapTexture;
|
||||
};
|
||||
|
||||
class LLSocialAccountPanel : public LLPanel
|
||||
class LLFacebookAccountPanel : public LLPanel
|
||||
{
|
||||
public:
|
||||
LLSocialAccountPanel();
|
||||
LLFacebookAccountPanel();
|
||||
BOOL postBuild();
|
||||
void draw();
|
||||
|
||||
|
|
@ -143,10 +143,10 @@ private:
|
|||
};
|
||||
|
||||
|
||||
class LLFloaterSocial : public LLFloater
|
||||
class LLFloaterFacebook : public LLFloater
|
||||
{
|
||||
public:
|
||||
LLFloaterSocial(const LLSD& key);
|
||||
LLFloaterFacebook(const LLSD& key);
|
||||
BOOL postBuild();
|
||||
void draw();
|
||||
void onCancel();
|
||||
|
|
@ -157,11 +157,11 @@ public:
|
|||
static void postUpdate();
|
||||
|
||||
private:
|
||||
LLSocialPhotoPanel* mSocialPhotoPanel;
|
||||
LLFacebookPhotoPanel* mFacebookPhotoPanel;
|
||||
LLTextBox* mStatusErrorText;
|
||||
LLTextBox* mStatusLoadingText;
|
||||
LLUICtrl* mStatusLoadingIndicator;
|
||||
};
|
||||
|
||||
#endif // LL_LLFLOATERSOCIAL_H
|
||||
#endif // LL_LLFLOATERFACEBOOK_H
|
||||
|
||||
|
|
@ -570,7 +570,7 @@ void LLFlickrAccountPanel::onDisconnect()
|
|||
////////////////////////
|
||||
|
||||
LLFloaterFlickr::LLFloaterFlickr(const LLSD& key) : LLFloater(key),
|
||||
mSocialPhotoPanel(NULL),
|
||||
mFlickrPhotoPanel(NULL),
|
||||
mStatusErrorText(NULL),
|
||||
mStatusLoadingText(NULL),
|
||||
mStatusLoadingIndicator(NULL)
|
||||
|
|
@ -586,7 +586,7 @@ void LLFloaterFlickr::onCancel()
|
|||
BOOL LLFloaterFlickr::postBuild()
|
||||
{
|
||||
// Keep tab of the Photo Panel
|
||||
mSocialPhotoPanel = static_cast<LLFlickrPhotoPanel*>(getChild<LLUICtrl>("panel_flickr_photo"));
|
||||
mFlickrPhotoPanel = static_cast<LLFlickrPhotoPanel*>(getChild<LLUICtrl>("panel_flickr_photo"));
|
||||
// Connection status widgets
|
||||
mStatusErrorText = getChild<LLTextBox>("connection_error_text");
|
||||
mStatusLoadingText = getChild<LLTextBox>("connection_loading_text");
|
||||
|
|
@ -596,14 +596,14 @@ BOOL LLFloaterFlickr::postBuild()
|
|||
|
||||
void LLFloaterFlickr::showPhotoPanel()
|
||||
{
|
||||
LLTabContainer* parent = dynamic_cast<LLTabContainer*>(mSocialPhotoPanel->getParent());
|
||||
LLTabContainer* parent = dynamic_cast<LLTabContainer*>(mFlickrPhotoPanel->getParent());
|
||||
if (!parent)
|
||||
{
|
||||
llwarns << "Cannot find panel container" << llendl;
|
||||
return;
|
||||
}
|
||||
|
||||
parent->selectTabPanel(mSocialPhotoPanel);
|
||||
parent->selectTabPanel(mFlickrPhotoPanel);
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
@ -613,7 +613,7 @@ void LLFloaterFlickr::preUpdate()
|
|||
if (instance)
|
||||
{
|
||||
//Will set file size text to 'unknown'
|
||||
instance->mSocialPhotoPanel->updateControls();
|
||||
instance->mFlickrPhotoPanel->updateControls();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -624,11 +624,11 @@ void LLFloaterFlickr::postUpdate()
|
|||
if (instance)
|
||||
{
|
||||
//Will set the file size text
|
||||
instance->mSocialPhotoPanel->updateControls();
|
||||
instance->mFlickrPhotoPanel->updateControls();
|
||||
|
||||
// The refresh button is initially hidden. We show it after the first update,
|
||||
// i.e. after snapshot is taken
|
||||
LLUICtrl * refresh_button = instance->mSocialPhotoPanel->getRefreshBtn();
|
||||
LLUICtrl * refresh_button = instance->mFlickrPhotoPanel->getRefreshBtn();
|
||||
|
||||
if (!refresh_button->getVisible())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ public:
|
|||
static void postUpdate();
|
||||
|
||||
private:
|
||||
LLFlickrPhotoPanel* mSocialPhotoPanel;
|
||||
LLFlickrPhotoPanel* mFlickrPhotoPanel;
|
||||
LLTextBox* mStatusErrorText;
|
||||
LLTextBox* mStatusLoadingText;
|
||||
LLUICtrl* mStatusLoadingIndicator;
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
#include "llagent.h"
|
||||
#include "llfacebookconnect.h"
|
||||
#include "llfloaterreg.h"
|
||||
#include "llfloatersocial.h"
|
||||
#include "llfloaterfacebook.h"
|
||||
#include "llfloaterflickr.h"
|
||||
#include "llfloatertwitter.h"
|
||||
#include "llcheckboxctrl.h"
|
||||
|
|
@ -1266,11 +1266,11 @@ S32 LLFloaterSnapshot::notify(const LLSD& info)
|
|||
void LLFloaterSnapshot::update()
|
||||
{
|
||||
LLFloaterSnapshot* inst = LLFloaterReg::findTypedInstance<LLFloaterSnapshot>("snapshot");
|
||||
LLFloaterSocial* floater_social = LLFloaterReg::findTypedInstance<LLFloaterSocial>("social");
|
||||
LLFloaterFacebook* floater_facebook = LLFloaterReg::findTypedInstance<LLFloaterFacebook>("facebook");
|
||||
LLFloaterFlickr* floater_flickr = LLFloaterReg::findTypedInstance<LLFloaterFlickr>("flickr");
|
||||
LLFloaterTwitter* floater_twitter = LLFloaterReg::findTypedInstance<LLFloaterTwitter>("twitter");
|
||||
|
||||
if (!inst && !floater_social && !floater_flickr && !floater_twitter)
|
||||
if (!inst && !floater_facebook && !floater_flickr && !floater_twitter)
|
||||
return;
|
||||
|
||||
BOOL changed = FALSE;
|
||||
|
|
|
|||
|
|
@ -65,7 +65,9 @@ mResolutionComboBox(NULL),
|
|||
mRefreshBtn(NULL),
|
||||
mWorkingLabel(NULL),
|
||||
mThumbnailPlaceholder(NULL),
|
||||
mStatusCounterLabel(NULL),
|
||||
mStatusTextBox(NULL),
|
||||
mLocationCheckbox(NULL),
|
||||
mPhotoCheckbox(NULL),
|
||||
mPostButton(NULL)
|
||||
{
|
||||
|
|
@ -91,8 +93,12 @@ BOOL LLTwitterPhotoPanel::postBuild()
|
|||
mRefreshBtn = getChild<LLUICtrl>("new_snapshot_btn");
|
||||
mWorkingLabel = getChild<LLUICtrl>("working_lbl");
|
||||
mThumbnailPlaceholder = getChild<LLUICtrl>("thumbnail_placeholder");
|
||||
mStatusCounterLabel = getChild<LLUICtrl>("status_counter_label");
|
||||
mStatusTextBox = getChild<LLUICtrl>("photo_status");
|
||||
mLocationCheckbox = getChild<LLUICtrl>("add_location_cb");
|
||||
mLocationCheckbox->setCommitCallback(boost::bind(&LLTwitterPhotoPanel::onAddLocationToggled, this));
|
||||
mPhotoCheckbox = getChild<LLUICtrl>("add_photo_cb");
|
||||
mPhotoCheckbox->setCommitCallback(boost::bind(&LLTwitterPhotoPanel::onAddPhotoToggled, this));
|
||||
mPostButton = getChild<LLUICtrl>("post_photo_btn");
|
||||
mCancelButton = getChild<LLUICtrl>("cancel_photo_btn");
|
||||
|
||||
|
|
@ -109,30 +115,12 @@ void LLTwitterPhotoPanel::draw()
|
|||
mStatusTextBox->setEnabled(no_ongoing_connection);
|
||||
mResolutionComboBox->setEnabled(no_ongoing_connection && mPhotoCheckbox->getValue().asBoolean());
|
||||
mRefreshBtn->setEnabled(no_ongoing_connection && mPhotoCheckbox->getValue().asBoolean());
|
||||
mLocationCheckbox->setEnabled(no_ongoing_connection);
|
||||
mPhotoCheckbox->setEnabled(no_ongoing_connection);
|
||||
|
||||
bool add_location = mLocationCheckbox->getValue().asBoolean();
|
||||
bool add_photo = mPhotoCheckbox->getValue().asBoolean();
|
||||
|
||||
// Restrict the status text length to Twitter's character limit
|
||||
LLTextEditor* status_text_box = dynamic_cast<LLTextEditor*>(mStatusTextBox);
|
||||
if (status_text_box)
|
||||
{
|
||||
int max_status_length = add_photo ? 100 : 140;
|
||||
status_text_box->setMaxTextLength(max_status_length);
|
||||
if (!add_photo)
|
||||
{
|
||||
if (mOldStatusText.length() > status_text_box->getText().length() && status_text_box->getText() == mOldStatusText.substr(0, status_text_box->getText().length()))
|
||||
{
|
||||
status_text_box->setText(mOldStatusText);
|
||||
}
|
||||
mOldStatusText = "";
|
||||
}
|
||||
if (status_text_box->getText().length() > max_status_length)
|
||||
{
|
||||
mOldStatusText = status_text_box->getText();
|
||||
status_text_box->setText(mOldStatusText.substr(0, max_status_length));
|
||||
}
|
||||
}
|
||||
updateStatusTextLength(false);
|
||||
|
||||
// Display the preview if one is available
|
||||
if (previewp && previewp->getThumbnailImage())
|
||||
|
|
@ -169,7 +157,7 @@ void LLTwitterPhotoPanel::draw()
|
|||
mWorkingLabel->setVisible(!(previewp && previewp->getSnapshotUpToDate()));
|
||||
|
||||
// Enable Post if we have a preview to send and no on going connection being processed
|
||||
mPostButton->setEnabled(no_ongoing_connection && ((add_photo && previewp && previewp->getSnapshotUpToDate()) || !mStatusTextBox->getValue().asString().empty()));
|
||||
mPostButton->setEnabled(no_ongoing_connection && ((add_photo && previewp && previewp->getSnapshotUpToDate()) || add_location || !mStatusTextBox->getValue().asString().empty()));
|
||||
|
||||
// Draw the rest of the panel on top of it
|
||||
LLPanel::draw();
|
||||
|
|
@ -213,6 +201,18 @@ void LLTwitterPhotoPanel::onVisibilityChange(const LLSD& new_visibility)
|
|||
}
|
||||
}
|
||||
|
||||
void LLTwitterPhotoPanel::onAddLocationToggled()
|
||||
{
|
||||
bool add_location = mLocationCheckbox->getValue().asBoolean();
|
||||
updateStatusTextLength(!add_location);
|
||||
}
|
||||
|
||||
void LLTwitterPhotoPanel::onAddPhotoToggled()
|
||||
{
|
||||
bool add_photo = mPhotoCheckbox->getValue().asBoolean();
|
||||
updateStatusTextLength(!add_photo);
|
||||
}
|
||||
|
||||
void LLTwitterPhotoPanel::onClickNewSnapshot()
|
||||
{
|
||||
LLSnapshotLivePreview* previewp = getPreviewView();
|
||||
|
|
@ -261,6 +261,26 @@ void LLTwitterPhotoPanel::sendPhoto()
|
|||
{
|
||||
// Get the status text
|
||||
std::string status = mStatusTextBox->getValue().asString();
|
||||
|
||||
// Add the location if required
|
||||
bool add_location = mLocationCheckbox->getValue().asBoolean();
|
||||
if (add_location)
|
||||
{
|
||||
// Get the SLURL for the location
|
||||
LLSLURL slurl;
|
||||
LLAgentUI::buildSLURL(slurl);
|
||||
std::string slurl_string = slurl.getSLURLString();
|
||||
|
||||
// Add query parameters so Google Analytics can track incoming clicks!
|
||||
slurl_string += DEFAULT_PHOTO_QUERY_PARAMETERS;
|
||||
|
||||
// Add it to the status (pretty crude, but we don't have a better option with photos)
|
||||
if (status.empty())
|
||||
status = slurl_string;
|
||||
else
|
||||
status = status + " " + slurl_string;
|
||||
}
|
||||
|
||||
|
||||
// Add the photo if required
|
||||
bool add_photo = mPhotoCheckbox->getValue().asBoolean();
|
||||
|
|
@ -292,6 +312,44 @@ void LLTwitterPhotoPanel::clearAndClose()
|
|||
}
|
||||
}
|
||||
|
||||
void LLTwitterPhotoPanel::updateStatusTextLength(BOOL restore_old_status_text)
|
||||
{
|
||||
bool add_location = mLocationCheckbox->getValue().asBoolean();
|
||||
bool add_photo = mPhotoCheckbox->getValue().asBoolean();
|
||||
|
||||
// Restrict the status text length to Twitter's character limit
|
||||
LLTextEditor* status_text_box = dynamic_cast<LLTextEditor*>(mStatusTextBox);
|
||||
if (status_text_box)
|
||||
{
|
||||
int max_status_length = 140 - (add_location ? 40 : 0) - (add_photo ? 40 : 0);
|
||||
status_text_box->setMaxTextLength(max_status_length);
|
||||
if (restore_old_status_text)
|
||||
{
|
||||
if (mOldStatusText.length() > status_text_box->getText().length() && status_text_box->getText() == mOldStatusText.substr(0, status_text_box->getText().length()))
|
||||
{
|
||||
status_text_box->setText(mOldStatusText);
|
||||
}
|
||||
if (mOldStatusText.length() <= max_status_length)
|
||||
{
|
||||
mOldStatusText = "";
|
||||
}
|
||||
}
|
||||
if (status_text_box->getText().length() > max_status_length)
|
||||
{
|
||||
if (mOldStatusText.length() < status_text_box->getText().length() || status_text_box->getText() != mOldStatusText.substr(0, status_text_box->getText().length()))
|
||||
{
|
||||
mOldStatusText = status_text_box->getText();
|
||||
}
|
||||
status_text_box->setText(mOldStatusText.substr(0, max_status_length));
|
||||
}
|
||||
|
||||
// Update the status character counter
|
||||
int characters_remaining = max_status_length - status_text_box->getText().length();
|
||||
mStatusCounterLabel->setValue(characters_remaining);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void LLTwitterPhotoPanel::updateControls()
|
||||
{
|
||||
LLSnapshotLivePreview* previewp = getPreviewView();
|
||||
|
|
@ -564,7 +622,7 @@ void LLTwitterAccountPanel::onDisconnect()
|
|||
////////////////////////
|
||||
|
||||
LLFloaterTwitter::LLFloaterTwitter(const LLSD& key) : LLFloater(key),
|
||||
mSocialPhotoPanel(NULL),
|
||||
mTwitterPhotoPanel(NULL),
|
||||
mStatusErrorText(NULL),
|
||||
mStatusLoadingText(NULL),
|
||||
mStatusLoadingIndicator(NULL)
|
||||
|
|
@ -580,7 +638,7 @@ void LLFloaterTwitter::onCancel()
|
|||
BOOL LLFloaterTwitter::postBuild()
|
||||
{
|
||||
// Keep tab of the Photo Panel
|
||||
mSocialPhotoPanel = static_cast<LLTwitterPhotoPanel*>(getChild<LLUICtrl>("panel_twitter_photo"));
|
||||
mTwitterPhotoPanel = static_cast<LLTwitterPhotoPanel*>(getChild<LLUICtrl>("panel_twitter_photo"));
|
||||
// Connection status widgets
|
||||
mStatusErrorText = getChild<LLTextBox>("connection_error_text");
|
||||
mStatusLoadingText = getChild<LLTextBox>("connection_loading_text");
|
||||
|
|
@ -590,14 +648,14 @@ BOOL LLFloaterTwitter::postBuild()
|
|||
|
||||
void LLFloaterTwitter::showPhotoPanel()
|
||||
{
|
||||
LLTabContainer* parent = dynamic_cast<LLTabContainer*>(mSocialPhotoPanel->getParent());
|
||||
LLTabContainer* parent = dynamic_cast<LLTabContainer*>(mTwitterPhotoPanel->getParent());
|
||||
if (!parent)
|
||||
{
|
||||
llwarns << "Cannot find panel container" << llendl;
|
||||
return;
|
||||
}
|
||||
|
||||
parent->selectTabPanel(mSocialPhotoPanel);
|
||||
parent->selectTabPanel(mTwitterPhotoPanel);
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
@ -607,7 +665,7 @@ void LLFloaterTwitter::preUpdate()
|
|||
if (instance)
|
||||
{
|
||||
//Will set file size text to 'unknown'
|
||||
instance->mSocialPhotoPanel->updateControls();
|
||||
instance->mTwitterPhotoPanel->updateControls();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -618,11 +676,11 @@ void LLFloaterTwitter::postUpdate()
|
|||
if (instance)
|
||||
{
|
||||
//Will set the file size text
|
||||
instance->mSocialPhotoPanel->updateControls();
|
||||
instance->mTwitterPhotoPanel->updateControls();
|
||||
|
||||
// The refresh button is initially hidden. We show it after the first update,
|
||||
// i.e. after snapshot is taken
|
||||
LLUICtrl * refresh_button = instance->mSocialPhotoPanel->getRefreshBtn();
|
||||
LLUICtrl * refresh_button = instance->mTwitterPhotoPanel->getRefreshBtn();
|
||||
|
||||
if (!refresh_button->getVisible())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -46,6 +46,8 @@ public:
|
|||
|
||||
LLSnapshotLivePreview* getPreviewView();
|
||||
void onVisibilityChange(const LLSD& new_visibility);
|
||||
void onAddLocationToggled();
|
||||
void onAddPhotoToggled();
|
||||
void onClickNewSnapshot();
|
||||
void onSend();
|
||||
bool onTwitterConnectStateChange(const LLSD& data);
|
||||
|
|
@ -53,6 +55,7 @@ public:
|
|||
void sendPhoto();
|
||||
void clearAndClose();
|
||||
|
||||
void updateStatusTextLength(BOOL restore_old_status_text);
|
||||
void updateControls();
|
||||
void updateResolution(BOOL do_update);
|
||||
void checkAspectRatio(S32 index);
|
||||
|
|
@ -66,7 +69,9 @@ private:
|
|||
LLUICtrl * mRefreshBtn;
|
||||
LLUICtrl * mWorkingLabel;
|
||||
LLUICtrl * mThumbnailPlaceholder;
|
||||
LLUICtrl * mStatusCounterLabel;
|
||||
LLUICtrl * mStatusTextBox;
|
||||
LLUICtrl * mLocationCheckbox;
|
||||
LLUICtrl * mPhotoCheckbox;
|
||||
LLUICtrl * mPostButton;
|
||||
LLUICtrl* mCancelButton;
|
||||
|
|
@ -116,7 +121,7 @@ public:
|
|||
static void postUpdate();
|
||||
|
||||
private:
|
||||
LLTwitterPhotoPanel* mSocialPhotoPanel;
|
||||
LLTwitterPhotoPanel* mTwitterPhotoPanel;
|
||||
LLTextBox* mStatusErrorText;
|
||||
LLTextBox* mStatusLoadingText;
|
||||
LLUICtrl* mStatusLoadingIndicator;
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
#include "llfloatersnapshot.h" // FIXME: create a snapshot model
|
||||
#include "llfloaterreg.h"
|
||||
#include "llfloatersocial.h"
|
||||
#include "llfloaterfacebook.h"
|
||||
#include "llfloaterflickr.h"
|
||||
#include "llfloatertwitter.h"
|
||||
|
||||
|
|
@ -144,12 +144,12 @@ void LLPanelSnapshotOptions::onSendToFacebook()
|
|||
{
|
||||
LLFloaterReg::hideInstance("snapshot");
|
||||
|
||||
LLFloaterSocial* social_floater = dynamic_cast<LLFloaterSocial*>(LLFloaterReg::getInstance("social"));
|
||||
if (social_floater)
|
||||
LLFloaterFacebook* facebook_floater = dynamic_cast<LLFloaterFacebook*>(LLFloaterReg::getInstance("facebook"));
|
||||
if (facebook_floater)
|
||||
{
|
||||
social_floater->showPhotoPanel();
|
||||
facebook_floater->showPhotoPanel();
|
||||
}
|
||||
LLFloaterReg::showInstance("social");
|
||||
LLFloaterReg::showInstance("facebook");
|
||||
}
|
||||
|
||||
void LLPanelSnapshotOptions::onSendToTwitter()
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
#include "lleconomy.h"
|
||||
#include "llfloaterperms.h"
|
||||
#include "llfloaterreg.h"
|
||||
#include "llfloatersocial.h"
|
||||
#include "llfloaterfacebook.h"
|
||||
#include "llfloaterflickr.h"
|
||||
#include "llfloatertwitter.h"
|
||||
#include "llimagebmp.h"
|
||||
|
|
@ -210,7 +210,7 @@ void LLSnapshotLivePreview::updateSnapshot(BOOL new_snapshot, BOOL new_thumbnail
|
|||
mSnapshotDelayTimer.start();
|
||||
mSnapshotDelayTimer.setTimerExpirySec(delay);
|
||||
LLFloaterSnapshot::preUpdate();
|
||||
LLFloaterSocial::preUpdate();
|
||||
LLFloaterFacebook::preUpdate();
|
||||
LLFloaterFlickr::preUpdate();
|
||||
LLFloaterTwitter::preUpdate();
|
||||
}
|
||||
|
|
@ -769,7 +769,7 @@ BOOL LLSnapshotLivePreview::onIdle( void* snapshot_preview )
|
|||
}
|
||||
lldebugs << "done creating snapshot" << llendl;
|
||||
LLFloaterSnapshot::postUpdate();
|
||||
LLFloaterSocial::postUpdate();
|
||||
LLFloaterFacebook::postUpdate();
|
||||
LLFloaterFlickr::postUpdate();
|
||||
LLFloaterTwitter::postUpdate();
|
||||
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@
|
|||
#include "llfloatereditwater.h"
|
||||
#include "llfloaterenvironmentsettings.h"
|
||||
#include "llfloaterevent.h"
|
||||
#include "llfloaterfacebook.h"
|
||||
#include "llfloaterflickr.h"
|
||||
#include "llfloaterfonttest.h"
|
||||
#include "llfloatergesture.h"
|
||||
|
|
@ -104,7 +105,6 @@
|
|||
#include "llfloatersettingsdebug.h"
|
||||
#include "llfloatersidepanelcontainer.h"
|
||||
#include "llfloatersnapshot.h"
|
||||
#include "llfloatersocial.h"
|
||||
#include "llfloatersounddevices.h"
|
||||
#include "llfloaterspellchecksettings.h"
|
||||
#include "llfloatertelehub.h"
|
||||
|
|
@ -306,9 +306,6 @@ void LLViewerFloaterReg::registerFloaters()
|
|||
LLFloaterReg::add("sell_land", "floater_sell_land.xml", &LLFloaterSellLand::buildFloater);
|
||||
LLFloaterReg::add("settings_debug", "floater_settings_debug.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSettingsDebug>);
|
||||
LLFloaterReg::add("sound_devices", "floater_sound_devices.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSoundDevices>);
|
||||
LLFloaterReg::add("social", "floater_social.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSocial>);
|
||||
LLFloaterReg::add("flickr", "floater_flickr.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterFlickr>);
|
||||
LLFloaterReg::add("twitter", "floater_twitter.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTwitter>);
|
||||
LLFloaterReg::add("stats", "floater_stats.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloater>);
|
||||
LLFloaterReg::add("start_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterRunQueue>);
|
||||
LLFloaterReg::add("stop_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotRunQueue>);
|
||||
|
|
@ -317,10 +314,15 @@ void LLViewerFloaterReg::registerFloaters()
|
|||
LLFloaterReg::add("my_profile", "floater_my_web_profile.xml", (LLFloaterBuildFunc)&LLFloaterWebProfile::create);
|
||||
LLFloaterReg::add("profile", "floater_web_profile.xml", (LLFloaterBuildFunc)&LLFloaterWebProfile::create);
|
||||
LLFloaterReg::add("how_to", "floater_how_to.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create);
|
||||
|
||||
LLFloaterReg::add("fbc_web", "floater_fbc_web.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create);
|
||||
LLFloaterReg::add("flickr_web", "floater_fbc_web.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create);
|
||||
LLFloaterReg::add("twitter_web", "floater_fbc_web.xml", (LLFloaterBuildFunc)&LLFloaterWebContent::create);
|
||||
|
||||
LLFloaterReg::add("facebook", "floater_facebook.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterFacebook>);
|
||||
LLFloaterReg::add("flickr", "floater_flickr.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterFlickr>);
|
||||
LLFloaterReg::add("twitter", "floater_twitter.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTwitter>);
|
||||
|
||||
LLFloaterUIPreviewUtil::registerFloater();
|
||||
LLFloaterReg::add("upload_anim_bvh", "floater_animation_bvh_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterBvhPreview>, "upload");
|
||||
LLFloaterReg::add("upload_anim_anim", "floater_animation_anim_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAnimPreview>, "upload");
|
||||
|
|
|
|||
|
|
@ -133,6 +133,8 @@ with the same filename but different name
|
|||
<texture name="Command_Chat_Icon" file_name="toolbar_icons/chat.png" preload="true" />
|
||||
<texture name="Command_Compass_Icon" file_name="toolbar_icons/land.png" preload="true" />
|
||||
<texture name="Command_Destinations_Icon" file_name="toolbar_icons/destinations.png" preload="true" />
|
||||
<texture name="Command_Facebook_Icon" file_name="toolbar_icons/facebook.png" preload="true" />
|
||||
<texture name="Command_Flickr_Icon" file_name="toolbar_icons/flickr.png" preload="true" />
|
||||
<texture name="Command_Gestures_Icon" file_name="toolbar_icons/gestures.png" preload="true" />
|
||||
<texture name="Command_HowTo_Icon" file_name="toolbar_icons/howto.png" preload="true" />
|
||||
<texture name="Command_Inventory_Icon" file_name="toolbar_icons/inventory.png" preload="true" />
|
||||
|
|
@ -148,11 +150,9 @@ with the same filename but different name
|
|||
<texture name="Command_Preferences_Icon" file_name="toolbar_icons/preferences.png" preload="true" />
|
||||
<texture name="Command_Profile_Icon" file_name="toolbar_icons/profile.png" preload="true" />
|
||||
<texture name="Command_Search_Icon" file_name="toolbar_icons/search.png" preload="true" />
|
||||
<texture name="Command_Social_Icon" file_name="toolbar_icons/facebook.png" preload="true" />
|
||||
<texture name="Command_Flickr_Icon" file_name="toolbar_icons/flickr.png" preload="true" />
|
||||
<texture name="Command_Twitter_Icon" file_name="toolbar_icons/twitter.png" preload="true" />
|
||||
<texture name="Command_Snapshot_Icon" file_name="toolbar_icons/snapshot.png" preload="true" />
|
||||
<texture name="Command_Speak_Icon" file_name="toolbar_icons/speak.png" preload="true" />
|
||||
<texture name="Command_Twitter_Icon" file_name="toolbar_icons/twitter.png" preload="true" />
|
||||
<texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" />
|
||||
<texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" />
|
||||
<texture name="Caret_Bottom_Icon" file_name="toolbar_icons/caret_bottom.png" preload="true" scale.left="1" scale.top="23" scale.right="15" scale.bottom="1" />
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
positioning="cascading"
|
||||
can_close="true"
|
||||
can_resize="false"
|
||||
help_topic="floater_social"
|
||||
help_topic="floater_facebook"
|
||||
layout="topleft"
|
||||
name="floater_social"
|
||||
name="floater_facebook"
|
||||
save_rect="true"
|
||||
single_instance="true"
|
||||
reuse_instance="true"
|
||||
|
|
@ -30,29 +30,29 @@
|
|||
height="437"
|
||||
halign="center">
|
||||
<panel
|
||||
filename="panel_social_status.xml"
|
||||
class="llsocialstatuspanel"
|
||||
filename="panel_facebook_status.xml"
|
||||
class="llfacebookstatuspanel"
|
||||
follows="all"
|
||||
label="STATUS"
|
||||
name="panel_social_status"/>
|
||||
name="panel_facebook_status"/>
|
||||
<panel
|
||||
filename="panel_social_photo.xml"
|
||||
class="llsocialphotopanel"
|
||||
filename="panel_facebook_photo.xml"
|
||||
class="llfacebookphotopanel"
|
||||
follows="all"
|
||||
label="PHOTO"
|
||||
name="panel_social_photo"/>
|
||||
name="panel_facebook_photo"/>
|
||||
<panel
|
||||
filename="panel_social_place.xml"
|
||||
class="llsocialcheckinpanel"
|
||||
filename="panel_facebook_place.xml"
|
||||
class="llfacebookcheckinpanel"
|
||||
follows="all"
|
||||
label="CHECK IN"
|
||||
name="panel_social_place"/>
|
||||
name="panel_facebook_place"/>
|
||||
<panel
|
||||
filename="panel_social_account.xml"
|
||||
class="llsocialaccountpanel"
|
||||
filename="panel_facebook_account.xml"
|
||||
class="llfacebookaccountpanel"
|
||||
follows="all"
|
||||
label="ACCOUNT"
|
||||
name="panel_social_account"/>
|
||||
name="panel_facebook_account"/>
|
||||
</tab_container>
|
||||
<panel
|
||||
name="connection_status_panel"
|
||||
|
|
@ -10,10 +10,10 @@
|
|||
single_instance="true"
|
||||
reuse_instance="true"
|
||||
title="TWITTER"
|
||||
height="482"
|
||||
height="502"
|
||||
width="304">
|
||||
<panel
|
||||
height="482"
|
||||
height="502"
|
||||
width="304"
|
||||
visible="true"
|
||||
name="background"
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
tab_height="30"
|
||||
tab_position="top"
|
||||
top="7"
|
||||
height="437"
|
||||
height="457"
|
||||
halign="center">
|
||||
<panel
|
||||
filename="panel_twitter_photo.xml"
|
||||
|
|
|
|||
|
|
@ -285,7 +285,7 @@
|
|||
name="Facebook">
|
||||
<menu_item_call.on_click
|
||||
function="Floater.Toggle"
|
||||
parameter="social"/>
|
||||
parameter="facebook"/>
|
||||
</menu_item_call>
|
||||
<menu_item_call
|
||||
label="Twitter..."
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
height="400"
|
||||
width="304"
|
||||
layout="topleft"
|
||||
name="panel_social_account">
|
||||
name="panel_facebook_account">
|
||||
<string
|
||||
name="facebook_connected"
|
||||
value="You are connected to Facebook as:" />
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
height="400"
|
||||
width="304"
|
||||
layout="topleft"
|
||||
name="panel_social_photo">
|
||||
name="panel_facebook_photo">
|
||||
<layout_stack
|
||||
layout="topleft"
|
||||
border_size="0"
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
height="400"
|
||||
width="304"
|
||||
layout="topleft"
|
||||
name="panel_social_place">
|
||||
name="panel_facebook_place">
|
||||
<layout_stack
|
||||
layout="topleft"
|
||||
border_size="0"
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
height="400"
|
||||
width="304"
|
||||
layout="topleft"
|
||||
name="panel_social_status">
|
||||
name="panel_facebook_status">
|
||||
<layout_stack
|
||||
layout="topleft"
|
||||
border_size="0"
|
||||
|
|
@ -1,19 +1,19 @@
|
|||
<panel
|
||||
height="400"
|
||||
height="420"
|
||||
width="304"
|
||||
layout="topleft"
|
||||
name="panel_twitter_photo">
|
||||
<layout_stack
|
||||
layout="topleft"
|
||||
border_size="0"
|
||||
height="392"
|
||||
height="412"
|
||||
follows="all"
|
||||
orientation="vertical"
|
||||
name="stack_photo"
|
||||
top="8">
|
||||
<layout_panel
|
||||
name="text_panel"
|
||||
height="140">
|
||||
height="160">
|
||||
<text
|
||||
length="1"
|
||||
follows="top|left|right"
|
||||
|
|
@ -25,6 +25,20 @@
|
|||
type="string">
|
||||
What's happening?
|
||||
</text>
|
||||
<text
|
||||
length="1"
|
||||
follows="top|left"
|
||||
font="SansSerif"
|
||||
text_color="EmphasisColor"
|
||||
halign="right"
|
||||
height="16"
|
||||
width="30"
|
||||
left="227"
|
||||
name="status_counter_label"
|
||||
top="3"
|
||||
type="string">
|
||||
140
|
||||
</text>
|
||||
<text_editor
|
||||
follows="left|top"
|
||||
height="87"
|
||||
|
|
@ -36,6 +50,14 @@
|
|||
type="string"
|
||||
word_wrap="true">
|
||||
</text_editor>
|
||||
<check_box
|
||||
follows="left|top"
|
||||
initial_value="true"
|
||||
label="Include SL location"
|
||||
name="add_location_cb"
|
||||
left="9"
|
||||
height="16"
|
||||
top_pad="10"/>
|
||||
<check_box
|
||||
follows="left|top"
|
||||
initial_value="true"
|
||||
|
|
|
|||
|
|
@ -3877,6 +3877,8 @@ Try enclosing path to the editor with double quotes.
|
|||
<string name="Command_Conversations_Label">Conversations</string>
|
||||
<string name="Command_Compass_Label">Compass</string>
|
||||
<string name="Command_Destinations_Label">Destinations</string>
|
||||
<string name="Command_Facebook_Label">Facebook</string>
|
||||
<string name="Command_Flickr_Label">Flickr</string>
|
||||
<string name="Command_Gestures_Label">Gestures</string>
|
||||
<string name="Command_HowTo_Label">How to</string>
|
||||
<string name="Command_Inventory_Label">Inventory</string>
|
||||
|
|
@ -3892,10 +3894,8 @@ Try enclosing path to the editor with double quotes.
|
|||
<string name="Command_Profile_Label">Profile</string>
|
||||
<string name="Command_Search_Label">Search</string>
|
||||
<string name="Command_Snapshot_Label">Snapshot</string>
|
||||
<string name="Command_Social_Label">Facebook</string>
|
||||
<string name="Command_Flickr_Label">Flickr</string>
|
||||
<string name="Command_Twitter_Label">Twitter</string>
|
||||
<string name="Command_Speak_Label">Speak</string>
|
||||
<string name="Command_Twitter_Label">Twitter</string>
|
||||
<string name="Command_View_Label">Camera controls</string>
|
||||
<string name="Command_Voice_Label">Voice settings</string>
|
||||
|
||||
|
|
@ -3907,6 +3907,8 @@ Try enclosing path to the editor with double quotes.
|
|||
<string name="Command_Conversations_Tooltip">Converse with everyone</string>
|
||||
<string name="Command_Compass_Tooltip">Compass</string>
|
||||
<string name="Command_Destinations_Tooltip">Destinations of interest</string>
|
||||
<string name="Command_Facebook_Tooltip">Post to Facebook</string>
|
||||
<string name="Command_Flickr_Tooltip">Upload to Flickr</string>
|
||||
<string name="Command_Gestures_Tooltip">Gestures for your avatar</string>
|
||||
<string name="Command_HowTo_Tooltip">How to do common tasks</string>
|
||||
<string name="Command_Inventory_Tooltip">View and use your belongings</string>
|
||||
|
|
@ -3922,10 +3924,8 @@ Try enclosing path to the editor with double quotes.
|
|||
<string name="Command_Profile_Tooltip">Edit or view your profile</string>
|
||||
<string name="Command_Search_Tooltip">Find places, events, people</string>
|
||||
<string name="Command_Snapshot_Tooltip">Take a picture</string>
|
||||
<string name="Command_Social_Tooltip">Post to Facebook</string>
|
||||
<string name="Command_Flickr_Tooltip">Upload to Flickr</string>
|
||||
<string name="Command_Twitter_Tooltip">Twitter</string>
|
||||
<string name="Command_Speak_Tooltip">Speak with people nearby using your microphone</string>
|
||||
<string name="Command_Twitter_Tooltip">Twitter</string>
|
||||
<string name="Command_View_Tooltip">Changing camera angle</string>
|
||||
<string name="Command_Voice_Tooltip">Volume controls for calls and people near you in world</string>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue