Fixed the History and Teleport panels in Instant Messages.
This commit is contained in:
@@ -202,6 +202,7 @@ public:
|
|||||||
virtual void updateLanguageTextInputArea() {}
|
virtual void updateLanguageTextInputArea() {}
|
||||||
virtual void interruptLanguageTextInput() {}
|
virtual void interruptLanguageTextInput() {}
|
||||||
virtual void spawnWebBrowser(const std::string& escaped_url) {};
|
virtual void spawnWebBrowser(const std::string& escaped_url) {};
|
||||||
|
virtual void ShellEx(const std::string& command) {};
|
||||||
|
|
||||||
static std::vector<std::string> getDynamicFallbackFontList();
|
static std::vector<std::string> getDynamicFallbackFontList();
|
||||||
|
|
||||||
|
|||||||
@@ -2918,6 +2918,19 @@ S32 OSMessageBoxWin32(const std::string& text, const std::string& caption, U32 t
|
|||||||
return retval;
|
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 )
|
void LLWindowWin32::spawnWebBrowser(const std::string& escaped_url )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ public:
|
|||||||
/*virtual*/ void updateLanguageTextInputArea();
|
/*virtual*/ void updateLanguageTextInputArea();
|
||||||
/*virtual*/ void interruptLanguageTextInput();
|
/*virtual*/ void interruptLanguageTextInput();
|
||||||
/*virtual*/ void spawnWebBrowser(const std::string& escaped_url);
|
/*virtual*/ void spawnWebBrowser(const std::string& escaped_url);
|
||||||
|
/*virtual*/ void ShellEx(const std::string& command);
|
||||||
|
|
||||||
static std::vector<std::string> getDynamicFallbackFontList();
|
static std::vector<std::string> getDynamicFallbackFontList();
|
||||||
|
|
||||||
|
|||||||
@@ -1290,7 +1290,9 @@ BOOL LLFloaterIMPanel::postBuild()
|
|||||||
mInputEditor->setReplaceNewlinesWithSpaces( FALSE );
|
mInputEditor->setReplaceNewlinesWithSpaces( FALSE );
|
||||||
|
|
||||||
childSetAction("profile_callee_btn", onClickProfile, this);
|
childSetAction("profile_callee_btn", onClickProfile, this);
|
||||||
|
childSetAction("profile_tele_btn", onClickTeleport, this);
|
||||||
childSetAction("group_info_btn", onClickGroupInfo, this);
|
childSetAction("group_info_btn", onClickGroupInfo, this);
|
||||||
|
childSetAction("history_btn", onClickHistory, this);
|
||||||
|
|
||||||
childSetAction("start_call_btn", onClickStartCall, this);
|
childSetAction("start_call_btn", onClickStartCall, this);
|
||||||
childSetAction("end_call_btn", onClickEndCall, 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
|
// static
|
||||||
void LLFloaterIMPanel::onClickGroupInfo( void* userdata )
|
void LLFloaterIMPanel::onClickGroupInfo( void* userdata )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -231,6 +231,8 @@ public:
|
|||||||
static void onTabClick( void* userdata );
|
static void onTabClick( void* userdata );
|
||||||
|
|
||||||
static void onClickProfile( void* userdata );
|
static void onClickProfile( void* userdata );
|
||||||
|
static void onClickHistory( void* userdata );
|
||||||
|
static void onClickTeleport( void* userdata );
|
||||||
static void onClickGroupInfo( void* userdata );
|
static void onClickGroupInfo( void* userdata );
|
||||||
static void onClickClose( void* userdata );
|
static void onClickClose( void* userdata );
|
||||||
static void onClickStartCall( void* userdata );
|
static void onClickStartCall( void* userdata );
|
||||||
|
|||||||
Reference in New Issue
Block a user