X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Radegast%2FGUI%2FConsoles%2FTabsConsole.cs;h=0a4ddebf6fac073dc0cec222c0e99614dd9ec70c;hb=722e97bbb5852c9f5d8c7ae6e32eba8f85f7b045;hp=0d3136210597789b7ffcfbdaf33fac04898e5be5;hpb=3cc08b02c7d8f90c0199e896fde860e58a82cf28;p=radegast%2Fradegast.git diff --git a/Radegast/GUI/Consoles/TabsConsole.cs b/Radegast/GUI/Consoles/TabsConsole.cs index 0d31362..0a4ddeb 100644 --- a/Radegast/GUI/Consoles/TabsConsole.cs +++ b/Radegast/GUI/Consoles/TabsConsole.cs @@ -1,6 +1,6 @@ // // Radegast Metaverse Client -// Copyright (c) 2009-2012, Radegast Development Team +// Copyright (c) 2009-2014, Radegast Development Team // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -261,7 +261,20 @@ namespace Radegast || (m.Type == MuteType.ByName && m.Name == e.ObjectName) // object muted by name )) return; - instance.MainForm.AddNotification(new ntfPermissions(instance, e.Simulator, e.TaskID, e.ItemID, e.ObjectName, e.ObjectOwnerName, e.Questions)); + if (instance.GlobalSettings["on_script_question"] == "Auto Decline" + || instance.RLV.RestictionActive("denypermission")) + { + instance.Client.Self.ScriptQuestionReply(e.Simulator, e.ItemID, e.TaskID, 0); + } + else if (instance.GlobalSettings["on_script_question"] == "Auto Accept" + || instance.RLV.RestictionActive("acceptpermission")) + { + instance.Client.Self.ScriptQuestionReply(e.Simulator, e.ItemID, e.TaskID, e.Questions); + } + else + { + instance.MainForm.AddNotification(new ntfPermissions(instance, e.Simulator, e.TaskID, e.ItemID, e.ObjectName, e.ObjectOwnerName, e.Questions)); + } } private void netcom_ClientLoginStatus(object sender, LoginProgressEventArgs e) @@ -347,6 +360,18 @@ namespace Radegast // Messaage from someone we muted? if (null != client.Self.MuteList.Find(me => me.Type == MuteType.Resident && me.ID == e.IM.FromAgentID)) return; + try + { + if (instance.State.LSLHelper.ProcessIM(e)) + { + return; + } + } + catch (Exception ex) + { + Logger.Log("Failed executing automation action: " + ex.ToString(), Helpers.LogLevel.Warning); + } + switch (e.IM.Dialog) { case InstantMessageDialog.SessionSend: @@ -379,7 +404,7 @@ namespace Radegast } else if (e.IM.IMSessionID == UUID.Zero) { - String msg = string.Format("Region message from {0}: {1}", instance.Names.Get(e.IM.FromAgentID, e.IM.FromAgentName), e.IM.Message); + String msg = string.Format("Message from {0}: {1}", instance.Names.Get(e.IM.FromAgentID, e.IM.FromAgentName), e.IM.Message); instance.MainForm.AddNotification(new ntfGeneric(instance, msg)); DisplayNotificationInChat(msg); } @@ -427,6 +452,10 @@ namespace Radegast } break; + case InstantMessageDialog.RequestLure: + instance.MainForm.AddNotification(new ntfRequestLure(instance, e.IM)); + break; + case InstantMessageDialog.GroupInvitation: instance.MainForm.AddNotification(new ntfGroupInvitation(instance, e.IM)); break;