diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llviewermenu.cpp | 145 |
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 | ||
213 | void init_client_menu(LLMenuGL* menu); | 214 | void init_client_menu(LLMenuGL* menu); |
214 | void init_server_menu(LLMenuGL* menu); | 215 | void init_server_menu(LLMenuGL* menu); |
@@ -2261,6 +2262,143 @@ class LLObjectMute : public view_listener_t | |||
2261 | } | 2262 | } |
2262 | }; | 2263 | }; |
2263 | 2264 | ||
2265 | class 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 | |||
2277 | class 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 | |||
2298 | class 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 | |||
2356 | class 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 | |||
2375 | class 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 | |||
2384 | class 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 | |||
2393 | class 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 | |||
2264 | bool handle_go_to() | 2402 | bool 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"); |