Fixed the History and Teleport panels in Instant Messages.
This commit is contained in:
@@ -202,6 +202,7 @@ public:
|
||||
virtual void updateLanguageTextInputArea() {}
|
||||
virtual void interruptLanguageTextInput() {}
|
||||
virtual void spawnWebBrowser(const std::string& escaped_url) {};
|
||||
virtual void ShellEx(const std::string& command) {};
|
||||
|
||||
static std::vector<std::string> getDynamicFallbackFontList();
|
||||
|
||||
|
||||
@@ -2918,6 +2918,19 @@ S32 OSMessageBoxWin32(const std::string& text, const std::string& caption, U32 t
|
||||
return retval;
|
||||
}
|
||||
|
||||
void LLWindowWin32::ShellEx(const std::string& command )
|
||||
{
|
||||
LLWString url_wstring = utf8str_to_wstring( command );
|
||||
llutf16string url_utf16 = wstring_to_utf16str( url_wstring );
|
||||
|
||||
SHELLEXECUTEINFO sei = { sizeof( sei ) };
|
||||
sei.fMask = SEE_MASK_FLAG_DDEWAIT;
|
||||
sei.nShow = SW_SHOWNORMAL;
|
||||
sei.lpVerb = L"open";
|
||||
sei.lpFile = url_utf16.c_str();
|
||||
ShellExecuteEx( &sei );
|
||||
}
|
||||
|
||||
|
||||
void LLWindowWin32::spawnWebBrowser(const std::string& escaped_url )
|
||||
{
|
||||
|
||||
@@ -111,6 +111,7 @@ public:
|
||||
/*virtual*/ void updateLanguageTextInputArea();
|
||||
/*virtual*/ void interruptLanguageTextInput();
|
||||
/*virtual*/ void spawnWebBrowser(const std::string& escaped_url);
|
||||
/*virtual*/ void ShellEx(const std::string& command);
|
||||
|
||||
static std::vector<std::string> getDynamicFallbackFontList();
|
||||
|
||||
|
||||
@@ -1290,7 +1290,9 @@ BOOL LLFloaterIMPanel::postBuild()
|
||||
mInputEditor->setReplaceNewlinesWithSpaces( FALSE );
|
||||
|
||||
childSetAction("profile_callee_btn", onClickProfile, this);
|
||||
childSetAction("profile_tele_btn", onClickTeleport, this);
|
||||
childSetAction("group_info_btn", onClickGroupInfo, this);
|
||||
childSetAction("history_btn", onClickHistory, this);
|
||||
|
||||
childSetAction("start_call_btn", onClickStartCall, this);
|
||||
childSetAction("end_call_btn", onClickEndCall, this);
|
||||
@@ -1776,6 +1778,36 @@ void LLFloaterIMPanel::onClickProfile( void* userdata )
|
||||
}
|
||||
}
|
||||
|
||||
//static
|
||||
void LLFloaterIMPanel::onClickTeleport( void* userdata )
|
||||
{
|
||||
// Bring up the Profile window
|
||||
LLFloaterIMPanel* self = (LLFloaterIMPanel*) userdata;
|
||||
|
||||
if (self->mOtherParticipantUUID.notNull())
|
||||
{
|
||||
handle_lure(self->getOtherParticipantID());
|
||||
//do a teleport to other part id
|
||||
//LLFloaterAvatarInfo::showFromDirectory(self->getOtherParticipantID());
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
void LLFloaterIMPanel::onClickHistory( void* userdata )
|
||||
{
|
||||
LLFloaterIMPanel* self = (LLFloaterIMPanel*) userdata;
|
||||
|
||||
if (self->mOtherParticipantUUID.notNull())
|
||||
{
|
||||
char command[256];
|
||||
std::string fullname(gDirUtilp->getScrubbedFileName(self->getTitle()));
|
||||
sprintf(command, "\"%s\\%s.txt\"", gDirUtilp->getPerAccountChatLogsDir().c_str(),fullname.c_str());
|
||||
gViewerWindow->getWindow()->ShellEx(command);
|
||||
|
||||
llinfos << command << llendl;
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
void LLFloaterIMPanel::onClickGroupInfo( void* userdata )
|
||||
{
|
||||
|
||||
@@ -231,6 +231,8 @@ public:
|
||||
static void onTabClick( void* userdata );
|
||||
|
||||
static void onClickProfile( void* userdata );
|
||||
static void onClickHistory( void* userdata );
|
||||
static void onClickTeleport( void* userdata );
|
||||
static void onClickGroupInfo( void* userdata );
|
||||
static void onClickClose( void* userdata );
|
||||
static void onClickStartCall( void* userdata );
|
||||
|
||||
Reference in New Issue
Block a user