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>
|
||||
<map>
|
||||
<!--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>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
@@ -233,112 +431,10 @@
|
||||
<key>Value</key>
|
||||
<real>0.1</real>
|
||||
</map>
|
||||
<!-- Expanded Settings that have optionally Account-Specific alternatives -->
|
||||
|
||||
<!-- Ascent-Specific Settings -->
|
||||
<key>AscentCmdLine</key>
|
||||
<key>WoLfVerticalIMTabs</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>
|
||||
<string>Vertical IM Tabs</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
@@ -346,71 +442,19 @@
|
||||
<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>
|
||||
<!-- Expanded Settings that have optionally Account-Specific alternatives -->
|
||||
|
||||
<!-- Ascent-Specific Settings -->
|
||||
<key>AscentPowerfulWizard</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Teleport to your camera</string>
|
||||
<string>User is a bad enough dude.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>String</string>
|
||||
<string>Boolean</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>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>AscentUseCustomTag</key>
|
||||
<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 "llimview.h"
|
||||
#include "llimpanel.h"
|
||||
|
||||
#include "llstring.h"
|
||||
//
|
||||
// LLFloaterMyFriends
|
||||
//
|
||||
@@ -94,7 +94,18 @@ LLFloaterChatterBox::LLFloaterChatterBox(const LLSD& seed) :
|
||||
{
|
||||
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"))
|
||||
{
|
||||
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."
|
||||
mouse_opaque="true" name="always_rez_in_group_check" radio_style="false"
|
||||
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 border="true" left="1" bottom="-408" height="408" width="500" mouse_opaque="true"
|
||||
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"
|
||||
label="Do not echo/log notifications in chat" left="10"
|
||||
mouse_opaque="true" name="hide_notifications_in_chat_check" radio_style="false"
|
||||
|
||||
Reference in New Issue
Block a user