aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llviewermenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/llviewermenu.cpp145
1 files changed, 145 insertions, 0 deletions
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index 415064d..1560414 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -209,6 +209,7 @@
209#include "llwaterparammanager.h" 209#include "llwaterparammanager.h"
210 210
211#include "lltexlayer.h" 211#include "lltexlayer.h"
212#include "primbackup.h"
212 213
213void init_client_menu(LLMenuGL* menu); 214void init_client_menu(LLMenuGL* menu);
214void init_server_menu(LLMenuGL* menu); 215void init_server_menu(LLMenuGL* menu);
@@ -2261,6 +2262,143 @@ class LLObjectMute : public view_listener_t
2261 } 2262 }
2262}; 2263};
2263 2264
2265class LLObjectEnableCopyUUID : public view_listener_t
2266{
2267 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
2268 {
2269 LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getFirstObject();
2270 bool new_value = (object != NULL);
2271
2272 gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
2273 return true;
2274 }
2275};
2276
2277class LLObjectCopyUUID : public view_listener_t
2278{
2279 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
2280 {
2281 LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getFirstObject();
2282 if (!object) return true;
2283
2284 LLUUID id = object->getID();
2285
2286 char buffer[UUID_STR_LENGTH];
2287 id.toString(buffer);
2288
2289
2290 gViewerWindow->mWindow->copyTextToClipboard(utf8str_to_wstring(buffer));
2291
2292 LLSelectMgr::getInstance()->deselectAll();
2293 return true;
2294 }
2295};
2296
2297
2298class LLObjectEnableExport : public view_listener_t
2299{
2300 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
2301 {
2302 LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject();
2303 bool new_value = (object != NULL);
2304 if (new_value)
2305 {
2306 LLVOAvatar* avatar = find_avatar_from_object(object);
2307 new_value = (avatar == NULL);
2308 }
2309 if(new_value)
2310 {
2311
2312 struct ff : public LLSelectedNodeFunctor
2313 {
2314 ff(const LLSD& data) : LLSelectedNodeFunctor()
2315 ,userdata(data)
2316 {
2317
2318 }
2319 const LLSD& userdata;
2320 virtual bool apply(LLSelectNode* node)
2321 {
2322 if(gAgent.getID()!=node->mPermissions->getCreator())
2323 {
2324 llwarns<<"Incorrect permission to export"<<llendl;
2325 return false;
2326 }
2327 return true;
2328 }
2329 };
2330
2331#ifdef LL_GRID_PERMISSIONS
2332
2333 ff * the_ff=new ff(userdata);
2334 if(LLSelectMgr::getInstance()->getSelection()->applyToNodes(the_ff,false))
2335 {
2336 gMenuHolder->findControl(userdata["control"].asString())->setValue(true);
2337 }
2338 else
2339 {
2340 gMenuHolder->findControl(userdata["control"].asString())->setValue(false);
2341 }
2342 return true;
2343 }
2344
2345 gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
2346 return true;
2347#else
2348 }
2349 gMenuHolder->findControl(userdata["control"].asString())->setValue(true);
2350 return true;
2351#endif
2352
2353 }
2354};
2355
2356class LLObjectExport : public view_listener_t
2357{
2358 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
2359 {
2360 LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject();
2361 if (!object) return true;
2362
2363 LLVOAvatar* avatar = find_avatar_from_object(object);
2364
2365 if (!avatar)
2366 {
2367 primbackup::getInstance()->pre_export_object();
2368 }
2369
2370 return true;
2371 }
2372};
2373
2374
2375class LLObjectEnableImport : public view_listener_t
2376{
2377 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
2378 {
2379 gMenuHolder->findControl(userdata["control"].asString())->setValue(TRUE);
2380 return true;
2381 }
2382};
2383
2384class LLObjectImport : public view_listener_t
2385{
2386 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
2387 {
2388 primbackup::getInstance()->import_object(FALSE);
2389 return true;
2390 }
2391};
2392
2393class LLObjectImportUpload : public view_listener_t
2394{
2395 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
2396 {
2397 primbackup::getInstance()->import_object(TRUE);
2398 return true;
2399 }
2400};
2401
2264bool handle_go_to() 2402bool handle_go_to()
2265{ 2403{
2266// [RLVa:KB] - Checked: 2009-07-06 (RLVa-1.0.0c) 2404// [RLVa:KB] - Checked: 2009-07-06 (RLVa-1.0.0c)
@@ -10279,6 +10417,10 @@ void initialize_menus()
10279 addMenu(new LLObjectBuy(), "Object.Buy"); 10417 addMenu(new LLObjectBuy(), "Object.Buy");
10280 addMenu(new LLObjectEdit(), "Object.Edit"); 10418 addMenu(new LLObjectEdit(), "Object.Edit");
10281 addMenu(new LLObjectInspect(), "Object.Inspect"); 10419 addMenu(new LLObjectInspect(), "Object.Inspect");
10420 addMenu(new LLObjectCopyUUID(), "Object.CopyUUID");
10421 addMenu(new LLObjectExport(), "Object.Export");
10422 addMenu(new LLObjectImport(), "Object.Import");
10423 addMenu(new LLObjectImportUpload(), "Object.ImportUpload");
10282 10424
10283 addMenu(new LLObjectEnableOpen(), "Object.EnableOpen"); 10425 addMenu(new LLObjectEnableOpen(), "Object.EnableOpen");
10284 addMenu(new LLObjectEnableTouch(), "Object.EnableTouch"); 10426 addMenu(new LLObjectEnableTouch(), "Object.EnableTouch");
@@ -10289,6 +10431,9 @@ void initialize_menus()
10289 addMenu(new LLObjectEnableReportAbuse(), "Object.EnableReportAbuse"); 10431 addMenu(new LLObjectEnableReportAbuse(), "Object.EnableReportAbuse");
10290 addMenu(new LLObjectEnableMute(), "Object.EnableMute"); 10432 addMenu(new LLObjectEnableMute(), "Object.EnableMute");
10291 addMenu(new LLObjectEnableBuy(), "Object.EnableBuy"); 10433 addMenu(new LLObjectEnableBuy(), "Object.EnableBuy");
10434 addMenu(new LLObjectEnableCopyUUID(), "Object.EnableCopyUUID");
10435 addMenu(new LLObjectEnableExport(), "Object.EnableExport");
10436 addMenu(new LLObjectEnableImport(), "Object.EnableImport");
10292 10437
10293 /*addMenu(new LLObjectVisibleTouch(), "Object.VisibleTouch"); 10438 /*addMenu(new LLObjectVisibleTouch(), "Object.VisibleTouch");
10294 addMenu(new LLObjectVisibleCustomTouch(), "Object.VisibleCustomTouch"); 10439 addMenu(new LLObjectVisibleCustomTouch(), "Object.VisibleCustomTouch");