{\r
// Initialize the index to conversations and the list of pending interruptions.\r
interruptions = new LinkedList<Mode>();\r
- conversations = new Dictionary<string,Mode>();\r
+ conversations = new Dictionary<string, Mode>();\r
}\r
\r
internal override void Start()\r
// Automatically handle notifications (blue dialogs)\r
Notification.OnNotificationDisplayed +=\r
new Notification.NotificationCallback(OnNotificationDisplayed);\r
-// Notification.OnNotificationClosed +=\r
-// new Notification.NotificationCallback(OnNotificationClosed);\r
+ // Notification.OnNotificationClosed +=\r
+ // new Notification.NotificationCallback(OnNotificationClosed);\r
\r
// Announce connect and disconnect.\r
control.instance.Netcom.ClientConnected +=\r
Talker.SayMore("Connecting to region");\r
return;\r
\r
- case LoginStatus.Success:\r
+ case LoginStatus.Success:\r
LoginName = control.instance.Netcom.LoginOptions.FullName;\r
//Talker.SayMore("Logged in as " + LoginName);\r
//if (friends != null)\r
{\r
System.Windows.Forms.Control sTabControl = Tab.Control;\r
\r
- if (sTabControl is InventoryConsole)\r
+ if (sTabControl is InventoryConsole && control.config["enabled_for_inventory"])\r
+ {\r
SelectConversation(inventory);\r
+ }\r
else if (sTabControl is ChatConsole)\r
{\r
if (chat == null)\r
}\r
SelectConversation(chat);\r
}\r
- else if (sTabControl is FriendsConsole)\r
+ else if (sTabControl is FriendsConsole && control.config["enabled_for_friends"])\r
+ {\r
SelectConversation(friends);\r
+ }\r
else if (sTabControl is VoiceConsole)\r
+ {\r
SelectConversation(voice);\r
+ }\r
else if (sTabControl is GroupIMTabWindow)\r
{\r
GroupIMTabWindow tab = (GroupIMTabWindow)sTabControl;\r
IMTabWindow tab = (IMTabWindow)sTabControl;\r
SelectConversation(tab.TargetName);\r
}\r
- else if (sTabControl is ObjectsConsole)\r
+ else if (sTabControl is ObjectsConsole && control.config["enabled_for_objects"])\r
{\r
SelectConversation(surroundings);\r
}\r
Mode newConv = null;\r
\r
// Create a conversation on first appearance of its tab.\r
- if (sTabControl is InventoryConsole)\r
+ if (sTabControl is InventoryConsole && control.config["enabled_for_inventory"])\r
+ {\r
newConv = inventory = new Closet(control);\r
+ }\r
else if (sTabControl is ChatConsole)\r
{\r
if (chat != null) return;\r
newConv = chat = new Chat(control);\r
}\r
- else if (sTabControl is FriendsConsole)\r
+ else if (sTabControl is FriendsConsole && control.config["enabled_for_friends"])\r
+ {\r
newConv = friends = new Friends(control);\r
+ }\r
else if (sTabControl is VoiceConsole)\r
+ {\r
newConv = voice = new Voice(control);\r
+ }\r
else if (sTabControl is GroupIMTabWindow)\r
{\r
GroupIMTabWindow tab = (GroupIMTabWindow)sTabControl;\r
AddConversation(new SingleIMSession(control, tab.TargetName, tab.TargetId, tab.SessionId));\r
return;\r
}\r
- else if (sTabControl is ObjectsConsole)\r
+ else if (sTabControl is ObjectsConsole && control.config["enabled_for_objects"])\r
{\r
surroundings = new Surroundings(control);\r
AddConversation(surroundings);\r
/// <summary>\r
/// Finish an interruption and resume normal conversation\r
/// </summary>\r
- internal void FinishInterruption( Mode m )\r
+ internal void FinishInterruption(Mode m)\r
{\r
lock (interruptions)\r
{\r
}\r
}\r
}\r
- \r
+\r
private void Network_ClientConnected(object sender, EventArgs e)\r
{\r
Talker.Say("You are connected.", Talk.BeepType.Good);\r
}\r
return true;\r
}\r
- \r
+\r
/// <summary>\r
/// Dispatch recognized text to appropriate conversation.\r
/// </summary>\r
{\r
if (c == null)\r
{\r
- Talker.Say("Trying to start non-existant conversation", Talk.BeepType.Bad );\r
+ Logger.Log("Trying to start non-existant conversation", Helpers.LogLevel.Warning);\r
return;\r
}\r
// Avoid multiple starts.\r
internal void ChangeFocus(Mode toThis)\r
{\r
currentMode = toThis;\r
- if (currentMode != null)\r
+ if (currentMode != null)\r
currentMode.Start();\r
}\r
\r
- \r
+\r
/// <summary>\r
/// Event handler for new blue dialog boxes.\r
/// </summary>\r
/// <param name="e"></param>\r
void OnNotificationDisplayed(object sender, NotificationEventArgs e)\r
{\r
- AddInterruption(new Conversation.BlueMenu(control,e));\r
+ AddInterruption(new Conversation.BlueMenu(control, e));\r
}\r
\r
/// <summary>\r
/// <param name="simulator"></param>\r
void OnInstantMessage(object sender, InstantMessageEventArgs e)\r
{\r
- ThreadPool.QueueUserWorkItem(sync =>\r
+ WorkPool.QueueUserWorkItem(sync =>\r
{\r
Thread.Sleep(100); // Give tab a chance to show up\r
Conversation.IMSession sess = null;\r