COMMIT STORM:

Updates for the UB - Still in the works, but it's getting there!

Signed-off-by: Beeks <HgDelirium@gmail.com>
This commit is contained in:
Beeks
2010-09-08 19:14:40 -04:00
parent cdf1620369
commit fb1194ec7c
5 changed files with 79 additions and 33 deletions

View File

@@ -43,32 +43,41 @@ ASFloaterUploadBrowser::ASFloaterUploadBrowser()
: LLFloater(std::string("floater_upload_browser"), std::string("FloaterUploadRect"), LLStringUtil::null)
{
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_upload_browser.xml");
mPathName = gDirUtilp->getSkinBaseDir();
mPathName = gSavedSettings.getString("AscentUploadFolder");
if (mPathName == "None")
mPathName = gDirUtilp->getExecutableDir();
mFilterType = "None";
mFileList = getChild<LLScrollListCtrl>("file_list");
mDriveCombo = getChild<LLComboBox>("drive_combo");
mBookmarkCombo = getChild<LLComboBox>("bookmark_combo");
//File list ------------------------------------------------------
mFileList = getChild<LLScrollListCtrl>("file_list");
childSetCommitCallback("file_list", onClickFile, this);
childSetDoubleClickCallback("file_list", onDoubleClick);
childSetCommitCallback("file_filter_combo", onUpdateFilter, this);
//Above File List ------------------------------------------------
mBookmarkCombo = getChild<LLComboBox>("bookmark_combo");
mDriveCombo = getChild<LLComboBox>("drive_combo");
childSetCommitCallback("drive_combo", onChangeDrives, this);
//This is so unbelievably shitty I can't believe it -HgB
std::string drive_letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
std::string drive_letters[] = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}; //Oh my god it's somehow worse now -HgB
S32 index;
mDriveCombo->removeall();
for (index = 0; index < 26; index++)
{
std::string dir = drive_letters.substr(index, index) + ":" + gDirUtilp->getDirDelimiter();
S32 file_count = gDirUtilp->countFilesInDir(dir, "*.*");
llinfos << dir << " - " << file_count << llendl;
std::string dir = drive_letters[index] + ":";
S32 file_count = gDirUtilp->countFilesInDir(dir + gDirUtilp->getDirDelimiter(), "*.*");
if(file_count)
{
mDriveCombo->add(dir, ADD_BOTTOM);
}
}
childSetAction("directory_button", onClickFilepathGoto, this);
//Below File List ------------------------------------------------
childSetCommitCallback("file_filter_combo", onUpdateFilter, this);
refresh();
mFileList->sortByColumn(std::string("file_name"), TRUE);
mFileList->sortByColumn(std::string("file_type"), TRUE);
@@ -82,12 +91,38 @@ ASFloaterUploadBrowser::~ASFloaterUploadBrowser()
sInstance = NULL;
}
//static
void ASFloaterUploadBrowser::onClickFilepathGoto(void* data)
{
ASFloaterUploadBrowser* panelp = (ASFloaterUploadBrowser*)data;
std::string new_path = panelp->childGetValue("dir_path");
if (new_path != panelp->mPathName)
{
panelp->mPathName = new_path;
panelp->refresh();
panelp->mFileList->selectFirstItem();
panelp->childSetValue("asset_name", "");
}
}
void ASFloaterUploadBrowser::onClickFile(LLUICtrl* ctrl, void* user_data)
{
ASFloaterUploadBrowser* panelp = (ASFloaterUploadBrowser*)user_data;
panelp->refreshUploadOptions();
}
void ASFloaterUploadBrowser::onChangeDrives(LLUICtrl* ctrl, void* user_data)
{
ASFloaterUploadBrowser* panelp = (ASFloaterUploadBrowser*)user_data;
if (panelp->mDriveCombo->getSelectedValue().asString() != panelp->mFilterType)
{
panelp->mPathName = panelp->mDriveCombo->getSelectedValue().asString();
panelp->refresh();
panelp->mFileList->selectFirstItem();
panelp->childSetValue("asset_name", "");
}
}
void ASFloaterUploadBrowser::onUpdateFilter(LLUICtrl* ctrl, void* user_data)
{
ASFloaterUploadBrowser* panelp = (ASFloaterUploadBrowser*)user_data;
@@ -150,6 +185,11 @@ void ASFloaterUploadBrowser::handleDoubleClick()
}
else if (mFileList->getFirstSelected()->getColumn(LIST_FILE_TYPE)->getValue().asInteger() == LIST_TYPE_FOLDER)
{
//Make sure that it's an actual folder so you don't get stuck - Specifically meant for files with no extension. -HgB
std::string new_path = mPathName + gDirUtilp->getDirDelimiter() + mFileList->getFirstSelected()->getColumn(LIST_FILE_NAME)->getValue().asString();
S32 file_count = gDirUtilp->countFilesInDir(new_path, "*.*");
if(!file_count)
return;
mPathName = mPathName + gDirUtilp->getDirDelimiter() + mFileList->getFirstSelected()->getColumn(LIST_FILE_NAME)->getValue().asString();
refresh();
mFileList->selectFirstItem();
@@ -164,7 +204,8 @@ void ASFloaterUploadBrowser::refresh()
std::string fullPath = mPathName + gDirUtilp->getDirDelimiter();
mFileList->deselectAllItems();
mFileList->deleteAllItems();
llinfos << "Getting file listing at " << gDirUtilp->getDirName(fullPath) << " side note " << gDirUtilp->getDirName("C:\\") << llendl;
childSetValue("dir_path", gDirUtilp->getDirName(fullPath));
gSavedSettings.setString("AscentUploadFolder", mPathName);
gDirUtilp->getNextFileInDir(gDirUtilp->getChatLogsDir(),"*", filename, false); //Clears the last file
bool found = true;
S32 file_count = 0;

View File

@@ -24,10 +24,14 @@ class ASFloaterUploadBrowser : public LLFloater
public:
ASFloaterUploadBrowser();
virtual ~ASFloaterUploadBrowser();
//File list
static void onClickFile(LLUICtrl* ctrl, void* user_data);
static void onUpdateFilter(LLUICtrl* ctrl, void* user_data);
static void onDoubleClick(void* user_data);
static void onChangeDrives(LLUICtrl* ctrl, void* user_data);
static void onClickFilepathGoto(void* data);
void refresh();
void refreshUploadOptions();
void handleDoubleClick();

View File

@@ -111,6 +111,7 @@
<texture name="inv_folder_notecard.tga"/>
<texture name="inv_folder_object.tga"/>
<texture name="inv_folder_plain_closed.tga"/>
<texture name="inv_folder_plain_open.tga"/>
<texture name="inv_folder_script.tga"/>
<texture name="inv_folder_snapshot.tga"/>
<texture name="inv_folder_sound.tga"/>

View File

@@ -1,6 +1,6 @@
<?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="600" min_height="340" max_width="600"
width="650" height="400" min_width="600" min_height="400" max_width="600"
name="browser" title="Upload Browser" control_name="UploadBrowserFloater">
<combo_box allow_text_entry="false" bottom="-42" follows="left|top" height="18" left="10" max_chars="20"
mouse_opaque="true" enabled="true" width="108" name="bookmark_combo" tool_tip="Jump to a common folder">
@@ -9,7 +9,7 @@
</combo_item>
</combo_box>
<button bottom_delta="0" follows="top|left" height="18" label="+"
left_delta="113" name="add_bookmark_button" tool_tip="Add current folder to Bookmarks"
left_delta="112" name="add_bookmark_button" tool_tip="Add current folder to Bookmarks"
width="20" />
<button bottom_delta="0" follows="top|left" height="18" label="-"
left_delta="22" name="remove_bookmark_button" tool_tip="Remove selected folder from Bookmarks"
@@ -52,7 +52,7 @@
mouse_opaque="true" name="filter_label" v_pad="0" width="128">
Filter:
</text>
<combo_box allow_text_entry="false" bottom_delta="-5" follows="left|bottom" height="18" left_delta="40" max_chars="20"
<combo_box allow_text_entry="false" bottom_delta="-4" follows="left|bottom" height="18" left_delta="30" max_chars="20"
mouse_opaque="true" enabled="true" width="108" name="file_filter_combo" tool_tip="Limit results to a specific type">
<combo_item name="None" value="None">
None

View File

@@ -3,12 +3,12 @@
height="18" left="0" mouse_opaque="true" name="Main Menu" opaque="false"
tear_off="false" width="802">
<menu bottom="273" create_jump_keys="true" drop_shadow="true" enabled="true"
height="263" label="File" left="0" mouse_opaque="false" name="File"
opaque="true" tear_off="true" width="243">
height="263" label="File" left="0" mouse_opaque="false" name="File"
opaque="true" tear_off="true" width="243">
<menu_item_call enabled="true" label="Image (L$[COST])..."
mouse_opaque="true" name="Upload Image" shortcut="control|U" >
<on_click function="File.UploadImage" userdata="" />
<on_enable function="File.EnableUpload" />
mouse_opaque="true" name="Upload Image" shortcut="control|U" >
<on_click function="File.UploadImage" userdata="" />
<on_enable function="File.EnableUpload" />
</menu_item_call>
<menu_item_call label="Sound (L$[COST])..." name="Upload Sound"
mouse_opaque="true" enabled="true" >
@@ -16,20 +16,25 @@
<on_enable function="File.EnableUpload" />
</menu_item_call>
<menu_item_call label="Animation (L$[COST])..." name="Upload Animation"
mouse_opaque="true" enabled="true" >
mouse_opaque="true" enabled="true" >
<on_click function="File.UploadAnim" userdata="" />
<on_enable function="File.EnableUpload" />
</menu_item_call>
<menu_item_call label="Bulk (L$[COST] per file)..." name="Bulk Upload"
mouse_opaque="true" enabled="true" >
mouse_opaque="true" enabled="true" >
<on_click function="File.UploadBulk" userdata="" />
</menu_item_call>
<menu_item_call bottom="-86" enabled="true" height="19"
label="Import XML..." left="0" mouse_opaque="true"
name="Import XML" width="243">
<on_click function="File.ImportXML" userdata="" />
<on_enable function ="File.EnableImportXML" userdata="" />
</menu_item_call>
<menu_item_call bottom="-86" enabled="true" height="19"
label="Import XML..." left="0" mouse_opaque="true"
name="Import XML" width="243">
<on_click function="File.ImportXML" userdata="" />
<on_enable function ="File.EnableImportXML" userdata="" />
</menu_item_call>
<!--<menu_item_check bottom="-384" enabled="true" height="19" label="Upload Browser" left="0"
mouse_opaque="true" name="ascentuploadbrowser" width="211">
<on_click function="ShowFloater" userdata="ascentuploadbrowser" />
<on_check function="FloaterVisible" userdata="ascentuploadbrowser" />
</menu_item_check>-->
<menu_item_separator enabled="true" label="-----------" mouse_opaque="true" name="separator" />
<menu_item_call enabled="true" label="Set Default Permissions..."
mouse_opaque="true" name="perm prefs" >
@@ -77,11 +82,6 @@
mouse_opaque="true" name="Log Out" width="243">
<on_click function="File.LogOut" userdata="" />
</menu_item_call>
<!--<menu_item_check bottom="-384" enabled="true" height="19" label="Test" left="0"
mouse_opaque="true" name="ascentuploadbrowser" width="211">
<on_click function="ShowFloater" userdata="ascentuploadbrowser" />
<on_check function="FloaterVisible" userdata="ascentuploadbrowser" />
</menu_item_check>-->
</menu>
<menu bottom="97" create_jump_keys="true" drop_shadow="true" enabled="true"
height="439" label="Edit" left="38" mouse_opaque="false" name="Edit"