Sorry about that. Required files are now included - But still are unfinished. I do not recommend implementing anything currently commented out.
UI controls for Always Build and Always Fly are now in. Vertical Tabs option is now in.
This commit is contained in:
@@ -2,6 +2,204 @@
|
|||||||
<llsd>
|
<llsd>
|
||||||
<map>
|
<map>
|
||||||
<!--Expanded settings from Vanilla SL -->
|
<!--Expanded settings from Vanilla SL -->
|
||||||
|
<key>AscentBuildAlwaysEnabled</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Show build option regardless of whether you can (May not mean you can actually build there)</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>Boolean</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
</map>
|
||||||
|
<key>AscentFlyAlwaysEnabled</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Always allow fly (Does actually always allow flight)</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>Boolean</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLine</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Would you like the chatbar to be able to be used for command line functions?</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>Boolean</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineClearChat</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Clear chat history to stop lag from chat spam</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>clrchat</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineHeight</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Teleport to height function command</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>gth</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLinePos</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Teleport to position function command</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>gtp</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineGround</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Teleport to ground function command</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>flr</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineTeleportHome</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Teleport to home function command</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>tph</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineRezPlatform</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Rez a platform underneath you</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>rezplat</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentPlatformSize</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>How wide the rezzed platform will appear to be.</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>F32</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<real>30</real>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineMapTo</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Teleport to a region by name rapidly</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>mapto</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentMapToKeepPos</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Attempt to arrive in the same location you were at.</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>Boolean</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineDrawDistance</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Change draw distance quickly</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>dd</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdTeleportToCam</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Teleport to your camera</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>tp2cam</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineKeyToName</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Use a fast key to name querry</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>key2name</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineOfferTp</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Offer a teleport to target avatar</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>offertp</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineCalc</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Calculates an expression</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>calc</string>
|
||||||
|
</map>
|
||||||
|
<key>AscentCmdLineTP2</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Teleport to a person by name, partials work.</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>String</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<string>tp2</string>
|
||||||
|
</map>
|
||||||
<key>OptionPlayTpSound</key>
|
<key>OptionPlayTpSound</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
@@ -233,112 +431,10 @@
|
|||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<real>0.1</real>
|
<real>0.1</real>
|
||||||
</map>
|
</map>
|
||||||
<!-- Expanded Settings that have optionally Account-Specific alternatives -->
|
<key>WoLfVerticalIMTabs</key>
|
||||||
|
|
||||||
<!-- Ascent-Specific Settings -->
|
|
||||||
<key>AscentCmdLine</key>
|
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
<string>Would you like the chatbar to be able to be used for command line functions?</string>
|
<string>Vertical IM Tabs</string>
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>Boolean</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdLineClearChat</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Clear chat history to stop lag from chat spam</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>clrchat</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdLineHeight</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Teleport to height function command</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>gth</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdLinePos</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Teleport to position function command</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>gtp</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdLineGround</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Teleport to ground function command</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>flr</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdLineTeleportHome</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Teleport to home function command</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>tph</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdLineRezPlatform</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Rez a platform underneath you</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>rezplat</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentPlatformSize</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>How wide the rezzed platform will appear to be.</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>F32</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<real>30</real>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdLineMapTo</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Teleport to a region by name rapidly</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>mapto</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentMapToKeepPos</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Attempt to arrive in the same location you were at.</string>
|
|
||||||
<key>Persist</key>
|
<key>Persist</key>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
@@ -346,71 +442,19 @@
|
|||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
</map>
|
</map>
|
||||||
<key>AscentCmdLineDrawDistance</key>
|
<!-- Expanded Settings that have optionally Account-Specific alternatives -->
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
<!-- Ascent-Specific Settings -->
|
||||||
<string>Change draw distance quickly</string>
|
<key>AscentPowerfulWizard</key>
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>dd</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdTeleportToCam</key>
|
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
<string>Teleport to your camera</string>
|
<string>User is a bad enough dude.</string>
|
||||||
<key>Persist</key>
|
<key>Persist</key>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
<string>String</string>
|
<string>Boolean</string>
|
||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<string>tp2cam</string>
|
<integer>0</integer>
|
||||||
</map>
|
|
||||||
<key>AscentCmdLineKeyToName</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Use a fast key to name querry</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>key2name</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdLineOfferTp</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Offer a teleport to target avatar</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>offertp</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdLineCalc</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Calculates an expression</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>calc</string>
|
|
||||||
</map>
|
|
||||||
<key>AscentCmdLineTP2</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Teleport to a person by name, partials work.</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>String</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<string>tp2</string>
|
|
||||||
</map>
|
</map>
|
||||||
<key>AscentUseCustomTag</key>
|
<key>AscentUseCustomTag</key>
|
||||||
<map>
|
<map>
|
||||||
|
|||||||
188
indra/newview/ascentuploadbrowser.cpp
Normal file
188
indra/newview/ascentuploadbrowser.cpp
Normal file
@@ -0,0 +1,188 @@
|
|||||||
|
/**
|
||||||
|
* @file ascentuploadbrowser.h
|
||||||
|
* @Author Duncan Garrett
|
||||||
|
* Meant as a replacement to using Windows' file browser for uploads.
|
||||||
|
*
|
||||||
|
* Created August 27 2010
|
||||||
|
*
|
||||||
|
* ALL SOURCE CODE IS PROVIDED "AS IS." THE CREATOR MAKES NO
|
||||||
|
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
|
||||||
|
* COMPLETENESS OR PERFORMANCE.
|
||||||
|
* k ilu bye
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "llviewerprecompiledheaders.h"
|
||||||
|
|
||||||
|
#include "ascentuploadbrowser.h"
|
||||||
|
|
||||||
|
//UI Elements
|
||||||
|
#include "llbutton.h" //Buttons
|
||||||
|
#include "llcombobox.h" //Combo dropdowns
|
||||||
|
#include "llscrolllistctrl.h" //List box for filenames
|
||||||
|
#include "lluictrlfactory.h" //Loads the XUI
|
||||||
|
|
||||||
|
// project includes
|
||||||
|
#include "llviewercontrol.h"
|
||||||
|
#include "llviewerwindow.h"
|
||||||
|
#include "llsdserialize.h" //XML Parsing - Probably not needed
|
||||||
|
|
||||||
|
///----------------------------------------------------------------------------
|
||||||
|
/// Local function declarations, constants, enums, and typedefs
|
||||||
|
///----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ASFloaterUploadBrowser* ASFloaterUploadBrowser::sInstance = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
///----------------------------------------------------------------------------
|
||||||
|
/// Class LLFloaterAbout
|
||||||
|
///----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Default constructor
|
||||||
|
ASFloaterUploadBrowser::ASFloaterUploadBrowser()
|
||||||
|
: LLFloater(std::string("floater_upload_browser"), std::string("FloaterUploadRect"), LLStringUtil::null)
|
||||||
|
{
|
||||||
|
mPathName = "C:\\Users\\Duncan\\Documents"+gDirUtilp->getDirDelimiter(); //(gDirUtilp->getSkinBaseDir()+gDirUtilp->getDirDelimiter());
|
||||||
|
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_upload_browser.xml");
|
||||||
|
mFileList = getChild<LLScrollListCtrl>("file_list");
|
||||||
|
childSetCommitCallback("file_list", onClickFile, this);
|
||||||
|
childSetDoubleClickCallback("file_list", onDoubleClick);
|
||||||
|
refresh();
|
||||||
|
mFileList->sortByColumn(std::string("file_name"), TRUE);
|
||||||
|
mFileList->sortByColumn(std::string("file_type"), TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Destroys the object
|
||||||
|
ASFloaterUploadBrowser::~ASFloaterUploadBrowser()
|
||||||
|
{
|
||||||
|
sInstance = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ASFloaterUploadBrowser::onClickFile(LLUICtrl* ctrl, void* user_data)
|
||||||
|
{
|
||||||
|
ASFloaterUploadBrowser* panelp = (ASFloaterUploadBrowser*)user_data;
|
||||||
|
panelp->refreshUploadOptions();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ASFloaterUploadBrowser::refreshUploadOptions()
|
||||||
|
{
|
||||||
|
if (mFileList->getFirstSelected()->getColumn(LIST_FILE_TYPE)->getValue().asInteger() == LIST_TYPE_FILE)
|
||||||
|
{
|
||||||
|
if (mFileList->getAllSelected().size() > 1)
|
||||||
|
{
|
||||||
|
llinfos << "Selected multiple files." << llendl;
|
||||||
|
childSetValue("asset_name", "(Multiple)");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
llinfos << "Selected a file." << llendl;
|
||||||
|
std::string name = mFileList->getFirstSelected()->getColumn(LIST_FILE_NAME)->getValue().asString();
|
||||||
|
childSetValue("asset_name", name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ASFloaterUploadBrowser::onDoubleClick(void* user_data)
|
||||||
|
{
|
||||||
|
ASFloaterUploadBrowser* panelp = (ASFloaterUploadBrowser*)user_data;
|
||||||
|
panelp->handleDoubleClick();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ASFloaterUploadBrowser::handleDoubleClick()
|
||||||
|
{
|
||||||
|
if (mFileList->getFirstSelected()->getColumn(LIST_FILE_TYPE)->getValue().asInteger() == LIST_TYPE_PARENT)
|
||||||
|
{
|
||||||
|
llinfos << "Double-clicked Parent." << llendl;
|
||||||
|
}
|
||||||
|
else if (mFileList->getFirstSelected()->getColumn(LIST_FILE_TYPE)->getValue().asInteger() == LIST_TYPE_FOLDER)
|
||||||
|
{
|
||||||
|
/*std::string newPath = (mFileList->getFirstSelected()->getColumn(LIST_FILE_NAME)->getValue().asString()+gDirUtilp->getDirDelimiter());
|
||||||
|
newPath = (mPathName+newPath);
|
||||||
|
mPathName = newPath.c_str();*/
|
||||||
|
llinfos << "Double-clicked Folder. Directory should change to " << mPathName << mFileList->getFirstSelected()->getColumn(LIST_FILE_NAME)->getValue().asString() << llendl;
|
||||||
|
//mPathName.append(mFileList->getFirstSelected()->getColumn(LIST_FILE_NAME)->getValue().asString().c_str() + gDirUtilp->getDirDelimiter());
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ASFloaterUploadBrowser::refresh()
|
||||||
|
{
|
||||||
|
llinfos << "Emptying existing file list." << mPathName << llendl;
|
||||||
|
mFileList->deleteAllItems();
|
||||||
|
llinfos << "Getting file listing at " << mPathName << llendl;
|
||||||
|
bool found = true;
|
||||||
|
while(found)
|
||||||
|
{
|
||||||
|
std::string filename;
|
||||||
|
found = gDirUtilp->getNextFileInDir(mPathName, "*.*", filename, false);
|
||||||
|
if(found)
|
||||||
|
{
|
||||||
|
|
||||||
|
S32 periodIndex = filename.find_last_of(".");
|
||||||
|
std::string extension = filename.substr(periodIndex + 1, filename.length() - 1);
|
||||||
|
llinfos << extension << llendl;
|
||||||
|
LLSD element;
|
||||||
|
element["path"] = mPathName + filename;
|
||||||
|
|
||||||
|
LLSD& filename_column = element["columns"][LIST_FILE_NAME];
|
||||||
|
filename_column["column"] = "file_name";
|
||||||
|
filename_column["font"] = "SANSSERIF";
|
||||||
|
filename_column["font-style"] = "NORMAL";
|
||||||
|
|
||||||
|
LLSD& filetype_column = element["columns"][LIST_FILE_TYPE];
|
||||||
|
filetype_column["column"] = "file_type";
|
||||||
|
filetype_column["type"] = "number";
|
||||||
|
|
||||||
|
LLSD& invtype_column = element["columns"][LIST_INVENTORY_TYPE];
|
||||||
|
invtype_column["column"] = "icon_inventory_type";
|
||||||
|
invtype_column["type"] = "icon";
|
||||||
|
invtype_column["value"] = "inv_folder_trash.tga";
|
||||||
|
|
||||||
|
if ((extension == "jpeg")||(extension == "jpg")||(extension == "tga")
|
||||||
|
||(extension == "png")||(extension == "bmp"))
|
||||||
|
{
|
||||||
|
invtype_column["value"] = "inv_item_texture.tga";
|
||||||
|
filename_column["value"] = filename.substr(0, periodIndex);
|
||||||
|
filetype_column["value"] = LIST_TYPE_FILE;
|
||||||
|
}
|
||||||
|
else if (extension == "wav")
|
||||||
|
{
|
||||||
|
invtype_column["value"] = "inv_item_sound.tga";
|
||||||
|
filename_column["value"] = filename.substr(0, periodIndex);
|
||||||
|
filetype_column["value"] = LIST_TYPE_FILE;
|
||||||
|
}
|
||||||
|
else if ((extension == "bvh")||(extension == "anim"))
|
||||||
|
{
|
||||||
|
invtype_column["value"] = "inv_item_animation.tga";
|
||||||
|
filename_column["value"] = filename.substr(0, periodIndex);
|
||||||
|
filetype_column["value"] = LIST_TYPE_FILE;
|
||||||
|
}
|
||||||
|
else if ((extension == filename.substr(0, filename.length() - 1))&&(filename != "."))
|
||||||
|
{
|
||||||
|
invtype_column["value"] = "inv_folder_plain_closed.tga";
|
||||||
|
filename_column["value"] = filename;
|
||||||
|
filetype_column["value"] = LIST_TYPE_FOLDER;
|
||||||
|
}
|
||||||
|
else if (filename == "..")
|
||||||
|
{
|
||||||
|
invtype_column["value"] = "inv_folder_plain_open.tga";
|
||||||
|
filename_column["value"] = filename;
|
||||||
|
filetype_column["value"] = LIST_TYPE_PARENT;
|
||||||
|
}
|
||||||
|
if (invtype_column["value"].asString() != "inv_folder_trash.tga")
|
||||||
|
{
|
||||||
|
mFileList->addElement(element, ADD_BOTTOM);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// static
|
||||||
|
void ASFloaterUploadBrowser::show(void*)
|
||||||
|
{
|
||||||
|
if (!sInstance)
|
||||||
|
{
|
||||||
|
sInstance = new ASFloaterUploadBrowser();
|
||||||
|
}
|
||||||
|
|
||||||
|
sInstance->open(); /*Flawfinder: ignore*/
|
||||||
|
}
|
||||||
56
indra/newview/ascentuploadbrowser.h
Normal file
56
indra/newview/ascentuploadbrowser.h
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
/**
|
||||||
|
* @file ascentuploadbrowser.h
|
||||||
|
* @Author Duncan Garrett
|
||||||
|
* Meant as a replacement to using Windows' file browser for uploads.
|
||||||
|
*
|
||||||
|
* Created August 27 2010
|
||||||
|
*
|
||||||
|
* ALL SOURCE CODE IS PROVIDED "AS IS." THE CREATOR MAKES NO
|
||||||
|
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
|
||||||
|
* COMPLETENESS OR PERFORMANCE.
|
||||||
|
* k ilu bye
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ASCENT_UPLOAD_BROWSER
|
||||||
|
#define ASCENT_UPLOAD_BROWSER
|
||||||
|
|
||||||
|
#include "llfloater.h"
|
||||||
|
|
||||||
|
class LLScrollListCtrl;
|
||||||
|
|
||||||
|
class ASFloaterUploadBrowser : public LLFloater
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ASFloaterUploadBrowser();
|
||||||
|
virtual ~ASFloaterUploadBrowser();
|
||||||
|
static void onClickFile(LLUICtrl* ctrl, void* user_data);
|
||||||
|
static void onDoubleClick(void* user_data);
|
||||||
|
|
||||||
|
void refresh();
|
||||||
|
void refreshUploadOptions();
|
||||||
|
void handleDoubleClick();
|
||||||
|
static void show(void*);
|
||||||
|
|
||||||
|
std::vector<LLSD> datas;
|
||||||
|
|
||||||
|
private:
|
||||||
|
static ASFloaterUploadBrowser* sInstance;
|
||||||
|
enum FILE_COLUMN_ORDER
|
||||||
|
{
|
||||||
|
LIST_FILE_TYPE,
|
||||||
|
LIST_INVENTORY_TYPE,
|
||||||
|
LIST_FILE_NAME,
|
||||||
|
LIST_DATA
|
||||||
|
};
|
||||||
|
enum FILE_TYPE_ORDER
|
||||||
|
{
|
||||||
|
LIST_TYPE_PARENT,
|
||||||
|
LIST_TYPE_FOLDER,
|
||||||
|
LIST_TYPE_FILE
|
||||||
|
};
|
||||||
|
LLScrollListCtrl* mFileList;
|
||||||
|
std::string mPathName;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // ASCENT_UPLOAD_BROWSER
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
#include "llviewercontrol.h"
|
#include "llviewercontrol.h"
|
||||||
#include "llimview.h"
|
#include "llimview.h"
|
||||||
#include "llimpanel.h"
|
#include "llimpanel.h"
|
||||||
|
#include "llstring.h"
|
||||||
//
|
//
|
||||||
// LLFloaterMyFriends
|
// LLFloaterMyFriends
|
||||||
//
|
//
|
||||||
@@ -94,7 +94,18 @@ LLFloaterChatterBox::LLFloaterChatterBox(const LLSD& seed) :
|
|||||||
{
|
{
|
||||||
mAutoResize = FALSE;
|
mAutoResize = FALSE;
|
||||||
|
|
||||||
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_chatterbox.xml", NULL, FALSE);
|
std::string chatterbox_layout;
|
||||||
|
if(gSavedSettings.getBOOL("WoLfVerticalIMTabs"))
|
||||||
|
{
|
||||||
|
chatterbox_layout = "floater_chatterbox_wolf.xml";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
chatterbox_layout = "floater_chatterbox.xml";
|
||||||
|
}
|
||||||
|
LLUICtrlFactory::getInstance()->buildFloater(this, chatterbox_layout, NULL, FALSE);
|
||||||
|
/*childHide("chatterbox_tabs_horiz");
|
||||||
|
childShow("chatterbox_tabs_vert");*/
|
||||||
if (gSavedSettings.getBOOL("ContactsTornOff"))
|
if (gSavedSettings.getBOOL("ContactsTornOff"))
|
||||||
{
|
{
|
||||||
LLFloaterMyFriends* floater_contacts = LLFloaterMyFriends::getInstance(0);
|
LLFloaterMyFriends* floater_contacts = LLFloaterMyFriends::getInstance(0);
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
|
<multi_floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true"
|
||||||
|
height="390" name="floater_chatterbox"
|
||||||
|
rect_control="ChatterboxRect" title="Communicate" width="392">
|
||||||
|
<tab_container bottom="2" follows="left|right|top|bottom" height="370" left="0"
|
||||||
|
name="chatterbox_tabs" tab_position="left" tab_width="110" width="395" />
|
||||||
|
</multi_floater>
|
||||||
|
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
|
<floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true"
|
||||||
|
width="650" height="340" min_width="650" min_height="340" max_width="650"
|
||||||
|
name="browser" title="Upload Browser" control_name="UploadBrowserFloater">
|
||||||
|
<tab_container bottom="0" follows="left|right|top|bottom" height="320" left="4"
|
||||||
|
name="FilesAndFolders" tab_position="top" tab_width="80" width="600">
|
||||||
|
<panel bottom="0" label="Files" left="0" name="file_panel" width="370">
|
||||||
|
<scroll_list bottom="10" can_resize="true" column_padding="0" draw_heading="true"
|
||||||
|
follows="left|top|bottom" left="5" multi_select="true"
|
||||||
|
name="file_list" width="340" search_column="1"
|
||||||
|
tool_tip="Hold shift or control while clicking to select multiple friends"
|
||||||
|
top="-10">
|
||||||
|
<column name="file_type" width="0" />
|
||||||
|
<column image="ff_edit_mine_button.tga" name="icon_inventory_type"
|
||||||
|
tool_tip="Inventory Type" width="20" />
|
||||||
|
<column dynamicwidth="true" label="Filename" name="file_name" tool_tip="Filename" />
|
||||||
|
</scroll_list>
|
||||||
|
<text type="string" length="50" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
|
bottom="-23" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||||
|
font="SansSerifSmall" h_pad="0" halign="left" height="12" left="352"
|
||||||
|
mouse_opaque="true" name="name_label" v_pad="0" width="128">
|
||||||
|
Name:
|
||||||
|
</text>
|
||||||
|
<line_editor bottom_delta="-4" follows="left|top" font="SansSerifSmall" height="18" max_length="255"
|
||||||
|
width="214" name="asset_name" left_delta="70" select_all_on_focus_received="true" select_on_focus="true"/>
|
||||||
|
<text type="string" length="50" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
|
bottom_delta="-20" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||||
|
font="SansSerifSmall" h_pad="0" halign="left" height="12" left="352"
|
||||||
|
mouse_opaque="true" name="name_label" v_pad="0" width="128">
|
||||||
|
Description:
|
||||||
|
</text>
|
||||||
|
<line_editor bottom_delta="-4" follows="left|top" font="SansSerifSmall" height="18" max_length="255"
|
||||||
|
width="214" name="asset_desc" left_delta="70" select_all_on_focus_received="true" select_on_focus="true"/>
|
||||||
|
<slider bottom_delta="0" can_edit_text="false" enabled="false" width="185" height="16" mouse_opaque="true"
|
||||||
|
decimal_digits="0" increment="1" initial_val="16" left="30" min_val="1.0" max_val="16.0"
|
||||||
|
name="timeline" show_text="false" value="1" control_name="AnimationTimelineScrubber"/>
|
||||||
|
<button bottom="9" follows="bottom|left" height="22" label="Upload (L$10)"
|
||||||
|
left="375" name="upload_button" tool_tip="Standard upload (L$10)"
|
||||||
|
width="120" />
|
||||||
|
<button bottom_delta="0" follows="bottom|left" height="22" label="Temp Upload"
|
||||||
|
left_delta="125" name="upload_button" tool_tip="Uploads a temporary version of the texture. It's free, but has a limited lifespan and area it can be used."
|
||||||
|
width="120" />
|
||||||
|
</panel>
|
||||||
|
<panel bottom="0" label="Folders" left="0" name="folder_panel" width="370">
|
||||||
|
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||||
|
bottom_delta="-30" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||||
|
font="SansSerifSmall" h_pad="0" halign="left" height="12" left="5"
|
||||||
|
mouse_opaque="true" name="amountofawesomelabel" v_pad="0" width="170">
|
||||||
|
Oh god this needs to be finished
|
||||||
|
</text>
|
||||||
|
</panel>
|
||||||
|
</tab_container>
|
||||||
|
</floater>
|
||||||
@@ -41,11 +41,33 @@
|
|||||||
tool_tip="Does not hide the UI when logging out."
|
tool_tip="Does not hide the UI when logging out."
|
||||||
mouse_opaque="true" name="always_rez_in_group_check" radio_style="false"
|
mouse_opaque="true" name="always_rez_in_group_check" radio_style="false"
|
||||||
width="400" />
|
width="400" />
|
||||||
|
<check_box bottom_delta="-20" control_name="AscentBuildAlwaysEnabled" enabled="true"
|
||||||
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
||||||
|
label="Always show Build as enabled" left="10"
|
||||||
|
tool_tip="Allows you to use the Build menu without having to be tricky about it. May not mean you can actually build there."
|
||||||
|
mouse_opaque="true" name="always_build_check" radio_style="false"
|
||||||
|
width="400" />
|
||||||
|
<check_box bottom_delta="-20" control_name="AscentFlyAlwaysEnabled" enabled="true"
|
||||||
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
||||||
|
label="Always allow Fly" left="10"
|
||||||
|
tool_tip="Lets you fly in locations you shouldn't be allowed to. Use at your own risk - Just because you can doesn't mean you should."
|
||||||
|
mouse_opaque="true" name="always_fly_check" radio_style="false"
|
||||||
|
width="400" />
|
||||||
|
<!--<check_box bottom_delta="-20" control_name="AscentPowerfulWizard" enabled="true"
|
||||||
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
||||||
|
label="Enable Power User functionality" left="10"
|
||||||
|
tool_tip="Adds features deemed too dangerous for normal use. These features can wreak havoc or do bad things if misused - Mostly to yourself. Turn this on at your own risk, and use any features it enables responsibly. Ascent devs will not replace anything you break if you ruin something important."
|
||||||
|
mouse_opaque="true" name="always_fly_check" radio_style="false"
|
||||||
|
width="400" />-->
|
||||||
</panel>
|
</panel>
|
||||||
<panel border="true" left="1" bottom="-408" height="408" width="500" mouse_opaque="true"
|
<panel border="true" left="1" bottom="-408" height="408" width="500" mouse_opaque="true"
|
||||||
follows="left|top|right|bottom" label="Chat/IM" name="Chat/IM">
|
follows="left|top|right|bottom" label="Chat/IM" name="Chat/IM">
|
||||||
<check_box bottom_delta="-25" control_name="HideNotificationsInChat" enabled="true"
|
<check_box bottom_delta="-25" control_name="WoLfVerticalIMTabs" enabled="true"
|
||||||
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
|
||||||
|
label="Use Vertical IMs (Requires a restart)" left="10"
|
||||||
|
mouse_opaque="true" name="use_vertical_ims_check" radio_style="false"
|
||||||
|
width="400" />
|
||||||
|
<check_box bottom_delta="-20" control_name="HideNotificationsInChat" enabled="true"
|
||||||
follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
|
||||||
label="Do not echo/log notifications in chat" left="10"
|
label="Do not echo/log notifications in chat" left="10"
|
||||||
mouse_opaque="true" name="hide_notifications_in_chat_check" radio_style="false"
|
mouse_opaque="true" name="hide_notifications_in_chat_check" radio_style="false"
|
||||||
|
|||||||
Reference in New Issue
Block a user