diff options
Diffstat (limited to 'linden')
-rw-r--r-- | linden/indra/llwindow/llwindow.h | 1 | ||||
-rw-r--r-- | linden/indra/llwindow/llwindowwin32.cpp | 12 | ||||
-rw-r--r-- | linden/indra/llwindow/llwindowwin32.h | 1 | ||||
-rw-r--r-- | linden/indra/newview/llimpanel.cpp | 37 | ||||
-rw-r--r-- | linden/indra/newview/llimpanel.h | 1 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/alerts.xml | 9 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/floater_instant_message.xml | 4 |
7 files changed, 64 insertions, 1 deletions
diff --git a/linden/indra/llwindow/llwindow.h b/linden/indra/llwindow/llwindow.h index 0acbcb9..0004e92 100644 --- a/linden/indra/llwindow/llwindow.h +++ b/linden/indra/llwindow/llwindow.h | |||
@@ -202,6 +202,7 @@ public: | |||
202 | virtual void updateLanguageTextInputArea() {} | 202 | virtual void updateLanguageTextInputArea() {} |
203 | virtual void interruptLanguageTextInput() {} | 203 | virtual void interruptLanguageTextInput() {} |
204 | virtual void spawnWebBrowser(const std::string& escaped_url) {}; | 204 | virtual void spawnWebBrowser(const std::string& escaped_url) {}; |
205 | virtual void ShellEx(const std::string& command) {}; | ||
205 | 206 | ||
206 | static std::string getFontListSans(); | 207 | static std::string getFontListSans(); |
207 | 208 | ||
diff --git a/linden/indra/llwindow/llwindowwin32.cpp b/linden/indra/llwindow/llwindowwin32.cpp index 2944511..a9c7758 100644 --- a/linden/indra/llwindow/llwindowwin32.cpp +++ b/linden/indra/llwindow/llwindowwin32.cpp | |||
@@ -2885,6 +2885,18 @@ S32 OSMessageBoxWin32(const std::string& text, const std::string& caption, U32 t | |||
2885 | return retval; | 2885 | return retval; |
2886 | } | 2886 | } |
2887 | 2887 | ||
2888 | void LLWindowWin32::ShellEx(const std::string& command ) | ||
2889 | { | ||
2890 | LLWString url_wstring = utf8str_to_wstring( command ); | ||
2891 | llutf16string url_utf16 = wstring_to_utf16str( url_wstring ); | ||
2892 | |||
2893 | SHELLEXECUTEINFO sei = { sizeof( sei ) }; | ||
2894 | sei.fMask = SEE_MASK_FLAG_DDEWAIT; | ||
2895 | sei.nShow = SW_SHOWNORMAL; | ||
2896 | sei.lpVerb = L"open"; | ||
2897 | sei.lpFile = url_utf16.c_str(); | ||
2898 | ShellExecuteEx( &sei ); | ||
2899 | } | ||
2888 | 2900 | ||
2889 | void LLWindowWin32::spawnWebBrowser(const std::string& escaped_url ) | 2901 | void LLWindowWin32::spawnWebBrowser(const std::string& escaped_url ) |
2890 | { | 2902 | { |
diff --git a/linden/indra/llwindow/llwindowwin32.h b/linden/indra/llwindow/llwindowwin32.h index 795fc79..bea55c6 100644 --- a/linden/indra/llwindow/llwindowwin32.h +++ b/linden/indra/llwindow/llwindowwin32.h | |||
@@ -110,6 +110,7 @@ public: | |||
110 | /*virtual*/ void updateLanguageTextInputArea(); | 110 | /*virtual*/ void updateLanguageTextInputArea(); |
111 | /*virtual*/ void interruptLanguageTextInput(); | 111 | /*virtual*/ void interruptLanguageTextInput(); |
112 | /*virtual*/ void spawnWebBrowser(const std::string& escaped_url); | 112 | /*virtual*/ void spawnWebBrowser(const std::string& escaped_url); |
113 | /*virtual*/ void ShellEx(const std::string& command); | ||
113 | 114 | ||
114 | static std::string getFontListSans(); | 115 | static std::string getFontListSans(); |
115 | 116 | ||
diff --git a/linden/indra/newview/llimpanel.cpp b/linden/indra/newview/llimpanel.cpp index 014c050..625da78 100644 --- a/linden/indra/newview/llimpanel.cpp +++ b/linden/indra/newview/llimpanel.cpp | |||
@@ -73,6 +73,7 @@ | |||
73 | #include "llhttpclient.h" | 73 | #include "llhttpclient.h" |
74 | #include "llmutelist.h" | 74 | #include "llmutelist.h" |
75 | #include "llstylemap.h" | 75 | #include "llstylemap.h" |
76 | #include <sys/stat.h> | ||
76 | 77 | ||
77 | // | 78 | // |
78 | // Constants | 79 | // Constants |
@@ -1269,6 +1270,7 @@ BOOL LLFloaterIMPanel::postBuild() | |||
1269 | 1270 | ||
1270 | childSetAction("profile_callee_btn", onClickProfile, this); | 1271 | childSetAction("profile_callee_btn", onClickProfile, this); |
1271 | childSetAction("group_info_btn", onClickGroupInfo, this); | 1272 | childSetAction("group_info_btn", onClickGroupInfo, this); |
1273 | childSetAction("history_btn", onClickHistory, this); | ||
1272 | 1274 | ||
1273 | childSetAction("start_call_btn", onClickStartCall, this); | 1275 | childSetAction("start_call_btn", onClickStartCall, this); |
1274 | childSetAction("end_call_btn", onClickEndCall, this); | 1276 | childSetAction("end_call_btn", onClickEndCall, this); |
@@ -1800,6 +1802,41 @@ void LLFloaterIMPanel::onClickProfile( void* userdata ) | |||
1800 | } | 1802 | } |
1801 | 1803 | ||
1802 | // static | 1804 | // static |
1805 | void LLFloaterIMPanel::onClickHistory( void* userdata ) | ||
1806 | { | ||
1807 | LLFloaterIMPanel* self = (LLFloaterIMPanel*) userdata; | ||
1808 | |||
1809 | if (self->mOtherParticipantUUID.notNull()) | ||
1810 | { | ||
1811 | struct stat fileInfo; | ||
1812 | int result; | ||
1813 | |||
1814 | std::string fullname = self->getTitle();; | ||
1815 | //gCacheName->getFullName(self->mOtherParticipantUUID, fullname); | ||
1816 | //if(fullname == "(Loading...)") | ||
1817 | std::string file_path = gDirUtilp->getPerAccountChatLogsDir() + "\\" + fullname + ".txt"; | ||
1818 | |||
1819 | // check if file exists by trying to get its attributes | ||
1820 | result = stat(file_path.c_str(), &fileInfo); | ||
1821 | if(result == 0) | ||
1822 | { | ||
1823 | char command[256]; | ||
1824 | sprintf(command, "\"%s\\%s.txt\"", gDirUtilp->getPerAccountChatLogsDir().c_str(),fullname.c_str()); | ||
1825 | gViewerWindow->getWindow()->ShellEx(command); | ||
1826 | |||
1827 | llinfos << command << llendl; | ||
1828 | } | ||
1829 | else | ||
1830 | { | ||
1831 | LLStringUtil::format_map_t args; | ||
1832 | args["[NAME]"] = fullname; | ||
1833 | gViewerWindow->alertXml("IMLogNotFound", args); | ||
1834 | llinfos << file_path << llendl; | ||
1835 | } | ||
1836 | } | ||
1837 | } | ||
1838 | |||
1839 | // static | ||
1803 | void LLFloaterIMPanel::onClickGroupInfo( void* userdata ) | 1840 | void LLFloaterIMPanel::onClickGroupInfo( void* userdata ) |
1804 | { | 1841 | { |
1805 | // Bring up the Profile window | 1842 | // Bring up the Profile window |
diff --git a/linden/indra/newview/llimpanel.h b/linden/indra/newview/llimpanel.h index 0f9c0f3..0699b12 100644 --- a/linden/indra/newview/llimpanel.h +++ b/linden/indra/newview/llimpanel.h | |||
@@ -230,6 +230,7 @@ public: | |||
230 | static void onTabClick( void* userdata ); | 230 | static void onTabClick( void* userdata ); |
231 | 231 | ||
232 | static void onClickProfile( void* userdata ); | 232 | static void onClickProfile( void* userdata ); |
233 | static void onClickHistory( void* userdata ); | ||
233 | static void onClickGroupInfo( void* userdata ); | 234 | static void onClickGroupInfo( void* userdata ); |
234 | static void onClickOfferTeleport( void* userdata ); | 235 | static void onClickOfferTeleport( void* userdata ); |
235 | static void onClickClose( void* userdata ); | 236 | static void onClickClose( void* userdata ); |
diff --git a/linden/indra/newview/skins/default/xui/en-us/alerts.xml b/linden/indra/newview/skins/default/xui/en-us/alerts.xml index edfe62c..24683f0 100644 --- a/linden/indra/newview/skins/default/xui/en-us/alerts.xml +++ b/linden/indra/newview/skins/default/xui/en-us/alerts.xml | |||
@@ -5222,6 +5222,15 @@ WARNING: Don't restore if you aren't sure where the object will go! | |||
5222 | </option> | 5222 | </option> |
5223 | </alert> | 5223 | </alert> |
5224 | 5224 | ||
5225 | <alert modal="true" name="IMLogNotFound"> | ||
5226 | <message name="message"> | ||
5227 | IM history could not be found for [NAME]. | ||
5228 | </message> | ||
5229 | <option name="OK"> | ||
5230 | OK | ||
5231 | </option> | ||
5232 | </alert> | ||
5233 | |||
5225 | <!-- [RLVa:KB] --> | 5234 | <!-- [RLVa:KB] --> |
5226 | <alert modal="true" name="FirstRLVGiveToRLV"> | 5235 | <alert modal="true" name="FirstRLVGiveToRLV"> |
5227 | <message name="message"> | 5236 | <message name="message"> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_instant_message.xml b/linden/indra/newview/skins/default/xui/en-us/floater_instant_message.xml index 9a60f57..22e7f1e 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_instant_message.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_instant_message.xml | |||
@@ -39,9 +39,11 @@ | |||
39 | <button bottom_delta="0" follows="left|top" font="SansSerif" | 39 | <button bottom_delta="0" follows="left|top" font="SansSerif" |
40 | halign="center" bottom ="-40" height="20" label="Offer Teleport" left_delta="85" | 40 | halign="center" bottom ="-40" height="20" label="Offer Teleport" left_delta="85" |
41 | mouse_opaque="true" name="offer_tp_btn" scale_image="true" width="102" /> | 41 | mouse_opaque="true" name="offer_tp_btn" scale_image="true" width="102" /> |
42 | <button bottom="-40" follows="left|top" halign="center" height="20" label="History" left_delta="107" | ||
43 | name="history_btn" visible="true" width="85" /> | ||
42 | <button bottom="-40" follows="left|top" halign="center" height="20" | 44 | <button bottom="-40" follows="left|top" halign="center" height="20" |
43 | image_overlay="icn_voice-call-start.tga" image_overlay_alignment="left" | 45 | image_overlay="icn_voice-call-start.tga" image_overlay_alignment="left" |
44 | label="Call" left_delta="107" name="start_call_btn" width="100" /> | 46 | label="Call" left_delta="92" name="start_call_btn" width="100" /> |
45 | <button bottom="-40" follows="left|top" halign="center" height="20" | 47 | <button bottom="-40" follows="left|top" halign="center" height="20" |
46 | image_overlay="icn_voice-call-end.tga" image_overlay_alignment="left" | 48 | image_overlay="icn_voice-call-end.tga" image_overlay_alignment="left" |
47 | label="End Call" left_delta="0" name="end_call_btn" pad_right="10" | 49 | label="End Call" left_delta="0" name="end_call_btn" pad_right="10" |