OSDN Git Service

Add couple of button on right-clicking avatar.
authorLatif Khalifa <latifer@streamgrid.net>
Mon, 8 Aug 2011 01:36:29 +0000 (01:36 +0000)
committerLatif Khalifa <latifer@streamgrid.net>
Mon, 8 Aug 2011 01:36:29 +0000 (01:36 +0000)
git-svn-id: https://radegast.googlecode.com/svn/trunk@1081 f7a694da-4d33-11de-9ad6-1127a62b9fcd

Radegast/GUI/Rendering/Rendering.cs

index fb95b80..a58091c 100644 (file)
@@ -3333,34 +3333,36 @@ namespace Radegast.Rendering
             ce.Cancel = false;\r
             ToolStripMenuItem item;\r
 \r
+            // Always add standup button if we are sitting\r
+            if (Instance.State.IsSitting)\r
+            {\r
+                item = new ToolStripMenuItem("Stand Up", null, (sender, e) =>\r
+                {\r
+                    instance.State.SetSitting(false, UUID.Zero);\r
+                });\r
+                ctxMenu.Items.Add(item);\r
+            }\r
+\r
             // Was it prim that was right clicked\r
             if (RightclickedObject != null && RightclickedObject is RenderPrimitive)\r
             {\r
                 RenderPrimitive prim = (RenderPrimitive)RightclickedObject;\r
 \r
-                // Sit/stand up button handling\r
-                item = new ToolStripMenuItem("Sit", null, (sender, e) =>\r
+                // Sit button handling\r
+                if (!instance.State.IsSitting)\r
                 {\r
-                    if (!instance.State.IsSitting)\r
+                    item = new ToolStripMenuItem("Sit", null, (sender, e) =>\r
                     {\r
                         instance.State.SetSitting(true, prim.Prim.ID);\r
-                    }\r
-                    else\r
+                    });\r
+\r
+                    if (prim.Prim.Properties != null\r
+                        && !string.IsNullOrEmpty(prim.Prim.Properties.SitName))\r
                     {\r
-                        instance.State.SetSitting(false, UUID.Zero);\r
+                        item.Text = prim.Prim.Properties.SitName;\r
                     }\r
-                });\r
-\r
-                if (instance.State.IsSitting)\r
-                {\r
-                    item.Text = "Stand up";\r
-                }\r
-                else if (prim.Prim.Properties != null\r
-                    && !string.IsNullOrEmpty(prim.Prim.Properties.SitName))\r
-                {\r
-                    item.Text = prim.Prim.Properties.SitName;\r
+                    ctxMenu.Items.Add(item);\r
                 }\r
-                ctxMenu.Items.Add(item);\r
 \r
                 // Is the prim touchable\r
                 if ((prim.Prim.Flags & PrimFlags.Touch) != 0)\r
@@ -3401,6 +3403,44 @@ namespace Radegast.Rendering
 \r
 \r
                 }\r
+            } // We right clicked on an avatar, add some context menu items\r
+            else if (RightclickedObject != null && RightclickedObject is RenderAvatar)\r
+            {\r
+                RenderAvatar av = (RenderAvatar)RightclickedObject;\r
+\r
+                // Profile button\r
+                item = new ToolStripMenuItem("Profile", null, (sender, e) =>\r
+                {\r
+                    Instance.MainForm.ShowAgentProfile("", av.avatar.ID);\r
+                });\r
+                ctxMenu.Items.Add(item);\r
+\r
+                if (av.avatar.ID != Client.Self.AgentID)\r
+                {\r
+                    // IM button\r
+                    item = new ToolStripMenuItem("Instant Message", null, (sender, e) =>\r
+                    {\r
+                        if (Instance.TabConsole.TabExists((Client.Self.AgentID ^ av.avatar.ID).ToString()))\r
+                        {\r
+                            Instance.TabConsole.SelectTab((Client.Self.AgentID ^ av.avatar.ID).ToString());\r
+                        }\r
+                        else\r
+                        {\r
+                            Instance.MediaManager.PlayUISound(UISounds.IMWindow);\r
+                            Instance.TabConsole.AddIMTab(av.avatar.ID, Client.Self.AgentID ^ av.avatar.ID, Instance.Names.Get(av.avatar.ID));\r
+                            Instance.TabConsole.SelectTab((Client.Self.AgentID ^ av.avatar.ID).ToString());\r
+                        }\r
+                    });\r
+                    ctxMenu.Items.Add(item);\r
+\r
+                    // Pay button\r
+                    item = new ToolStripMenuItem("Pay", null, (sender, e) =>\r
+                    {\r
+                        (new frmPay(Instance, av.avatar.ID, Instance.Names.Get(av.avatar.ID), false)).ShowDialog();\r
+                    });\r
+                    ctxMenu.Items.Add(item);\r
+                }\r
+\r
             }\r
 \r
             // If we are not the sole menu item, add separator\r