super importer stuff (gui, texture upload, etc.)
parent
4e420a36c6
commit
7fa6982520
|
|
@ -42,6 +42,7 @@
|
|||
#include "llnotify.h"
|
||||
#include "llinventorymodel.h"
|
||||
#include "llfloaterinventory.h"
|
||||
#include "llfloaterimportcollada.h"
|
||||
#include "llpermissionsflags.h"
|
||||
#include "llpreviewnotecard.h"
|
||||
#include "llpreviewscript.h"
|
||||
|
|
@ -414,6 +415,8 @@ void LLNewAgentInventoryResponder::uploadComplete(const LLSD& content)
|
|||
LLGlobalEconomy::Singleton::getInstance()->getPriceUpload(),
|
||||
userdata);
|
||||
}
|
||||
|
||||
LLImportColladaAssetCache::getInstance()->assetUploaded(mVFileID, content["new_asset"], TRUE);
|
||||
}
|
||||
|
||||
LLSendTexLayerResponder::LLSendTexLayerResponder(const LLSD& post_data,
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ LLFilePicker LLFilePicker::sInstance;
|
|||
#define SOUND_FILTER L"Sounds (*.wav)\0*.wav\0"
|
||||
#define IMAGE_FILTER L"Images (*.tga; *.bmp; *.jpg; *.jpeg; *.png)\0*.tga;*.bmp;*.jpg;*.jpeg;*.png\0"
|
||||
#define ANIM_FILTER L"Animations (*.bvh)\0*.bvh\0"
|
||||
#define COLLADA_FILTER L"Scene (*.dae)\0*.dae\0"
|
||||
#ifdef _CORY_TESTING
|
||||
#define GEOMETRY_FILTER L"SL Geometry (*.slg)\0*.slg\0"
|
||||
#endif
|
||||
|
|
@ -176,6 +177,10 @@ BOOL LLFilePicker::setupFilter(ELoadFilter filter)
|
|||
mOFN.lpstrFilter = ANIM_FILTER \
|
||||
L"\0";
|
||||
break;
|
||||
case FFLOAD_COLLADA:
|
||||
mOFN.lpstrFilter = COLLADA_FILTER \
|
||||
L"\0";
|
||||
break;
|
||||
#ifdef _CORY_TESTING
|
||||
case FFLOAD_GEOMETRY:
|
||||
mOFN.lpstrFilter = GEOMETRY_FILTER \
|
||||
|
|
@ -547,6 +552,15 @@ Boolean LLFilePicker::navOpenFilterProc(AEDesc *theItem, void *info, void *callB
|
|||
result = false;
|
||||
}
|
||||
}
|
||||
else if (filter == FFLOAD_COLLADA)
|
||||
{
|
||||
if (fileInfo.filetype != 'DAE ' &&
|
||||
(fileInfo.extension && (CFStringCompare(fileInfo.extension, CFSTR("dae"), kCFCompareCaseInsensitive) != kCFCompareEqualTo))
|
||||
)
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
#ifdef _CORY_TESTING
|
||||
else if (filter == FFLOAD_GEOMETRY)
|
||||
{
|
||||
|
|
@ -1093,6 +1107,12 @@ static std::string add_bvh_filter_to_gtkchooser(GtkWindow *picker)
|
|||
LLTrans::getString("animation_files") + " (*.bvh)");
|
||||
}
|
||||
|
||||
static std::string add_collada_filter_to_gtkchooser(GtkWindow *picker)
|
||||
{
|
||||
return add_simple_pattern_filter_to_gtkchooser(picker, "*.dae",
|
||||
LLTrans::getString("scene_files") + " (*.dae)");
|
||||
}
|
||||
|
||||
static std::string add_imageload_filter_to_gtkchooser(GtkWindow *picker)
|
||||
{
|
||||
GtkFileFilter *gfilter = gtk_file_filter_new();
|
||||
|
|
@ -1217,6 +1237,9 @@ BOOL LLFilePicker::getOpenFile( ELoadFilter filter )
|
|||
case FFLOAD_ANIM:
|
||||
filtername = add_bvh_filter_to_gtkchooser(picker);
|
||||
break;
|
||||
case FFLOAD_COLLADA:
|
||||
filtername = add_collada_filter_to_gtkchooser(picker);
|
||||
break;
|
||||
case FFLOAD_IMAGE:
|
||||
filtername = add_imageload_filter_to_gtkchooser(picker);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ public:
|
|||
FFLOAD_SLOBJECT = 7,
|
||||
FFLOAD_RAW = 8,
|
||||
FFLOAD_MODEL = 9,
|
||||
FFLOAD_COLLADA = 10,
|
||||
};
|
||||
|
||||
enum ESaveFilter
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@
|
|||
#include "llimpanel.h"
|
||||
#include "llfloaterinspect.h"
|
||||
#include "llfloaterinventory.h"
|
||||
#include "llfloaterimportcollada.h"
|
||||
#include "llfloaterjoystick.h"
|
||||
#include "llfloaterlagmeter.h"
|
||||
#include "llfloaterland.h"
|
||||
|
|
@ -172,6 +173,7 @@ void LLViewerFloaterReg::registerFloaters()
|
|||
LLFloaterReg::add("hud", "floater_hud.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterHUD>);
|
||||
|
||||
LLFloaterReg::add("impanel", "floater_im_session.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIMFloater>);
|
||||
LLFloaterReg::add("import_collada", "floater_import_collada.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterImportCollada>);
|
||||
LLFloaterReg::add("inventory", "floater_inventory.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterInventory>);
|
||||
LLFloaterReg::add("inspect", "floater_inspect.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterInspect>);
|
||||
LLInspectAvatarUtil::registerFloater();
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
#include "llfilepicker.h"
|
||||
#include "llfloaterreg.h"
|
||||
#include "llfloaterbuycurrency.h"
|
||||
#include "llfloaterimportcollada.h"
|
||||
#include "llfloatermodelpreview.h"
|
||||
#include "llfloatersnapshot.h"
|
||||
#include "llinventorymodel.h" // gInventory
|
||||
|
|
@ -56,7 +57,7 @@
|
|||
#include "llappviewer.h"
|
||||
#include "lluploaddialog.h"
|
||||
#include "lltrans.h"
|
||||
|
||||
#include "llfloaterimportcollada.h"
|
||||
|
||||
// linden libraries
|
||||
#include "llassetuploadresponders.h"
|
||||
|
|
@ -263,6 +264,19 @@ class LLFileUploadImage : public view_listener_t
|
|||
}
|
||||
};
|
||||
|
||||
class LLFileUploadScene : public view_listener_t
|
||||
{
|
||||
bool handleEvent(const LLSD& userdata)
|
||||
{
|
||||
std::string filename = upload_pick((void *)LLFilePicker::FFLOAD_COLLADA);
|
||||
if (!filename.empty())
|
||||
{
|
||||
LLImportCollada::getInstance()->importFile(filename);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
};
|
||||
|
||||
class LLFileUploadModel : public view_listener_t
|
||||
{
|
||||
bool handleEvent(const LLSD& userdata)
|
||||
|
|
@ -517,7 +531,7 @@ void handle_compress_image(void*)
|
|||
}
|
||||
}
|
||||
|
||||
void upload_new_resource(
|
||||
LLUUID upload_new_resource(
|
||||
const std::string& src_filename,
|
||||
std::string name,
|
||||
std::string desc,
|
||||
|
|
@ -555,7 +569,7 @@ void upload_new_resource(
|
|||
short_name.c_str());
|
||||
args["FILE"] = short_name;
|
||||
upload_error(error_message, "NofileExtension", filename, args);
|
||||
return;
|
||||
return LLUUID();
|
||||
}
|
||||
else if( exten == "bmp")
|
||||
{
|
||||
|
|
@ -569,7 +583,7 @@ void upload_new_resource(
|
|||
args["FILE"] = src_filename;
|
||||
args["ERROR"] = LLImage::getLastError();
|
||||
upload_error(error_message, "ProblemWithFile", filename, args);
|
||||
return;
|
||||
return LLUUID();
|
||||
}
|
||||
}
|
||||
else if( exten == "tga")
|
||||
|
|
@ -584,7 +598,7 @@ void upload_new_resource(
|
|||
args["FILE"] = src_filename;
|
||||
args["ERROR"] = LLImage::getLastError();
|
||||
upload_error(error_message, "ProblemWithFile", filename, args);
|
||||
return;
|
||||
return LLUUID();
|
||||
}
|
||||
}
|
||||
else if( exten == "jpg" || exten == "jpeg")
|
||||
|
|
@ -599,7 +613,7 @@ void upload_new_resource(
|
|||
args["FILE"] = src_filename;
|
||||
args["ERROR"] = LLImage::getLastError();
|
||||
upload_error(error_message, "ProblemWithFile", filename, args);
|
||||
return;
|
||||
return LLUUID();
|
||||
}
|
||||
}
|
||||
else if( exten == "png")
|
||||
|
|
@ -614,7 +628,7 @@ void upload_new_resource(
|
|||
args["FILE"] = src_filename;
|
||||
args["ERROR"] = LLImage::getLastError();
|
||||
upload_error(error_message, "ProblemWithFile", filename, args);
|
||||
return;
|
||||
return LLUUID();
|
||||
}
|
||||
}
|
||||
else if(exten == "wav")
|
||||
|
|
@ -642,7 +656,7 @@ void upload_new_resource(
|
|||
upload_error(error_message, "UnknownVorbisEncodeFailure", filename, args);
|
||||
break;
|
||||
}
|
||||
return;
|
||||
return LLUUID();
|
||||
}
|
||||
}
|
||||
else if(exten == "tmp")
|
||||
|
|
@ -682,7 +696,7 @@ void upload_new_resource(
|
|||
error_message = llformat("corrupt resource file: %s", src_filename.c_str());
|
||||
args["FILE"] = src_filename;
|
||||
upload_error(error_message, "CorruptResourceFile", filename, args);
|
||||
return;
|
||||
return LLUUID();
|
||||
}
|
||||
|
||||
if (2 == tokens_read)
|
||||
|
|
@ -710,7 +724,7 @@ void upload_new_resource(
|
|||
error_message = llformat("unknown linden resource file version in file: %s", src_filename.c_str());
|
||||
args["FILE"] = src_filename;
|
||||
upload_error(error_message, "UnknownResourceFileVersion", filename, args);
|
||||
return;
|
||||
return LLUUID();
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -752,7 +766,7 @@ void upload_new_resource(
|
|||
error_message = llformat( "Unable to create output file: %s", filename.c_str());
|
||||
args["FILE"] = filename;
|
||||
upload_error(error_message, "UnableToCreateOutputFile", filename, args);
|
||||
return;
|
||||
return LLUUID();
|
||||
}
|
||||
|
||||
fclose(in);
|
||||
|
|
@ -766,7 +780,7 @@ void upload_new_resource(
|
|||
{
|
||||
error_message = llformat("We do not currently support bulk upload of animation files\n");
|
||||
upload_error(error_message, "DoNotSupportBulkAnimationUpload", filename, args);
|
||||
return;
|
||||
return LLUUID();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -840,6 +854,8 @@ void upload_new_resource(
|
|||
}
|
||||
LLFilePicker::instance().reset();
|
||||
}
|
||||
|
||||
return uuid;
|
||||
}
|
||||
|
||||
void upload_done_callback(
|
||||
|
|
@ -1260,6 +1276,7 @@ void init_menu_file()
|
|||
view_listener_t::addCommit(new LLFileUploadSound(), "File.UploadSound");
|
||||
view_listener_t::addCommit(new LLFileUploadAnim(), "File.UploadAnim");
|
||||
view_listener_t::addCommit(new LLFileUploadModel(), "File.UploadModel");
|
||||
view_listener_t::addCommit(new LLFileUploadScene(), "File.UploadScene");
|
||||
view_listener_t::addCommit(new LLFileUploadBulk(), "File.UploadBulk");
|
||||
view_listener_t::addCommit(new LLFileCloseWindow(), "File.CloseWindow");
|
||||
view_listener_t::addCommit(new LLFileCloseAllWindows(), "File.CloseAllWindows");
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ class LLTransactionID;
|
|||
|
||||
void init_menu_file();
|
||||
|
||||
void upload_new_resource(
|
||||
LLUUID upload_new_resource(
|
||||
const std::string& src_filename,
|
||||
std::string name,
|
||||
std::string desc,
|
||||
|
|
|
|||
|
|
@ -135,6 +135,16 @@
|
|||
parameter="" />
|
||||
<menu_item_call.on_enable
|
||||
function="File.EnableUpload" />
|
||||
</menu_item_call>
|
||||
<menu_item_call
|
||||
label="Scene..."
|
||||
layout="topleft"
|
||||
name="Upload Scene">
|
||||
<menu_item_call.on_click
|
||||
function="File.UploadScene"
|
||||
parameter="" />
|
||||
<menu_item_call.on_enable
|
||||
function="File.EnableUpload" />
|
||||
</menu_item_call>
|
||||
<menu_item_call
|
||||
label="Animation (L$[COST])..."
|
||||
|
|
|
|||
Loading…
Reference in New Issue