From ef0057909fcf7eaee6bdff4a58492fd17ffdd9a4 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Wed, 11 May 2011 12:19:36 -0400 Subject: SH-1522 FIX removed old debugging code that generated avatar_lad_log.txt Old debugging code, should be very low risk to remove. --- indra/newview/llvoavatar.cpp | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 4767ba2bed..68637a7ed9 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -5414,18 +5414,6 @@ BOOL LLVOAvatar::loadAvatar() } } - // Uncomment to enable avatar_lad.xml debugging. - std::ofstream file; - file.open("avatar_lad.log"); - for( LLViewerVisualParam* param = (LLViewerVisualParam*) getFirstVisualParam(); - param; - param = (LLViewerVisualParam*) getNextVisualParam() ) - { - param->getInfo()->toStream(file); - file << std::endl; - } - - file.close(); return TRUE; } -- cgit v1.2.3 From b28492fbffd7bea9e7174260d66d5f52c76d24b2 Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Thu, 17 Nov 2011 23:17:26 +0000 Subject: STORM-1708 Adding ability to save/load scripts from file. --- doc/contributions.txt | 1 + indra/newview/llfilepicker.cpp | 15 +++++ indra/newview/llfilepicker.h | 2 + indra/newview/llfloaternamedesc.cpp | 21 ++++++ indra/newview/llfloaternamedesc.h | 10 ++- indra/newview/llpreviewscript.cpp | 78 +++++++++++++++++++--- indra/newview/llpreviewscript.h | 2 + indra/newview/llviewerfloaterreg.cpp | 3 +- indra/newview/llviewermenufile.cpp | 22 ++++++ indra/newview/skins/default/xui/en/menu_viewer.xml | 15 ++++- .../skins/default/xui/en/panel_script_ed.xml | 22 ++++-- 11 files changed, 174 insertions(+), 17 deletions(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 2b39e15e2a..9daef4035a 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -482,6 +482,7 @@ Ima Mechanique OPEN-76 STORM-959 STORM-1175 + STORM-1708 Imnotgoing Sideways Inma Rau Innula Zenovka diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index 4897cf1885..0801871409 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -58,6 +58,7 @@ LLFilePicker LLFilePicker::sInstance; #define SLOBJECT_FILTER L"Objects (*.slobject)\0*.slobject\0" #define RAW_FILTER L"RAW files (*.raw)\0*.raw\0" #define MODEL_FILTER L"Model files (*.dae)\0*.dae\0" +#define SCRIPT_FILTER L"Script files (*.lsl; *.txt)\0*.lsl;*.txt\0" #endif // @@ -213,6 +214,10 @@ BOOL LLFilePicker::setupFilter(ELoadFilter filter) mOFN.lpstrFilter = MODEL_FILTER \ L"\0"; break; + case FFLOAD_SCRIPT: + mOFN.lpstrFilter = SCRIPT_FILTER \ + L"\0"; + break; default: res = FALSE; break; @@ -497,6 +502,16 @@ BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename) L"Compressed Images (*.j2c)\0*.j2c\0" \ L"\0"; break; + case FFSAVE_SCRIPT: + if (filename.empty()) + { + wcsncpy( mFilesW,L"untitled.lsl", FILENAME_BUFFER_SIZE); + } + mOFN.lpstrDefExt = L"txt"; + mOFN.lpstrFilter = + L"LSL Files (*.lsl; *.txt)\0*.lsl;*.txt\0" + L"\0"; + break; default: return FALSE; } diff --git a/indra/newview/llfilepicker.h b/indra/newview/llfilepicker.h index cd843a8f33..a4d5d68ff5 100644 --- a/indra/newview/llfilepicker.h +++ b/indra/newview/llfilepicker.h @@ -84,6 +84,7 @@ public: FFLOAD_RAW = 8, FFLOAD_MODEL = 9, FFLOAD_COLLADA = 10, + FFLOAD_SCRIPT = 11, }; enum ESaveFilter @@ -103,6 +104,7 @@ public: FFSAVE_J2C = 12, FFSAVE_PNG = 13, FFSAVE_JPEG = 14, + FFSAVE_SCRIPT = 15, }; // open the dialog. This is a modal operation diff --git a/indra/newview/llfloaternamedesc.cpp b/indra/newview/llfloaternamedesc.cpp index ae95d4392a..4d4f9f57bf 100644 --- a/indra/newview/llfloaternamedesc.cpp +++ b/indra/newview/llfloaternamedesc.cpp @@ -204,3 +204,24 @@ BOOL LLFloaterSoundPreview::postBuild() getChild("ok_btn")->setCommitCallback(boost::bind(&LLFloaterNameDesc::onBtnOK, this)); return TRUE; } + + +//----------------------------------------------------------------------------- +// LLFloaterScriptPreview() +//----------------------------------------------------------------------------- + +LLFloaterScriptPreview::LLFloaterScriptPreview(const LLSD& filename ) + : LLFloaterNameDesc(filename) +{ + mIsAudio = TRUE; +} + +BOOL LLFloaterScriptPreview::postBuild() +{ + if (!LLFloaterNameDesc::postBuild()) + { + return FALSE; + } + getChild("ok_btn")->setCommitCallback(boost::bind(&LLFloaterNameDesc::onBtnOK, this)); + return TRUE; +} diff --git a/indra/newview/llfloaternamedesc.h b/indra/newview/llfloaternamedesc.h index 7381a6334a..69bbccaf80 100644 --- a/indra/newview/llfloaternamedesc.h +++ b/indra/newview/llfloaternamedesc.h @@ -51,6 +51,7 @@ protected: protected: BOOL mIsAudio; + bool mIsText; std::string mFilenameAndPath; std::string mFilename; @@ -62,5 +63,12 @@ public: LLFloaterSoundPreview(const LLSD& filename ); virtual BOOL postBuild(); }; - + +class LLFloaterScriptPreview : public LLFloaterNameDesc +{ +public: + LLFloaterScriptPreview(const LLSD& filename ); + virtual BOOL postBuild(); +}; + #endif // LL_LLFLOATERNAMEDESC_H diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index b19bf5d234..072df39514 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -35,6 +35,7 @@ #include "llcombobox.h" #include "lldir.h" #include "llexternaleditor.h" +#include "llfilepicker.h" #include "llfloaterreg.h" #include "llinventorydefines.h" #include "llinventorymodel.h" @@ -89,15 +90,15 @@ const std::string HELLO_LSL = "default\n" "{\n" - " state_entry()\n" - " {\n" - " llSay(0, \"Hello, Avatar!\");\n" - " }\n" + "\tstate_entry()\n" + "\t{\n" + "\t\tllOwnerSay(\"Hello, Avatar!\");\n" + "\t}\n" "\n" - " touch_start(integer total_number)\n" - " {\n" - " llSay(0, \"Touched.\");\n" - " }\n" + "\ttouch_start(integer total_number)\n" + "\t{\n" + "\t\tllSay(llDetectedKey(0), \"Touched.\");\n" + "\t}\n" "}\n"; const std::string HELP_LSL_PORTAL_TOPIC = "LSL_Portal"; @@ -503,6 +504,14 @@ void LLScriptEdCore::initMenu() menuItem = getChild("Keyword Help..."); menuItem->setClickCallback(boost::bind(&LLScriptEdCore::onBtnDynamicHelp, this)); + + menuItem = getChild("LoadFromFile"); + menuItem->setClickCallback(boost::bind(&LLScriptEdCore::onBtnLoadFromFile, this)); +// menuItem->setEnabledCallback(NULL); + + menuItem = getChild("SaveToFile"); + menuItem->setClickCallback(boost::bind(&LLScriptEdCore::onBtnSaveToFile, this)); + menuItem->setEnableCallback(boost::bind(&LLScriptEdCore::hasChanged, this)); } void LLScriptEdCore::setScriptText(const std::string& text, BOOL is_valid) @@ -1096,6 +1105,59 @@ BOOL LLScriptEdCore::handleKeyHere(KEY key, MASK mask) return FALSE; } +void LLScriptEdCore::onBtnLoadFromFile( void* data ) +{ + + LLScriptEdCore* self = (LLScriptEdCore*) data; + + LLFilePicker& file_picker = LLFilePicker::instance(); + if( !file_picker.getOpenFile( LLFilePicker::FFLOAD_SCRIPT ) ) + { + return; + } + + std::string filename = file_picker.getFirstFile(); + + std::ifstream fin(filename.c_str()); + + std::string line; + std::string linetotal; + self->mEditor->clear(); + while (!fin.eof()) + { + getline(fin,line); + line=line+"\n"; + self->mEditor->insertText(line); + + } + fin.close(); +} + +void LLScriptEdCore::onBtnSaveToFile( void* userdata ) +{ + + LLViewerStats::getInstance()->incStat( LLViewerStats::ST_LSL_SAVE_COUNT ); + + LLScriptEdCore* self = (LLScriptEdCore*) userdata; + + if( self->mSaveCallback ) + { + LLFilePicker& file_picker = LLFilePicker::instance(); + if( !file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT ) ) + { + return; + } + + std::string filename = file_picker.getFirstFile(); + std::string scriptText=self->mEditor->getText(); + std::ofstream fout(filename.c_str()); + fout<<(scriptText); + fout.close(); + self->mSaveCallback( self->mUserdata, FALSE ); + } +} + + /// --------------------------------------------------------------------------- /// LLScriptEdContainer /// --------------------------------------------------------------------------- diff --git a/indra/newview/llpreviewscript.h b/indra/newview/llpreviewscript.h index f86be615c4..f50e9322b0 100644 --- a/indra/newview/llpreviewscript.h +++ b/indra/newview/llpreviewscript.h @@ -98,6 +98,8 @@ public: static void onClickForward(void* userdata); static void onBtnInsertSample(void*); static void onBtnInsertFunction(LLUICtrl*, void*); + static void onBtnLoadFromFile(void*); + static void onBtnSaveToFile(void*); virtual bool hasAccelerators() const { return true; } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 273bf822bc..56c79f5b9f 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -292,9 +292,10 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterUIPreviewUtil::registerFloater(); LLFloaterReg::add("upload_anim", "floater_animation_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build, "upload"); LLFloaterReg::add("upload_image", "floater_image_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build, "upload"); - LLFloaterReg::add("upload_sound", "floater_sound_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build, "upload"); LLFloaterReg::add("upload_model", "floater_model_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build, "upload"); LLFloaterReg::add("upload_model_wizard", "floater_model_wizard.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); + LLFloaterReg::add("upload_script", "floater_script_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build, "upload"); + LLFloaterReg::add("upload_sound", "floater_sound_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build, "upload"); LLFloaterReg::add("voice_controls", "floater_voice_controls.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("voice_effect", "floater_voice_effect.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index 7e830e14bf..f23d0f6b72 100644 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -87,6 +87,14 @@ class LLFileEnableUpload : public view_listener_t } }; +class LLFileEnableUploadScript : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + return true; + } +}; + class LLFileEnableUploadModel : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -391,6 +399,20 @@ class LLFileUploadAnim : public view_listener_t } }; +class LLFileUploadScript : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + const std::string filename = upload_pick((void*)LLFilePicker::FFLOAD_SCRIPT); + if (!filename.empty()) + { + LLFloaterReg::showInstance("upload_script", LLSD(filename)); + } + + return true; + } +}; + class LLFileUploadBulk : public view_listener_t { bool handleEvent(const LLSD& userdata) diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 263d961be1..b9605e1ede 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1101,7 +1101,20 @@ - + + + + + diff --git a/indra/newview/skins/default/xui/en/panel_script_ed.xml b/indra/newview/skins/default/xui/en/panel_script_ed.xml index 8d42024386..f6a8af0973 100644 --- a/indra/newview/skins/default/xui/en/panel_script_ed.xml +++ b/indra/newview/skins/default/xui/en/panel_script_ed.xml @@ -54,12 +54,22 @@ label="Save" layout="topleft" name="Save" /> - - + + + + + Date: Fri, 18 Nov 2011 21:18:13 +0000 Subject: Reverting changes to Build => Upload menu. This change was mistakenly included from a follow on project that is incomplete. --- indra/newview/skins/default/xui/en/menu_viewer.xml | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index b9605e1ede..263d961be1 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1101,20 +1101,7 @@ - - - - - - -- cgit v1.2.3 From c1745ca4aa4b7d8eb113978eb850ca791dcf2255 Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Fri, 18 Nov 2011 21:55:40 +0000 Subject: Fixes .lsl not being appended if no extension is provided. --- indra/newview/llfloaternamedesc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llfloaternamedesc.cpp b/indra/newview/llfloaternamedesc.cpp index 4d4f9f57bf..66f0fc3cd7 100644 --- a/indra/newview/llfloaternamedesc.cpp +++ b/indra/newview/llfloaternamedesc.cpp @@ -213,7 +213,7 @@ BOOL LLFloaterSoundPreview::postBuild() LLFloaterScriptPreview::LLFloaterScriptPreview(const LLSD& filename ) : LLFloaterNameDesc(filename) { - mIsAudio = TRUE; + mIsText = TRUE; } BOOL LLFloaterScriptPreview::postBuild() -- cgit v1.2.3 From e875e0548b69d1cf141e3970a81aa3f0a5ff7ed3 Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Fri, 18 Nov 2011 22:56:31 +0000 Subject: Removing code associated with Build => Upload => Script previously reverted. --- indra/newview/llviewermenufile.cpp | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index f23d0f6b72..7e830e14bf 100644 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -87,14 +87,6 @@ class LLFileEnableUpload : public view_listener_t } }; -class LLFileEnableUploadScript : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - return true; - } -}; - class LLFileEnableUploadModel : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -399,20 +391,6 @@ class LLFileUploadAnim : public view_listener_t } }; -class LLFileUploadScript : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - const std::string filename = upload_pick((void*)LLFilePicker::FFLOAD_SCRIPT); - if (!filename.empty()) - { - LLFloaterReg::showInstance("upload_script", LLSD(filename)); - } - - return true; - } -}; - class LLFileUploadBulk : public view_listener_t { bool handleEvent(const LLSD& userdata) -- cgit v1.2.3 From eeefec394c932b79a22c5ea2b8aa03690bb6061e Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Wed, 23 Nov 2011 01:30:15 +0000 Subject: Changes to filter out tabs from file load and to test if loading/saving should be allowed. --- indra/llui/lltexteditor.cpp | 26 ++++++++++++++++++ indra/llui/lltexteditor.h | 5 ++++ indra/newview/llfilepicker.cpp | 12 +-------- indra/newview/llpreviewscript.cpp | 56 +++++++++++++++++++++++++++++++++------ indra/newview/llpreviewscript.h | 4 +++ 5 files changed, 84 insertions(+), 19 deletions(-) diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp index 9bd445988d..3a23ce1cac 100644 --- a/indra/llui/lltexteditor.cpp +++ b/indra/llui/lltexteditor.cpp @@ -2250,6 +2250,22 @@ void LLTextEditor::insertText(const std::string &new_text) setEnabled( enabled ); } +void LLTextEditor::insertText(LLWString &new_text) +{ + BOOL enabled = getEnabled(); + setEnabled( TRUE ); + + // Delete any selected characters (the insertion replaces them) + if( hasSelection() ) + { + deleteSelection(TRUE); + } + + setCursorPos(mCursorPos + insert( mCursorPos, new_text, FALSE, LLTextSegmentPtr() )); + + setEnabled( enabled ); +} + void LLTextEditor::appendWidget(const LLInlineViewSegment::Params& params, const std::string& text, bool allow_undo) { // Save old state @@ -2838,3 +2854,13 @@ void LLTextEditor::clear() getViewModel()->setDisplay(LLWStringUtil::null); clearSegments(); } + +bool LLTextEditor::canLoadOrSaveToFile() +{ + return !mReadOnly; +} + +S32 LLTextEditor::spacesPerTab() +{ + return SPACES_PER_TAB; +} diff --git a/indra/llui/lltexteditor.h b/indra/llui/lltexteditor.h index 9e4b95003b..40821ae9fb 100644 --- a/indra/llui/lltexteditor.h +++ b/indra/llui/lltexteditor.h @@ -92,6 +92,8 @@ public: void setParseHighlights(BOOL parsing) {mParseHighlights=parsing;} + static S32 spacesPerTab(); + // mousehandler overrides virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask); virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); @@ -140,6 +142,8 @@ public: virtual void selectAll(); virtual BOOL canSelectAll() const; + virtual bool canLoadOrSaveToFile(); + void selectNext(const std::string& search_text_in, BOOL case_insensitive, BOOL wrap = TRUE); BOOL replaceText(const std::string& search_text, const std::string& replace_text, BOOL case_insensitive, BOOL wrap = TRUE); void replaceTextAll(const std::string& search_text, const std::string& replace_text, BOOL case_insensitive); @@ -158,6 +162,7 @@ public: // inserts text at cursor void insertText(const std::string &text); + void insertText(LLWString &text); void appendWidget(const LLInlineViewSegment::Params& params, const std::string& text, bool allow_undo); // Non-undoable diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index 0801871409..3cbc4e5648 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -58,7 +58,7 @@ LLFilePicker LLFilePicker::sInstance; #define SLOBJECT_FILTER L"Objects (*.slobject)\0*.slobject\0" #define RAW_FILTER L"RAW files (*.raw)\0*.raw\0" #define MODEL_FILTER L"Model files (*.dae)\0*.dae\0" -#define SCRIPT_FILTER L"Script files (*.lsl; *.txt)\0*.lsl;*.txt\0" +#define SCRIPT_FILTER L"Script files (*.lsl)\0*.lsl\0" #endif // @@ -502,16 +502,6 @@ BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename) L"Compressed Images (*.j2c)\0*.j2c\0" \ L"\0"; break; - case FFSAVE_SCRIPT: - if (filename.empty()) - { - wcsncpy( mFilesW,L"untitled.lsl", FILENAME_BUFFER_SIZE); - } - mOFN.lpstrDefExt = L"txt"; - mOFN.lpstrFilter = - L"LSL Files (*.lsl; *.txt)\0*.lsl;*.txt\0" - L"\0"; - break; default: return FALSE; } diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 072df39514..16b582d188 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -507,11 +507,11 @@ void LLScriptEdCore::initMenu() menuItem = getChild("LoadFromFile"); menuItem->setClickCallback(boost::bind(&LLScriptEdCore::onBtnLoadFromFile, this)); -// menuItem->setEnabledCallback(NULL); + menuItem->setEnableCallback(boost::bind(&LLScriptEdCore::enableLoadFromFileMenu, this)); menuItem = getChild("SaveToFile"); menuItem->setClickCallback(boost::bind(&LLScriptEdCore::onBtnSaveToFile, this)); - menuItem->setEnableCallback(boost::bind(&LLScriptEdCore::hasChanged, this)); + menuItem->setEnableCallback(boost::bind(&LLScriptEdCore::enableSaveToFileMenu, this)); } void LLScriptEdCore::setScriptText(const std::string& text, BOOL is_valid) @@ -1107,9 +1107,17 @@ BOOL LLScriptEdCore::handleKeyHere(KEY key, MASK mask) void LLScriptEdCore::onBtnLoadFromFile( void* data ) { - LLScriptEdCore* self = (LLScriptEdCore*) data; - +/* + if( self->isDirty()) + { + llwarns << "Script has unsaved changes, loading from disc aborted." << llendl; + LLStringBase::format_map_t args; + args["[REASON]"] = std::string("Existing script has unsaved changes. You must save this script before loading from disc."); + gViewerWindow->alertXml("LoadDiskScriptFailReason", args); + return; + } +*/ LLFilePicker& file_picker = LLFilePicker::instance(); if( !file_picker.getOpenFile( LLFilePicker::FFLOAD_SCRIPT ) ) { @@ -1121,16 +1129,27 @@ void LLScriptEdCore::onBtnLoadFromFile( void* data ) std::ifstream fin(filename.c_str()); std::string line; + std::string text; std::string linetotal; - self->mEditor->clear(); while (!fin.eof()) { getline(fin,line); - line=line+"\n"; - self->mEditor->insertText(line); - + text += line; + if (!fin.eof()) + { + text += "\n"; + } } fin.close(); + + // Only replace the script if there is something to replace with. + if (text.length() > 0) + { + self->mEditor->selectAll(); + LLWString script(utf8str_to_wstring(text)); + LLWStringUtil::replaceTabsWithSpaces(script, self->mEditor->spacesPerTab()); + self->mEditor->insertText(script); + } } void LLScriptEdCore::onBtnSaveToFile( void* userdata ) @@ -1157,6 +1176,27 @@ void LLScriptEdCore::onBtnSaveToFile( void* userdata ) } } +bool LLScriptEdCore::canLoadOrSaveToFile( void* userdata ) +{ + LLScriptEdCore* self = (LLScriptEdCore*) userdata; + return self->mEditor->canLoadOrSaveToFile(); +} + +// static +bool LLScriptEdCore::enableSaveToFileMenu(void* userdata) +{ + LLScriptEdCore* self = (LLScriptEdCore*)userdata; + if (!self || !self->mEditor) return FALSE; + return self->mEditor->canLoadOrSaveToFile(); +} + +// static +bool LLScriptEdCore::enableLoadFromFileMenu(void* userdata) +{ + LLScriptEdCore* self = (LLScriptEdCore*)userdata; + if (!self || !self->mEditor) return FALSE; + return self->mEditor->canLoadOrSaveToFile(); +} /// --------------------------------------------------------------------------- /// LLScriptEdContainer diff --git a/indra/newview/llpreviewscript.h b/indra/newview/llpreviewscript.h index f50e9322b0..7563cecd9d 100644 --- a/indra/newview/llpreviewscript.h +++ b/indra/newview/llpreviewscript.h @@ -79,6 +79,7 @@ public: /*virtual*/ BOOL postBuild(); BOOL canClose(); void setEnableEditing(bool enable); + bool canLoadOrSaveToFile( void* userdata ); void setScriptText(const std::string& text, BOOL is_valid); bool loadScriptText(const std::string& filename); @@ -101,6 +102,9 @@ public: static void onBtnLoadFromFile(void*); static void onBtnSaveToFile(void*); + static bool enableSaveToFileMenu(void* userdata); + static bool enableLoadFromFileMenu(void* userdata); + virtual bool hasAccelerators() const { return true; } private: -- cgit v1.2.3 From 413cd15f070c6c0406026c96e0b70698120366ef Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Thu, 24 Nov 2011 12:48:17 +0000 Subject: Fixed accidental change to HELLO_WORLD script. --- indra/newview/llpreviewscript.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 16b582d188..0a429269ba 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -90,15 +90,15 @@ const std::string HELLO_LSL = "default\n" "{\n" - "\tstate_entry()\n" - "\t{\n" - "\t\tllOwnerSay(\"Hello, Avatar!\");\n" - "\t}\n" + " state_entry()\n" + " {\n" + " llOwnerSay(\"Hello, Avatar!\");\n" + " }\n" "\n" - "\ttouch_start(integer total_number)\n" - "\t{\n" - "\t\tllSay(llDetectedKey(0), \"Touched.\");\n" - "\t}\n" + " touch_start(integer total_number)\n" + " {\n" + " llSay(llDetectedKey(0), \"Touched.\");\n" + " }\n" "}\n"; const std::string HELP_LSL_PORTAL_TOPIC = "LSL_Portal"; -- cgit v1.2.3 From 5535722ea5c2f64a25ca569c930e969f2e989af9 Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Thu, 1 Dec 2011 12:31:56 +0000 Subject: STORM-1708 Linux UI additions --- indra/newview/llfilepicker.cpp | 14 +++++++++++++- indra/newview/skins/default/xui/en/strings.xml | 5 +++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index 3cbc4e5648..d259e02452 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -1197,7 +1197,12 @@ static std::string add_imageload_filter_to_gtkchooser(GtkWindow *picker) add_common_filters_to_gtkchooser(gfilter, picker, filtername); return filtername; } - + +static std::string add_script_filter_to_gtkchooser(GtkWindow *picker) +{ + return add_simple_mime_filter_to_gtkchooser(picker, "text/plain", + LLTrans::getString("script_files") + " (*.lsl)"); +} BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename ) { @@ -1263,6 +1268,10 @@ BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename LLTrans::getString("compressed_image_files") + " (*.j2c)"); suggest_ext = ".j2c"; break; + case FFSAVE_SCRIPT: + caption += add_script_filter_to_gtkchooser(picker); + suggest_ext = ".lsl"; + break; default:; break; } @@ -1328,6 +1337,9 @@ BOOL LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking ) case FFLOAD_IMAGE: filtername = add_imageload_filter_to_gtkchooser(picker); break; + case FFLOAD_SCRIPT: + filtername = add_script_filter_to_gtkchooser(picker); + break; default:; break; } diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index befcc5dd87..0d26465dfa 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -427,9 +427,10 @@ Please try logging in again in a minute. Compressed Images Load Files Choose Directory + Scripts - - + Sleeps script for [SLEEP_TIME] seconds. -- cgit v1.2.3 From b89c1ac482eeef7a4ab050186a6c425a5167c504 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Tue, 6 Dec 2011 09:53:09 -0500 Subject: STORM-1727 Dates displayed incorrectly in group profile. year "2035" --- doc/contributions.txt | 1 + indra/newview/llpanelgrouplandmoney.cpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 9f6de781b4..aa8f006044 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -589,6 +589,7 @@ Jonathan Yap STORM-1659 STORM-1674 STORM-1685 + STORM-1727 Kadah Coba STORM-1060 Jondan Lundquist diff --git a/indra/newview/llpanelgrouplandmoney.cpp b/indra/newview/llpanelgrouplandmoney.cpp index e66dd5690c..363443646d 100644 --- a/indra/newview/llpanelgrouplandmoney.cpp +++ b/indra/newview/llpanelgrouplandmoney.cpp @@ -1062,7 +1062,7 @@ void LLGroupMoneyDetailsTabEventHandler::processReply(LLMessageSystem* msg, // We don't do time zone corrections of the calculated number of seconds // because we don't have a full time stamp, only a date. - substitution["datetime"] = LLDateUtil::secondsSinceEpochFromString("%A %b %d, %Y", start_date); + substitution["datetime"] = LLDateUtil::secondsSinceEpochFromString("%Y-%m-%d", start_date); LLStringUtil::format (time_str, substitution); if ( interval_days != mImplementationp->mIntervalLength || @@ -1217,7 +1217,7 @@ void LLGroupMoneySalesTabEventHandler::processReply(LLMessageSystem* msg, // We don't do time zone corrections of the calculated number of seconds // because we don't have a full time stamp, only a date. - substitution["datetime"] = LLDateUtil::secondsSinceEpochFromString("%A %b %d, %Y", start_date); + substitution["datetime"] = LLDateUtil::secondsSinceEpochFromString("%Y-%m-%d", start_date); LLStringUtil::format (time_str, substitution); text = time_str + "\n\n"; -- cgit v1.2.3 From a78894285aebe73025445078ebeba45f262e16e4 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Tue, 6 Dec 2011 10:03:26 -0500 Subject: STORM-1725 Truncation of UI element Preferences->General->Busy mode response --- doc/contributions.txt | 1 + indra/newview/skins/default/xui/en/panel_preferences_general.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 9f6de781b4..4ca2f5aab3 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -589,6 +589,7 @@ Jonathan Yap STORM-1659 STORM-1674 STORM-1685 + STORM-1725 Kadah Coba STORM-1060 Jondan Lundquist diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index 4079a80924..9827180aa7 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -420,7 +420,7 @@ follows="left|top" height="29" layout="topleft" - left="50" + left="30" name="busy_response" width="470" word_wrap="true"> -- cgit v1.2.3 From 9890e5cbed50c8388f8159a73c8ce672a61bd576 Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Wed, 7 Dec 2011 21:37:08 +0000 Subject: STORM-1708 Darwin UI additions --- indra/newview/llfilepicker.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index d259e02452..ceb4060bc2 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -625,6 +625,14 @@ Boolean LLFilePicker::navOpenFilterProc(AEDesc *theItem, void *info, void *callB result = false; } } + else if (filter == FFLOAD_SCRIPT) + { + if (fileInfo.filetype != 'LSL ' && + (fileInfo.extension && (CFStringCompare(fileInfo.extension, CFSTR("lsl"), kCFCompareCaseInsensitive) != kCFCompareEqualTo)) ) + { + result = false; + } + } if (fileInfo.extension) { @@ -771,6 +779,12 @@ OSStatus LLFilePicker::doNavSaveDialog(ESaveFilter filter, const std::string& fi extension = CFSTR(".j2c"); break; + case FFSAVE_SCRIPT: + type = 'LSL '; + creator = '\?\?\?\?'; + extension = CFSTR(".lsl"); + break; + case FFSAVE_ALL: default: type = '\?\?\?\?'; -- cgit v1.2.3 From 468543c944b073af41a3cf7f6dfe73f097c2eb2d Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Thu, 8 Dec 2011 10:33:23 +0000 Subject: Reverting the changes to default script which leaked in from another project ;-) --- indra/newview/llpreviewscript.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 0a429269ba..62603a2e07 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -90,15 +90,15 @@ const std::string HELLO_LSL = "default\n" "{\n" - " state_entry()\n" - " {\n" - " llOwnerSay(\"Hello, Avatar!\");\n" - " }\n" + " state_entry()\n" + " {\n" + " llSay(0, \"Hello, Avatar!\");\n" + " }\n" "\n" - " touch_start(integer total_number)\n" - " {\n" - " llSay(llDetectedKey(0), \"Touched.\");\n" - " }\n" + " touch_start(integer total_number)\n" + " {\n" + " llSay(0, \"Touched.\");\n" + " }\n" "}\n"; const std::string HELP_LSL_PORTAL_TOPIC = "LSL_Portal"; -- cgit v1.2.3 From 04d5ba4ab982eed493502dca228134191acb78da Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Fri, 9 Dec 2011 09:51:25 +0000 Subject: General cleanup of new code (removing commented lines, experimetal stuff), adding some comments per RB feedback. --- indra/newview/llpreviewscript.cpp | 15 ++------ indra/newview/skins/default/xui/en/strings.xml | 52 +++++++++++++------------- 2 files changed, 30 insertions(+), 37 deletions(-) diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 62603a2e07..cab30b1295 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -1108,19 +1108,12 @@ BOOL LLScriptEdCore::handleKeyHere(KEY key, MASK mask) void LLScriptEdCore::onBtnLoadFromFile( void* data ) { LLScriptEdCore* self = (LLScriptEdCore*) data; -/* - if( self->isDirty()) - { - llwarns << "Script has unsaved changes, loading from disc aborted." << llendl; - LLStringBase::format_map_t args; - args["[REASON]"] = std::string("Existing script has unsaved changes. You must save this script before loading from disc."); - gViewerWindow->alertXml("LoadDiskScriptFailReason", args); - return; - } -*/ + + // TODO Maybe add a dialogue warning here if the current file has unsaved changes. LLFilePicker& file_picker = LLFilePicker::instance(); if( !file_picker.getOpenFile( LLFilePicker::FFLOAD_SCRIPT ) ) { + //File picking cancelled by user, so nothing to do. return; } @@ -1147,7 +1140,6 @@ void LLScriptEdCore::onBtnLoadFromFile( void* data ) { self->mEditor->selectAll(); LLWString script(utf8str_to_wstring(text)); - LLWStringUtil::replaceTabsWithSpaces(script, self->mEditor->spacesPerTab()); self->mEditor->insertText(script); } } @@ -1164,6 +1156,7 @@ void LLScriptEdCore::onBtnSaveToFile( void* userdata ) LLFilePicker& file_picker = LLFilePicker::instance(); if( !file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT ) ) { + //File picking cancelled by user, so nothing to do. return; } diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 0d26465dfa..f962ff0aee 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -88,7 +88,7 @@ We are very sorry for the inconvenience. Logins are currently restricted to employees only. Check www.secondlife.com/status for updates. Second Life logins are temporarily restricted in order to make sure that those in-world have the best possible experience. - + People with free accounts will not be able to access Second Life during this time, to make room for those who have paid for Second Life. Second Life cannot be accessed from this computer. If you feel this is an error, please contact @@ -168,7 +168,7 @@ Please try logging in again in a minute. You are wearing one or more of these objects. Remove them from your avatar and try moving them again. This folder has too many levels of subfolders. Rearrange the interior folders to a maximum of 4 levels deep (Root Folder contains A contains B contains C). This folder contains more than 200 objects. Box some of the items to reduce the object count. - + Click to view this web page Click to view this location's information @@ -188,7 +188,7 @@ Please try logging in again in a minute. Click to view this object's description Click to view this location on a map Click to run the secondlife:// command - + Teleport to @@ -427,7 +427,7 @@ Please try logging in again in a minute. Compressed Images Load Files Choose Directory - Scripts + Scripts Shirt not worn Pants not worn @@ -1988,7 +1988,7 @@ Returns a string with the requested data about the region New [WEARABLE_ITEM] - + Next @@ -2314,7 +2314,7 @@ Returns a string with the requested data about the region Error: script information is only available in your current region Retrieving information... You do not have permission to examine this parcel - + Sitting On Chest Head @@ -2354,7 +2354,7 @@ Returns a string with the requested data about the region HUD Bottom Left HUD Bottom HUD Bottom Right - + Line [LINE], Column [COLUMN] @@ -2367,7 +2367,7 @@ Returns a string with the requested data about the region Content of object - New Script + New Script The Resident you messaged is in 'busy mode' which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing. @@ -2397,7 +2397,7 @@ Returns a string with the requested data about the region Clicks: [TELEPORT] teleport, [MAP] map, [PROFILE] profile (will update after publish) - + You haven't created any Picks or Classifieds. Click the Plus button below to create a Pick or Classified. User has no picks or classifieds @@ -3274,7 +3274,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. You have blocked this Resident. Sending a message will automatically unblock them. @@ -3300,7 +3300,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. You are not a session moderator. @@ -3313,12 +3313,12 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Unable to add users to chat session with [RECIPIENT]. Unable to send your message to the chat session with [RECIPIENT]. - + Unable to send your message to the chat session with [RECIPIENT]. @@ -3326,7 +3326,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Error while moderating. @@ -3347,9 +3347,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. The session initialization is timed out - + Home position set. - + http://secondlife.com/landing/voicemorphing @@ -3367,20 +3367,20 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. to join a group to upload to publish a classified ad - + Giving L$ [AMOUNT] Uploading costs L$ [AMOUNT] This costs L$ [AMOUNT] Buying selected land for L$ [AMOUNT] This object costs L$ [AMOUNT] - + Everyone Officers Owners Online Uploading... - + Abuse Report @@ -3474,23 +3474,23 @@ Abuse Report [mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt] - + none/none Can't load images larger than [WIDTH]*[HEIGHT] - + Despite our best efforts, something unexpected has gone wrong. - Please check status.secondlifegrid.net to see if there is a known problem with the service. + Please check status.secondlifegrid.net to see if there is a known problem with the service. If you continue to experience problems, please check your network and firewall setup. - Sunday:Monday:Tuesday:Wednesday:Thursday:Friday:Saturday Sun:Mon:Tue:Wed:Thu:Fri:Sat @@ -3523,7 +3523,7 @@ Abuse Report Delete selected item? There are no items in this outfit - + Select an editor using the ExternalEditor setting. Cannot find the external editor you specified. -- cgit v1.2.3 From ef08cd9dc619f692ce4e13ba1268c117a75ab2bf Mon Sep 17 00:00:00 2001 From: "Debi King (Dessie)" Date: Wed, 21 Dec 2011 17:55:12 -0500 Subject: Added tag DRTVWR-106_3.2.5-beta1, 3.2.5-beta1 for changeset 3d2d5d244c63 --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 539efb0ffc..97e0cc033c 100644 --- a/.hgtags +++ b/.hgtags @@ -232,3 +232,5 @@ a8c7030d6845186fac7c188be4323a0e887b4184 3.2.1-release 3fe994349fae64fc40874bb59db387131eb35a41 DRTVWR-104_3.2.4-beta1 3fe994349fae64fc40874bb59db387131eb35a41 3.2.4-beta1 8a44ff3d2104269ce76145c2772cf1bdff2a2abe 3.2.5-start +3d2d5d244c6398a4214c666d5dd3965b0918709a DRTVWR-106_3.2.5-beta1 +3d2d5d244c6398a4214c666d5dd3965b0918709a 3.2.5-beta1 -- cgit v1.2.3 From 8a3aa3f6cac3da0ee962dac211580a7987a4fc31 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Fri, 23 Dec 2011 12:06:36 -0500 Subject: STORM-1790 Provide a Develop sub-menu to change the default logging level co-authored with Zi Ree --- doc/contributions.txt | 2 + indra/llcommon/llerror.cpp | 6 +++ indra/llcommon/llerrorcontrol.h | 1 + indra/newview/llviewermenu.cpp | 27 +++++++++++ indra/newview/skins/default/xui/en/menu_login.xml | 53 +++++++++++++++++++++- indra/newview/skins/default/xui/en/menu_viewer.xml | 51 +++++++++++++++++++++ 6 files changed, 139 insertions(+), 1 deletion(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 1a3fc680bc..5eea015ae4 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -603,6 +603,7 @@ Jonathan Yap STORM-653 STORM-1737 STORM-1733 + STORM-1790 Kadah Coba STORM-1060 Jondan Lundquist @@ -1254,6 +1255,7 @@ Zi Ree VWR-1140 VWR-24017 VWR-25588 + STORM-1790 Zipherius Turas VWR-76 VWR-77 diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index c35799bbb9..e4381dbbd6 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -617,6 +617,12 @@ namespace LLError s.defaultLevel = level; } + ELevel getDefaultLevel() + { + Settings& s = Settings::get(); + return s.defaultLevel; + } + void setFunctionLevel(const std::string& function_name, ELevel level) { Globals& g = Globals::get(); diff --git a/indra/llcommon/llerrorcontrol.h b/indra/llcommon/llerrorcontrol.h index fb75d45e2c..ed9de002f5 100644 --- a/indra/llcommon/llerrorcontrol.h +++ b/indra/llcommon/llerrorcontrol.h @@ -75,6 +75,7 @@ namespace LLError LL_COMMON_API void setPrintLocation(bool); LL_COMMON_API void setDefaultLevel(LLError::ELevel); + LL_COMMON_API ELevel getDefaultLevel(); LL_COMMON_API void setFunctionLevel(const std::string& function_name, LLError::ELevel); LL_COMMON_API void setClassLevel(const std::string& class_name, LLError::ELevel); LL_COMMON_API void setFileLevel(const std::string& file_name, LLError::ELevel); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 3a1b8d7623..0104d35e53 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2203,6 +2203,30 @@ class LLAdvancedEnableToggleHackedGodmode : public view_listener_t //// Advanced menu ////------------------------------------------------------------------- + +////////////////// +// DEVELOP MENU // +////////////////// + +class LLDevelopCheckLoggingLevel : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + U32 level = userdata.asInteger(); + return (static_cast(level) == LLError::getDefaultLevel()); + } +}; + +class LLDevelopSetLoggingLevel : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + U32 level = userdata.asInteger(); + LLError::setDefaultLevel(static_cast(level)); + return true; + } +}; + ////////////////// // ADMIN MENU // ////////////////// @@ -8195,6 +8219,9 @@ void initialize_menus() view_listener_t::addMenu(new LLAdvancedRequestAdminStatus(), "Advanced.RequestAdminStatus"); view_listener_t::addMenu(new LLAdvancedLeaveAdminStatus(), "Advanced.LeaveAdminStatus"); + // Develop >Set logging level + view_listener_t::addMenu(new LLDevelopCheckLoggingLevel(), "Develop.CheckLoggingLevel"); + view_listener_t::addMenu(new LLDevelopSetLoggingLevel(), "Develop.SetLoggingLevel"); // Admin >Object view_listener_t::addMenu(new LLAdminForceTakeCopy(), "Admin.ForceTakeCopy"); diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 8ac1ac9e09..101e104eab 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -174,7 +174,58 @@ function="Advanced.WebContentTest" parameter="http://google.com"/> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From 032a5e45728597106e07d2d22de3799aaaaf4923 Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Sun, 25 Dec 2011 23:09:32 +0000 Subject: Replacing file filter for windows that was mistakenly removed. --- indra/newview/llfilepicker.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index ceb4060bc2..8024755e86 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -502,6 +502,14 @@ BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename) L"Compressed Images (*.j2c)\0*.j2c\0" \ L"\0"; break; + case FFSAVE_SCRIPT: + if (filename.empty()) + { + wcsncpy( mFilesW,L"untitled.lsl", FILENAME_BUFFER_SIZE); + } + mOFN.lpstrDefExt = L"txt"; + mOFN.lpstrFilter = L"LSL Files (*.lsl)\0*.lsl\0" L"\0"; + break; default: return FALSE; } -- cgit v1.2.3 From ce6bd89ca4fbc3d1d75725e8cfc8857e21052107 Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Wed, 4 Jan 2012 15:16:35 +0000 Subject: Changes per Oz's suggestion on RB. --- indra/newview/llpreviewscript.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index cab30b1295..88727bf59b 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -1154,18 +1154,15 @@ void LLScriptEdCore::onBtnSaveToFile( void* userdata ) if( self->mSaveCallback ) { LLFilePicker& file_picker = LLFilePicker::instance(); - if( !file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT ) ) + if( file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT ) ) { - //File picking cancelled by user, so nothing to do. - return; + std::string filename = file_picker.getFirstFile(); + std::string scriptText=self->mEditor->getText(); + std::ofstream fout(filename.c_str()); + fout<<(scriptText); + fout.close(); + self->mSaveCallback( self->mUserdata, FALSE ); } - - std::string filename = file_picker.getFirstFile(); - std::string scriptText=self->mEditor->getText(); - std::ofstream fout(filename.c_str()); - fout<<(scriptText); - fout.close(); - self->mSaveCallback( self->mUserdata, FALSE ); } } @@ -1187,8 +1184,7 @@ bool LLScriptEdCore::enableSaveToFileMenu(void* userdata) bool LLScriptEdCore::enableLoadFromFileMenu(void* userdata) { LLScriptEdCore* self = (LLScriptEdCore*)userdata; - if (!self || !self->mEditor) return FALSE; - return self->mEditor->canLoadOrSaveToFile(); + return (self && self->mEditor) ? self->mEditor->canLoadOrSaveToFile() : FALSE; } /// --------------------------------------------------------------------------- -- cgit v1.2.3 From e326b1e0fa8ccae7f62e4d028bd9cfeade2ff9d7 Mon Sep 17 00:00:00 2001 From: "Debi King (Dessie)" Date: Wed, 4 Jan 2012 17:41:54 -0500 Subject: Added tag DRTVWR-106_3.2.5-beta1, 3.2.5-beta1 for changeset 3d2d5d244c63 --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 539efb0ffc..97e0cc033c 100644 --- a/.hgtags +++ b/.hgtags @@ -232,3 +232,5 @@ a8c7030d6845186fac7c188be4323a0e887b4184 3.2.1-release 3fe994349fae64fc40874bb59db387131eb35a41 DRTVWR-104_3.2.4-beta1 3fe994349fae64fc40874bb59db387131eb35a41 3.2.4-beta1 8a44ff3d2104269ce76145c2772cf1bdff2a2abe 3.2.5-start +3d2d5d244c6398a4214c666d5dd3965b0918709a DRTVWR-106_3.2.5-beta1 +3d2d5d244c6398a4214c666d5dd3965b0918709a 3.2.5-beta1 -- cgit v1.2.3 From b99dfa7d468b37f19b8cc08a5d00b2eceddbfbb1 Mon Sep 17 00:00:00 2001 From: "Debi King (Dessie)" Date: Wed, 4 Jan 2012 17:42:40 -0500 Subject: Added tag DRTVWR-107_3.2.5-beta2, 3.2.5-beta2 for changeset 65a2c1c8d855 --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 97e0cc033c..90566e16e8 100644 --- a/.hgtags +++ b/.hgtags @@ -234,3 +234,5 @@ a8c7030d6845186fac7c188be4323a0e887b4184 3.2.1-release 8a44ff3d2104269ce76145c2772cf1bdff2a2abe 3.2.5-start 3d2d5d244c6398a4214c666d5dd3965b0918709a DRTVWR-106_3.2.5-beta1 3d2d5d244c6398a4214c666d5dd3965b0918709a 3.2.5-beta1 +65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d DRTVWR-107_3.2.5-beta2 +65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d 3.2.5-beta2 -- cgit v1.2.3 From bd3a652eabf09a5843a6a0b8a9f60c4b402ecce5 Mon Sep 17 00:00:00 2001 From: Aura Linden Date: Fri, 6 Jan 2012 07:46:53 -0500 Subject: Add capability-based create folder routine for more reliable inventory, with fix for copy and wear --- indra/newview/llfloateropenobject.cpp | 60 ++++++++++++++++++++---- indra/newview/llfloateropenobject.h | 11 +++++ indra/newview/llinventorybridge.cpp | 13 +++--- indra/newview/llinventorymodel.cpp | 87 +++++++++++++++++++++++++++++++++-- indra/newview/llinventorymodel.h | 4 +- indra/newview/llviewerregion.cpp | 1 + 6 files changed, 155 insertions(+), 21 deletions(-) diff --git a/indra/newview/llfloateropenobject.cpp b/indra/newview/llfloateropenobject.cpp index 8b6619def2..4bfef8b45f 100644 --- a/indra/newview/llfloateropenobject.cpp +++ b/indra/newview/llfloateropenobject.cpp @@ -162,26 +162,66 @@ void LLFloaterOpenObject::moveToInventory(bool wear) { parent_category_id = gInventory.getRootFolderID(); } + + LLCategoryCreate* cat_data = new LLCategoryCreate(object_id, wear); + LLUUID category_id = gInventory.createNewCategory(parent_category_id, - LLFolderType::FT_NONE, - name); + LLFolderType::FT_NONE, + name, + callbackCreateInventoryCategory, + (void*)cat_data); + + //If we get a null category ID, we are using a capability in createNewCategory and we will + //handle the following in the callbackCreateInventoryCategory routine. + if ( category_id.notNull() ) + { + delete cat_data; + + LLCatAndWear* data = new LLCatAndWear; + data->mCatID = category_id; + data->mWear = wear; + data->mFolderResponded = false; + + // Copy and/or move the items into the newly created folder. + // Ignore any "you're going to break this item" messages. + BOOL success = move_inv_category_world_to_agent(object_id, category_id, TRUE, + callbackMoveInventory, + (void*)data); + if (!success) + { + delete data; + data = NULL; - LLCatAndWear* data = new LLCatAndWear; - data->mCatID = category_id; - data->mWear = wear; + LLNotificationsUtil::add("OpenObjectCannotCopy"); + } + } +} +// static +void LLFloaterOpenObject::callbackCreateInventoryCategory(const LLSD& result, void* data) +{ + LLCategoryCreate* cat_data = (LLCategoryCreate*)data; + + LLUUID category_id = result["folder_id"].asUUID(); + LLCatAndWear* wear_data = new LLCatAndWear; + + wear_data->mCatID = category_id; + wear_data->mWear = cat_data->mWear; + wear_data->mFolderResponded = true; + // Copy and/or move the items into the newly created folder. // Ignore any "you're going to break this item" messages. - BOOL success = move_inv_category_world_to_agent(object_id, category_id, TRUE, + BOOL success = move_inv_category_world_to_agent(cat_data->mObjectID, category_id, TRUE, callbackMoveInventory, - (void*)data); + (void*)wear_data); if (!success) { - delete data; - data = NULL; - + delete wear_data; + wear_data = NULL; + LLNotificationsUtil::add("OpenObjectCannotCopy"); } + delete cat_data; } // static diff --git a/indra/newview/llfloateropenobject.h b/indra/newview/llfloateropenobject.h index 0706e99f16..bf7fe69c65 100644 --- a/indra/newview/llfloateropenobject.h +++ b/indra/newview/llfloateropenobject.h @@ -45,10 +45,20 @@ public: void dirty(); + class LLCategoryCreate + { + public: + LLCategoryCreate(LLUUID object_id, bool wear) : mObjectID(object_id), mWear(wear) {} + public: + LLUUID mObjectID; + bool mWear; + }; + struct LLCatAndWear { LLUUID mCatID; bool mWear; + bool mFolderResponded; }; protected: @@ -62,6 +72,7 @@ protected: void onClickMoveToInventory(); void onClickMoveAndWear(); + static void callbackCreateInventoryCategory(const LLSD& result, void* data); static void callbackMoveInventory(S32 result, void* data); private: diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 0c092e9a56..eaf9b53eb9 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2305,15 +2305,15 @@ void LLRightClickInventoryFetchDescendentsObserver::done() class LLInventoryCopyAndWearObserver : public LLInventoryObserver { public: - LLInventoryCopyAndWearObserver(const LLUUID& cat_id, int count) : - mCatID(cat_id), mContentsCount(count), mFolderAdded(FALSE) {} + LLInventoryCopyAndWearObserver(const LLUUID& cat_id, int count, bool folder_added=false) : + mCatID(cat_id), mContentsCount(count), mFolderAdded(folder_added) {} virtual ~LLInventoryCopyAndWearObserver() {} virtual void changed(U32 mask); protected: LLUUID mCatID; int mContentsCount; - BOOL mFolderAdded; + bool mFolderAdded; }; @@ -2341,7 +2341,6 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask) if (mFolderAdded) { LLViewerInventoryCategory* category = gInventory.getCategory(mCatID); - if (NULL == category) { llwarns << "gInventory.getCategory(" << mCatID @@ -3188,13 +3187,13 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response if(option == 0 && object) { - if (cat_and_wear && cat_and_wear->mWear) + if (cat_and_wear && cat_and_wear->mWear) // && !cat_and_wear->mFolderResponded) { LLInventoryObject::object_list_t inventory_objects; object->getInventoryContents(inventory_objects); int contents_count = inventory_objects.size()-1; //subtract one for containing folder - - LLInventoryCopyAndWearObserver* inventoryObserver = new LLInventoryCopyAndWearObserver(cat_and_wear->mCatID, contents_count); + LLInventoryCopyAndWearObserver* inventoryObserver = new LLInventoryCopyAndWearObserver(cat_and_wear->mCatID, contents_count, cat_and_wear->mFolderResponded); + gInventory.addObserver(inventoryObserver); } diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index dc25689fa3..568ec4c5e2 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -377,14 +377,67 @@ const LLUUID LLInventoryModel::findCategoryUUIDForType(LLFolderType::EType prefe return rv; } +class LLCreateInventoryCategoryResponder : public LLHTTPClient::Responder +{ +public: + LLCreateInventoryCategoryResponder(LLInventoryModel* model, + void (*callback)(const LLSD&, void*), + void* user_data) : + mModel(model), + mCallback(callback), + mData(user_data) + { + } + + virtual void error(U32 status, const std::string& reason) + { + LL_WARNS("InvAPI") << "CreateInventoryCategory failed. status = " << status << ", reasion = \"" << reason << "\"" << LL_ENDL; + } + + virtual void result(const LLSD& content) + { + //Server has created folder. + + LLUUID category_id = content["folder_id"].asUUID(); + + + // Add the category to the internal representation + LLPointer cat = + new LLViewerInventoryCategory( category_id, + content["parent_id"].asUUID(), + (LLFolderType::EType)content["type"].asInteger(), + content["name"].asString(), + gAgent.getID() ); + cat->setVersion(LLViewerInventoryCategory::VERSION_INITIAL); + cat->setDescendentCount(0); + LLInventoryModel::LLCategoryUpdate update(cat->getParentUUID(), 1); + mModel->accountForUpdate(update); + mModel->updateCategory(cat); + + if (mCallback && mData) + { + mCallback(content, mData); + } + + } + +private: + void (*mCallback)(const LLSD&, void*); + void* mData; + LLInventoryModel* mModel; +}; + // Convenience function to create a new category. You could call // updateCategory() with a newly generated UUID category, but this // version will take care of details like what the name should be // based on preferred type. Returns the UUID of the new category. LLUUID LLInventoryModel::createNewCategory(const LLUUID& parent_id, LLFolderType::EType preferred_type, - const std::string& pname) + const std::string& pname, + void (*callback)(const LLSD&, void*), //Default to NULL + void* user_data) //Default to NULL { + LLUUID id; if(!isInventoryUsable()) { @@ -408,6 +461,35 @@ LLUUID LLInventoryModel::createNewCategory(const LLUUID& parent_id, { name.assign(LLViewerFolderType::lookupNewCategoryName(preferred_type)); } + + if ( callback && user_data ) //callback required for acked message. + { + LLViewerRegion* viewer_region = gAgent.getRegion(); + std::string url; + if ( viewer_region ) + url = viewer_region->getCapability("CreateInventoryCategory"); + + if (!url.empty()) + { + //Let's use the new capability. + + LLSD request, body; + body["folder_id"] = id; + body["parent_id"] = parent_id; + body["type"] = (LLSD::Integer) preferred_type; + body["name"] = name; + + request["message"] = "CreateInventoryCategory"; + request["payload"] = body; + + // viewer_region->getCapAPI().post(request); + LLHTTPClient::post( + url, + body, + new LLCreateInventoryCategoryResponder(this, callback, user_data) ); + return LLUUID::null; + } + } // Add the category to the internal representation LLPointer cat = @@ -1087,7 +1169,6 @@ void LLInventoryModel::notifyObservers() iter != mObservers.end(); ) { LLInventoryObserver* observer = *iter; - observer->changed(mModifyMask); // safe way to increment since changed may delete entries! (@!##%@!@&*!) @@ -2574,7 +2655,7 @@ void LLInventoryModel::processBulkUpdateInventory(LLMessageSystem* msg, void**) << titem->getParentUUID() << llendl; U32 callback_id; msg->getU32Fast(_PREHASH_ItemData, _PREHASH_CallbackID, callback_id); - if(titem->getUUID().notNull()) + if(titem->getUUID().notNull() ) // && callback_id.notNull() ) { items.push_back(titem); cblist.push_back(InventoryCallbackInfo(callback_id, titem->getUUID())); diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h index 340c1b0c22..0a564d353a 100644 --- a/indra/newview/llinventorymodel.h +++ b/indra/newview/llinventorymodel.h @@ -360,7 +360,9 @@ public: // name based on type, pass in a NULL to the 'name' parameter. LLUUID createNewCategory(const LLUUID& parent_id, LLFolderType::EType preferred_type, - const std::string& name); + const std::string& name, + void (*callback)(const LLSD&, void*) = NULL, + void* user_data = NULL ); protected: // Internal methods that add inventory and make sure that all of // the internal data structures are consistent. These methods diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index ed943964f9..e3cb985ddb 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1493,6 +1493,7 @@ void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames) capabilityNames.append("AvatarPickerSearch"); capabilityNames.append("ChatSessionRequest"); capabilityNames.append("CopyInventoryFromNotecard"); + capabilityNames.append("CreateInventoryCategory"); capabilityNames.append("DispatchRegionInfo"); capabilityNames.append("EstateChangeInfo"); capabilityNames.append("EventQueueGet"); -- cgit v1.2.3 From 377e35af14ec8e6aa689a9aa9817705b4d699e83 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Fri, 6 Jan 2012 09:19:10 -0800 Subject: looking for better fix to EXP-1695 [I18N] [INCORRECT CURRENCY LAYOUT/FORMAT] - Currency in Group Profile > Land/Asset and New Group (French viewer) Backed out changeset: c01a6186b15c --- indra/newview/llpanelgrouplandmoney.cpp | 3 ++- indra/newview/skins/default/xui/en/panel_group_general.xml | 13 ++----------- indra/newview/skins/default/xui/en/strings.xml | 2 +- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/indra/newview/llpanelgrouplandmoney.cpp b/indra/newview/llpanelgrouplandmoney.cpp index b6c0c2ee24..e66dd5690c 100644 --- a/indra/newview/llpanelgrouplandmoney.cpp +++ b/indra/newview/llpanelgrouplandmoney.cpp @@ -1447,7 +1447,8 @@ void LLGroupMoneyPlanningTabEventHandler::processReply(LLMessageSystem* msg, text.append(time_str); text.append(".\n\n"); - text.append(llformat("%-24s %6d L$\n\n", LLTrans::getString("GroupMoneyBalance").c_str(), balance )); + text.append(llformat("%-23sL$%6d\n", LLTrans::getString("GroupMoneyBalance").c_str(), balance )); + text.append(1, '\n'); } // [DEV-29503] Hide the individual info since diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml index adde982c60..38b680ba86 100644 --- a/indra/newview/skins/default/xui/en/panel_group_general.xml +++ b/indra/newview/skins/default/xui/en/panel_group_general.xml @@ -225,22 +225,13 @@ Hover your mouse over the options for more help. height="23" increment="1" label_width="15" + label="L$" layout="topleft" max_val="99999" left="30" name="spin_enrollment_fee" tool_tip="New members must pay this fee to join the group when Enrollment Fee is checked." - width="150" /> - - L$ - + width="170" /> [mthnum,datetime,utc]/[day,datetime,utc]/[year,datetime,utc] - + Balance Credits Debits -- cgit v1.2.3 From 757a955bd700eb4f838762dcbe789a77ee052064 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Fri, 6 Jan 2012 12:07:52 -0800 Subject: Looking for better fix to EXP-1693 - date localization Backed out changeset: 4f3024e9d629 --- indra/llcommon/llstring.cpp | 5 ----- indra/llui/llscrolllistcell.cpp | 10 +--------- indra/newview/llappviewer.cpp | 23 ++++++++++++++-------- indra/newview/skins/default/xui/en/strings.xml | 3 --- .../skins/default/xui/fr/sidepanel_item_info.xml | 2 +- 5 files changed, 17 insertions(+), 26 deletions(-) diff --git a/indra/llcommon/llstring.cpp b/indra/llcommon/llstring.cpp index 1193a4ef8d..e7fe656808 100644 --- a/indra/llcommon/llstring.cpp +++ b/indra/llcommon/llstring.cpp @@ -1122,11 +1122,6 @@ bool LLStringUtil::formatDatetime(std::string& replacement, std::string token, struct tm * gmt = gmtime (&loc_seconds); replacement = LLStringOps::sMonthList[gmt->tm_mon]; } - else if(LLStringOps::sMonthShortList.size() == 12 && code == "%b") - { - struct tm * gmt = gmtime (&loc_seconds); - replacement = LLStringOps::sMonthShortList[gmt->tm_mon]; - } else if( !LLStringOps::sDayFormat.empty() && code == "%d" ) { struct tm * gmt = gmtime (&loc_seconds); diff --git a/indra/llui/llscrolllistcell.cpp b/indra/llui/llscrolllistcell.cpp index 786e18b187..9d25c7180d 100644 --- a/indra/llui/llscrolllistcell.cpp +++ b/indra/llui/llscrolllistcell.cpp @@ -29,8 +29,6 @@ #include "llscrolllistcell.h" -#include "lltrans.h" - #include "llcheckboxctrl.h" #include "llui.h" // LLUIImage #include "lluictrlfactory.h" @@ -430,13 +428,7 @@ LLScrollListDate::LLScrollListDate( const LLScrollListCell::Params& p) void LLScrollListDate::setValue(const LLSD& value) { mDate = value.asDate(); - - std::string date_str = LLTrans::getString("ScrollListCellDateFormat"); - LLSD substitution; - substitution["datetime"] = mDate.secondsSinceEpoch(); - LLStringUtil::format(date_str, substitution); - - LLScrollListText::setValue(date_str); + LLScrollListText::setValue(mDate.asRFC1123()); } const LLSD LLScrollListDate::getValue() const diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 33d4563feb..0861fe85a8 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1044,14 +1044,21 @@ bool LLAppViewer::init() LLTextUtil::TextHelpers::iconCallbackCreationFunction = create_text_segment_icon_from_url_match; - LLStringOps::setupWeekDaysNames(LLTrans::getString("dateTimeWeekdaysNames")); - LLStringOps::setupWeekDaysShortNames(LLTrans::getString("dateTimeWeekdaysShortNames")); - LLStringOps::setupMonthNames(LLTrans::getString("dateTimeMonthNames")); - LLStringOps::setupMonthShortNames(LLTrans::getString("dateTimeMonthShortNames")); - LLStringOps::setupDayFormat(LLTrans::getString("dateTimeDayFormat")); - - LLStringOps::sAM = LLTrans::getString("dateTimeAM"); - LLStringOps::sPM = LLTrans::getString("dateTimePM"); + //EXT-7013 - On windows for some locale (Japanese) standard + //datetime formatting functions didn't support some parameters such as "weekday". + //Names for days and months localized in xml are also useful for Polish locale(STORM-107). + std::string language = gSavedSettings.getString("Language"); + if(language == "ja" || language == "pl") + { + LLStringOps::setupWeekDaysNames(LLTrans::getString("dateTimeWeekdaysNames")); + LLStringOps::setupWeekDaysShortNames(LLTrans::getString("dateTimeWeekdaysShortNames")); + LLStringOps::setupMonthNames(LLTrans::getString("dateTimeMonthNames")); + LLStringOps::setupMonthShortNames(LLTrans::getString("dateTimeMonthShortNames")); + LLStringOps::setupDayFormat(LLTrans::getString("dateTimeDayFormat")); + + LLStringOps::sAM = LLTrans::getString("dateTimeAM"); + LLStringOps::sPM = LLTrans::getString("dateTimePM"); + } LLAgentLanguage::init(); diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 492e51e0fd..9752a07b66 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3503,9 +3503,6 @@ Abuse Report [MDAY] AM PM - - - [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local] US$ [AMOUNT] diff --git a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml index 0b5333fc80..95649d3934 100644 --- a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml @@ -13,7 +13,7 @@ Le propriƩtaire peut : - [wkday,datetime,local] [day,datetime,local] [mth,datetime,local] [year,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] + [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local] (inventaire) -- cgit v1.2.3 From 8c0023eec46c8a9cdba674acf8c07b488dac6f7c Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 9 Jan 2012 08:40:42 -0500 Subject: Added tag 3.6.0-start for changeset a1012611a195 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 424701983a..54dd41dbf0 100644 --- a/.hgtags +++ b/.hgtags @@ -244,3 +244,4 @@ bd6bcde2584491fd9228f1fa51c4575f4e764e19 3.2.4-release 3d2d5d244c6398a4214c666d5dd3965b0918709a 3.2.5-beta1 65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d DRTVWR-107_3.2.5-beta2 65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d 3.2.5-beta2 +a1012611a195a41cbfb8e6b842e9aac5bd3306e8 3.6.0-start -- cgit v1.2.3 From 41ceee848bbbaec892471b6396bd2d2383d10aa3 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 9 Jan 2012 08:41:36 -0500 Subject: increment viewer version to 3.2.7 --- indra/llcommon/llversionviewer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index ec378761c2..7bba3d298f 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -29,7 +29,7 @@ const S32 LL_VERSION_MAJOR = 3; const S32 LL_VERSION_MINOR = 2; -const S32 LL_VERSION_PATCH = 6; +const S32 LL_VERSION_PATCH = 7; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; -- cgit v1.2.3 From 1fb6dbbf8061c89131669286fef9940af5dffc76 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 9 Jan 2012 12:26:57 -0500 Subject: Backed out changeset 4fd359f2f1c3 --- indra/llcommon/llversionviewer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 7bba3d298f..ec378761c2 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -29,7 +29,7 @@ const S32 LL_VERSION_MAJOR = 3; const S32 LL_VERSION_MINOR = 2; -const S32 LL_VERSION_PATCH = 7; +const S32 LL_VERSION_PATCH = 6; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; -- cgit v1.2.3 From fc00c99532932ee1664bca1ff295e58240bc01b7 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 9 Jan 2012 12:29:13 -0500 Subject: remove incorrect tag --- .hgtags | 1 - 1 file changed, 1 deletion(-) diff --git a/.hgtags b/.hgtags index 54dd41dbf0..424701983a 100644 --- a/.hgtags +++ b/.hgtags @@ -244,4 +244,3 @@ bd6bcde2584491fd9228f1fa51c4575f4e764e19 3.2.4-release 3d2d5d244c6398a4214c666d5dd3965b0918709a 3.2.5-beta1 65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d DRTVWR-107_3.2.5-beta2 65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d 3.2.5-beta2 -a1012611a195a41cbfb8e6b842e9aac5bd3306e8 3.6.0-start -- cgit v1.2.3 From 4c5141c5677a2e98c1331026d4e119abee6ab2ae Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 9 Jan 2012 12:29:39 -0500 Subject: Added tag 3.2.6-start for changeset 2174ed1c7129 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 424701983a..f4ffb61aa6 100644 --- a/.hgtags +++ b/.hgtags @@ -244,3 +244,4 @@ bd6bcde2584491fd9228f1fa51c4575f4e764e19 3.2.4-release 3d2d5d244c6398a4214c666d5dd3965b0918709a 3.2.5-beta1 65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d DRTVWR-107_3.2.5-beta2 65a2c1c8d855b88edfbea4e16ef2f27e7cff8b1d 3.2.5-beta2 +2174ed1c7129562428a5cfe8651ed77b8d26ae18 3.2.6-start -- cgit v1.2.3 From 3dfb1536fa3bb85f6648a76591e80c3feea9eb83 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 9 Jan 2012 08:41:36 -0500 Subject: increment viewer version to 3.2.7 --- indra/llcommon/llversionviewer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index ec378761c2..7bba3d298f 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -29,7 +29,7 @@ const S32 LL_VERSION_MAJOR = 3; const S32 LL_VERSION_MINOR = 2; -const S32 LL_VERSION_PATCH = 6; +const S32 LL_VERSION_PATCH = 7; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; -- cgit v1.2.3