public VoiceConsole(RadegastInstance instance) { InitializeComponent(); Disposed += new EventHandler(VoiceConsole_Disposed); this.instance = instance; // Callbacks netcom.ClientLoginStatus += new EventHandler<LoginProgressEventArgs>(netcom_ClientLoginStatus); this.instance.MainForm.Load += new EventHandler(MainForm_Load); config = instance.GlobalSettings["voice"] as OSDMap; if (config == null) { config = new OSDMap(); config["enabled"] = new OSDBoolean(false); instance.GlobalSettings["voice"] = config; instance.GlobalSettings.Save(); } chkVoiceEnable.Checked = config["enabled"].AsBoolean(); if (chkVoiceEnable.Checked) Start(); }
public void DeserializeBoolean() { OSD theSD = null; OSDArray array = null; OSDBoolean tempBool = null; String testSD = @"<?xml version='1.0' encoding='UTF-8'?> <llsd> <array> <boolean>1</boolean> <boolean>true</boolean> <boolean>0</boolean> <boolean>false</boolean> <boolean/> </array> </llsd>"; //Deserialize the string byte[] bytes = Encoding.UTF8.GetBytes(testSD); theSD = OSDParser.DeserializeLLSDXml(bytes); Assert.IsTrue(theSD is OSDArray); array = (OSDArray)theSD; Assert.AreEqual(OSDType.Boolean, array[0].Type); tempBool = (OSDBoolean)array[0]; Assert.AreEqual(true, tempBool.AsBoolean()); Assert.AreEqual(OSDType.Boolean, array[1].Type); tempBool = (OSDBoolean)array[1]; Assert.AreEqual(true, tempBool.AsBoolean()); Assert.AreEqual(OSDType.Boolean, array[2].Type); tempBool = (OSDBoolean)array[2]; Assert.AreEqual(false, tempBool.AsBoolean()); Assert.AreEqual(OSDType.Boolean, array[3].Type); tempBool = (OSDBoolean)array[3]; Assert.AreEqual(false, tempBool.AsBoolean()); Assert.AreEqual(OSDType.Boolean, array[4].Type); tempBool = (OSDBoolean)array[4]; Assert.AreEqual(false, tempBool.AsBoolean()); }
private OSDMap SetHomeLocation(OSDMap map) { OSDMap resp = new OSDMap(); IAgentInfoService agentService = m_registry.RequestModuleInterface<IAgentInfoService>(); IGridService gridService = m_registry.RequestModuleInterface<IGridService>(); UserInfo userinfo = (map.ContainsKey("User") && agentService != null) ? agentService.GetUserInfo(map["User"].AsString()) : null; if (!map.ContainsKey("User")) { resp["Failed"] = new OSDString("No user specified"); } else if (!map.ContainsKey("RegionID") && !map.ContainsKey("Position") && !map.ContainsKey("LookAt")) { resp["Failed"] = new OSDString("No position info specified"); } else if (agentService == null) { resp["Failed"] = new OSDString("Could not get IAgentInfoService"); } else if (gridService == null) { resp["Failed"] = new OSDString("Could not get IGridService"); } else if (userinfo == null) { resp["Failed"] = new OSDString("Could not find user"); } else { UUID scopeID = UUID.Zero; UUID regionID = UUID.Zero; Vector3 position = Vector3.Zero; Vector3 lookAt = Vector3.Zero; List<string> fail = new List<string>(); if (map.ContainsKey("ScopeID") && !UUID.TryParse(map["ScopeID"].AsString(), out scopeID)) { fail.Add("ScopeID was specified but was not a valid UUID"); } if (map.ContainsKey("RegionID") && !UUID.TryParse(map["RegionID"].AsString(), out regionID)) { fail.Add("RegionID was specified but was not valid UUID"); } if (map.ContainsKey("Position") && !Vector3.TryParse(map["Position"].AsString(), out position)) { fail.Add("Position was specified but was not valid Vector3"); } if (map.ContainsKey("LookAt") && !Vector3.TryParse(map["LookAt"].AsString(), out lookAt)) { fail.Add("LookAt was specified but was not valid Vector3"); } if (regionID == UUID.Zero) { regionID = userinfo.HomeRegionID; } if (gridService.GetRegionByUUID(UUID.Zero, regionID) == null) { fail.Add("region does not exist"); } if (regionID == UUID.Zero && (map.ContainsKey("Position") || map.ContainsKey("LookAt"))) { fail.Add("Cannot change home location without specifying a region"); } if (fail.Count > 0) { resp["Failed"] = new OSDString(string.Join(". ", fail.ToArray())); return resp; } userinfo.HomeRegionID = regionID; if (map.ContainsKey("Position")) { userinfo.HomePosition = position; } if (map.ContainsKey("LookAt")) { userinfo.HomeLookAt = lookAt; } resp["Success"] = new OSDBoolean(agentService.SetHomePosition(userinfo.UserID, userinfo.HomeRegionID, userinfo.HomePosition, userinfo.HomeLookAt)); } return resp; }
public RelayConsole(RadegastInstance instance) : base(instance) { InitializeComponent(); Disposed += RelayConsole_Disposed; textPrinter = new RichTextBoxPrinter(rtbChatText); // Get configuration settings, and initialize if not found. config = instance.GlobalSettings["plugin.irc"] as OSDMap; if (config == null) { config = new OSDMap(); config["server"] = new OSDString("irc.freenode.net"); config["port"] = new OSDInteger(6667); config["nick"] = new OSDString(string.Empty); config["channel"] = new OSDString("#"); config["send_delay"] = new OSDInteger(200); config["auto_reconnect"] = new OSDBoolean(true); config["ctcp_version"] = new OSDString("Radegast IRC"); instance.GlobalSettings["plugin.irc"] = config; } if (!config.ContainsKey("server")) { config["server"] = new OSDString("irc.freenode.net"); } if (!config.ContainsKey("port")) { config["port"] = new OSDInteger(6667); } if (!config.ContainsKey("nick")) { config["nick"] = new OSDString(instance.Client.Self.Name); } if (!config.ContainsKey("channel")) { config["channel"] = new OSDString("#"); } if (!config.ContainsKey("send_delay")) { config["send_delay"] = new OSDInteger(200); } if (!config.ContainsKey("auto_reconnect")) { config["auto_reconnect"] = new OSDBoolean(true); } if (!config.ContainsKey("ctcp_version")) { config["ctcp_version"] = new OSDString("Radegast IRC"); } txtChan.Text = config["channel"].AsString(); txtNick.Text = config["nick"].AsString(); txtPort.Text = config["port"].AsString(); txtServer.Text = config["server"].AsString(); irc = new IrcClient(); irc.SendDelay = config["send_delay"].AsInteger(); irc.AutoReconnect = config["auto_reconnect"].AsBoolean(); irc.CtcpVersion = config["ctcp_version"].AsString(); irc.Encoding = Encoding.UTF8; TC.OnTabAdded += TC_OnTabAdded; TC.OnTabRemoved += TC_OnTabRemoved; irc.OnError += irc_OnError; irc.OnRawMessage += irc_OnRawMessage; irc.OnChannelMessage += irc_OnChannelMessage; irc.OnConnected += irc_OnConnected; irc.OnDisconnected += irc_OnDisconnected; client.Self.IM += Self_IM; client.Self.ChatFromSimulator += Self_ChatFromSimulator; UpdateGui(); RefreshGroups(); }
private OSDMap EditGroupNotice(OSDMap map, UUID requestingAgentID) { OSDMap resp = new OSDMap(); UUID noticeID = map.ContainsKey("NoticeID") ? UUID.Parse(map["NoticeID"]) : UUID.Zero; IGroupsServiceConnector groups = Aurora.DataManager.DataManager.RequestPlugin<IGroupsServiceConnector>(); GroupNoticeData GND = noticeID != UUID.Zero && groups != null ? groups.GetGroupNoticeData(requestingAgentID, noticeID) : null; GroupNoticeInfo notice = GND != null ? groups.GetGroupNotice(requestingAgentID, GND.NoticeID) : null; if (noticeID == UUID.Zero) { resp["Failed"] = new OSDString("No notice ID was specified"); } else if (groups == null) { resp["Failed"] = new OSDString("Could not find IGroupsServiceConnector"); } else if (GND == null || notice == null) { resp["Failed"] = new OSDString("Could not find group notice with specified ID"); } else if (!map.ContainsKey("Subject") && !map.ContainsKey("Message")) { resp["Success"] = new OSDBoolean(false); resp["Note"] = new OSDString("No changes were made to the group notice"); } else { resp["Success"] = groups.EditGroupNotice(requestingAgentID, notice.GroupID, GND.NoticeID, map.ContainsKey("Subject") ? map["Subject"].ToString() : GND.Subject, map.ContainsKey("Message") ? map["Message"].ToString() : notice.Message); } return resp; }
private OSDMap ResetAvatar(OSDMap map) { OSDMap resp = new OSDMap(); UUID user = UUID.Zero; if (!map.ContainsKey("User")) { resp["Failed"] = new OSDString("User not specified."); } else if (!UUID.TryParse(map["User"].AsString(), out user)) { resp["Failed"] = new OSDString("User specified but was not valid UUID."); } else { IAvatarService avatarService = m_registry.RequestModuleInterface<IAvatarService>(); if (avatarService == null) { resp["Failed"] = new OSDString("Avatar service could not be fetched."); } else { resp["Success"] = new OSDBoolean(avatarService.ResetAvatar(user)); } } return resp; }
public frmSettings(RadegastInstance instance) : base(instance) { if (settingInitialized) { frmSettings.InitSettigs(instance.GlobalSettings, instance.MonoRuntime); } InitializeComponent(); AutoSavePosition = true; InitColorSettings(); s = instance.GlobalSettings; tbpGraphics.Controls.Add(new Radegast.Rendering.GraphicsPreferences(instance)); cbChatTimestamps.Checked = s["chat_timestamps"].AsBoolean(); cbIMTimeStamps.Checked = s["im_timestamps"].AsBoolean(); cbChatTimestamps.CheckedChanged += new EventHandler(cbChatTimestamps_CheckedChanged); cbIMTimeStamps.CheckedChanged += new EventHandler(cbIMTimeStamps_CheckedChanged); cbTrasactDialog.Checked = s["transaction_notification_dialog"].AsBoolean(); cbTrasactChat.Checked = s["transaction_notification_chat"].AsBoolean(); cbFriendsNotifications.Checked = s["show_friends_online_notifications"].AsBoolean(); cbFriendsNotifications.CheckedChanged += new EventHandler(cbFriendsNotifications_CheckedChanged); cbAutoReconnect.Checked = s["auto_reconnect"].AsBoolean(); cbAutoReconnect.CheckedChanged += new EventHandler(cbAutoReconnect_CheckedChanged); cbResolveURIs.Checked = s["resolve_uris"].AsBoolean(); cbResolveURIs.CheckedChanged += new EventHandler(cbResolveURIs_CheckedChanged);; cbHideLoginGraphics.Checked = s["hide_login_graphics"].AsBoolean(); cbHideLoginGraphics.CheckedChanged += new EventHandler(cbHideLoginGraphics_CheckedChanged); cbRLV.Checked = s["rlv_enabled"].AsBoolean(); cbRLV.CheckedChanged += (object sender, EventArgs e) => { s["rlv_enabled"] = new OSDBoolean(cbRLV.Checked); }; cbRLVDebug.Checked = s["rlv_debugcommands"].AsBoolean(); cbRLVDebug.CheckedChanged += (object sender, EventArgs e) => { s["rlv_debugcommands"] = new OSDBoolean(cbRLVDebug.Checked); }; cbMUEmotes.Checked = s["mu_emotes"].AsBoolean(); cbMUEmotes.CheckedChanged += (object sender, EventArgs e) => { s["mu_emotes"] = new OSDBoolean(cbMUEmotes.Checked); }; if (!s.ContainsKey("minimize_to_tray")) { s["minimize_to_tray"] = OSD.FromBoolean(false); } cbMinToTrey.Checked = s["minimize_to_tray"].AsBoolean(); cbMinToTrey.CheckedChanged += (object sender, EventArgs e) => { s["minimize_to_tray"] = OSD.FromBoolean(cbMinToTrey.Checked); }; cbNoTyping.Checked = s["no_typing_anim"].AsBoolean(); cbNoTyping.CheckedChanged += (object sender, EventArgs e) => { s["no_typing_anim"] = OSD.FromBoolean(cbNoTyping.Checked); }; txtAutoResponse.Text = s["auto_response_text"]; txtAutoResponse.TextChanged += (object sender, EventArgs e) => { s["auto_response_text"] = txtAutoResponse.Text; }; AutoResponseType art = (AutoResponseType)s["auto_response_type"].AsInteger(); switch (art) { case AutoResponseType.WhenBusy: rbAutobusy.Checked = true; break; case AutoResponseType.WhenFromNonFriend: rbAutoNonFriend.Checked = true; break; case AutoResponseType.Always: rbAutoAlways.Checked = true; break; } cbSyntaxHighlight.Checked = s["script_syntax_highlight"].AsBoolean(); cbSyntaxHighlight.CheckedChanged += (object sender, EventArgs e) => { s["script_syntax_highlight"] = OSD.FromBoolean(cbSyntaxHighlight.Checked); }; switch ((NameMode)s["display_name_mode"].AsInteger()) { case NameMode.Standard: rbDNOff.Checked = true; break; case NameMode.Smart: rbDNSmart.Checked = true; break; case NameMode.DisplayNameAndUserName: rbDNDandUsernme.Checked = true; break; case NameMode.OnlyDisplayName: rbDNOnlyDN.Checked = true; break; } txtReconnectTime.Text = s["reconnect_time"].AsInteger().ToString(); txtResolveURITime.Text = s["resolve_uri_time"].AsInteger().ToString(); cbRadegastClientTag.Checked = s["send_rad_client_tag"]; cbRadegastClientTag.CheckedChanged += (sender, e) => { s["send_rad_client_tag"] = cbRadegastClientTag.Checked; instance.SetClientTag(); }; cbOnInvOffer.SelectedIndex = s["inv_auto_accept_mode"].AsInteger(); cbOnInvOffer.SelectedIndexChanged += (sender, e) => { s["inv_auto_accept_mode"] = cbOnInvOffer.SelectedIndex; }; cbRadegastLogToFile.Checked = s["log_to_file"]; cbDisableChatIMLog.Checked = s["disable_chat_im_log"]; cbDisableChatIMLog.CheckedChanged += (sender, e) => { s["disable_chat_im_log"] = cbDisableChatIMLog.Checked; }; cbDisableLookAt.Checked = s["disable_look_at"]; cbDisableLookAt.CheckedChanged += (sender, e) => { s["disable_look_at"] = cbDisableLookAt.Checked; }; cbConfirmExit.Checked = s["confirm_exit"]; cbConfirmExit.CheckedChanged += (sender, e) => { s["confirm_exit"] = cbConfirmExit.Checked; }; cbThemeCompatibilityMode.Checked = s["theme_compatibility_mode"]; cbThemeCompatibilityMode.CheckedChanged += (sender, e) => { s["theme_compatibility_mode"] = cbThemeCompatibilityMode.Checked; }; cbTaskBarHighLight.Checked = s["taskbar_highlight"]; cbTaskBarHighLight.CheckedChanged += (sender, e) => { s["taskbar_highlight"] = cbTaskBarHighLight.Checked; UpdateEnabled(); }; cbFriendsHighlight.Checked = s["friends_notification_highlight"].AsBoolean(); cbFriendsHighlight.CheckedChanged += (object sender, EventArgs e) => { s["friends_notification_highlight"] = new OSDBoolean(cbFriendsHighlight.Checked); }; cbHighlightChat.Checked = s["highlight_on_chat"]; cbHighlightChat.CheckedChanged += (sender, e) => { s["highlight_on_chat"] = cbHighlightChat.Checked; }; cbHighlightIM.Checked = s["highlight_on_im"]; cbHighlightIM.CheckedChanged += (sender, e) => { s["highlight_on_im"] = cbHighlightIM.Checked; }; cbHighlightGroupIM.Checked = s["highlight_on_group_im"]; cbHighlightGroupIM.CheckedChanged += (sender, e) => { s["highlight_on_group_im"] = cbHighlightGroupIM.Checked; }; // disable_av_name_link if (instance.MonoRuntime) { cbNameLinks.Visible = false; } else { cbNameLinks.Checked = s["av_name_link"]; cbNameLinks.CheckedChanged += (sender, e) => { s["av_name_link"] = cbNameLinks.Checked; }; } cbDisableHTTPInventory.Checked = s["disable_http_inventory"]; cbDisableHTTPInventory.CheckedChanged += (sender, e) => { s["disable_http_inventory"] = cbDisableHTTPInventory.Checked; }; cbShowScriptErrors.Checked = s["show_script_errors"]; cbShowScriptErrors.CheckedChanged += (sender, e) => { s["show_script_errors"] = cbShowScriptErrors.Checked; }; autoSitPrefsUpdate(); pseudoHomePrefsUpdated(); LSLHelperPrefsUpdate(); cbAutoScriptPermission.Text = s["on_script_question"]; ckUseProxy.Checked = s["use_proxy"]; txtProxyURL.Text = s["proxy_url"]; txtProxyPort.Text = s["proxy_port"]; txtProxyUser.Text = s["proxy_user"]; txtProxyPassword.Text = s["proxy_password"]; /* * RadeProxy proxy = new RadeProxy(); * * if (ckUseProxy.Checked) * { * proxy.SetProxy(ckUseProxy.Checked, txtProxyURL.Text, txtProxyPort.Text, txtProxyUser.Text, txtProxyPassword.Text); * } * else * { * RadeProxy.DisableProxy(); * } */ UpdateEnabled(); Radegast.GUI.GuiHelpers.ApplyGuiFixes(this); }
public static void InitSettigs(Settings s, bool mono) { if (s["im_timestamps"].Type == OSDType.Unknown) { s["im_timestamps"] = OSD.FromBoolean(true); } if (s["rlv_enabled"].Type == OSDType.Unknown) { s["rlv_enabled"] = new OSDBoolean(false); } if (s["rlv_debugcommands"].Type == OSDType.Unknown) { s["rlv_debugcommands"] = new OSDBoolean(false); } if (s["mu_emotes"].Type == OSDType.Unknown) { s["mu_emotes"] = new OSDBoolean(false); } if (s["friends_notification_highlight"].Type == OSDType.Unknown) { s["friends_notification_highlight"] = new OSDBoolean(true); } if (!s.ContainsKey("no_typing_anim")) { s["no_typing_anim"] = OSD.FromBoolean(false); } if (!s.ContainsKey("auto_response_type")) { s["auto_response_type"] = (int)AutoResponseType.WhenBusy; s["auto_response_text"] = "The Resident you messaged is in 'busy mode' which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing."; } if (!s.ContainsKey("script_syntax_highlight")) { s["script_syntax_highlight"] = OSD.FromBoolean(true); } if (!s.ContainsKey("display_name_mode")) { s["display_name_mode"] = (int)NameMode.Smart; } // Convert legacy settings from first last name to username if (!s.ContainsKey("username") && (s.ContainsKey("first_name") && s.ContainsKey("last_name"))) { s["username"] = s["first_name"] + " " + s["last_name"]; s.Remove("first_name"); s.Remove("last_name"); } if (!s.ContainsKey("reconnect_time")) { s["reconnect_time"] = 120; } if (!s.ContainsKey("resolve_uri_time")) { s["resolve_uri_time"] = 100; } if (!s.ContainsKey("resolve_uris")) { s["resolve_uris"] = true; } if (!s.ContainsKey("transaction_notification_chat")) { s["transaction_notification_chat"] = true; } if (!s.ContainsKey("transaction_notification_dialog")) { s["transaction_notification_dialog"] = true; } if (!s.ContainsKey("minimize_to_tray")) { s["minimize_to_tray"] = false; } if (!s.ContainsKey("scene_window_docked")) { s["scene_window_docked"] = true; } if (!s.ContainsKey("taskbar_highlight")) { s["taskbar_highlight"] = true; } if (!s.ContainsKey("rendering_occlusion_culling_enabled2")) { s["rendering_occlusion_culling_enabled2"] = false; } if (!s.ContainsKey("rendering_use_vbo")) { s["rendering_use_vbo"] = true; } if (!s.ContainsKey("send_rad_client_tag")) { s["send_rad_client_tag"] = true; } if (!s.ContainsKey("log_to_file")) { s["log_to_file"] = true; } if (!s.ContainsKey("disable_chat_im_log")) { s["disable_chat_im_log"] = false; } if (!s.ContainsKey("disable_look_at")) { s["disable_look_at"] = false; } if (!s.ContainsKey("confirm_exit")) { s["confirm_exit"] = false; } if (!s.ContainsKey("highlight_on_chat")) { s["highlight_on_chat"] = true; } if (!s.ContainsKey("highlight_on_im")) { s["highlight_on_im"] = true; } if (!s.ContainsKey("highlight_on_group_im")) { s["highlight_on_group_im"] = true; } if (!s.ContainsKey("av_name_link")) { s["av_name_link"] = false; } if (!s.ContainsKey("disable_http_inventory")) { s["disable_http_inventory"] = false; } if (!s.ContainsKey("on_script_question")) { s["on_script_question"] = "Ask"; } if (!s.ContainsKey("use_proxy")) { s["use_proxy"] = false; } if (!s.ContainsKey("proxy_url")) { s["proxy_url"] = ""; } if (!s.ContainsKey("proxy_port")) { s["proxy_port"] = ""; } if (!s.ContainsKey("proxy_user")) { s["proxy_user"] = ""; } if (!s.ContainsKey("proxy_password")) { s["proxy_password"] = ""; } }
/// <summary> /// Plugin start-up entry. /// </summary> /// <param name="inst"></param> /// <remarks>Called by Radegast at start-up</remarks> public void StartPlugin(RadegastInstance inst) { instance = inst; // Get configuration settings, and initialize if not found. config = instance.GlobalSettings["plugin.speech"] as OSDMap; if (config == null) { config = new OSDMap(); config["enabled"] = new OSDBoolean(false); config["voices"] = new OSDMap(); config["properties"] = new OSDMap(); config["substitutions"] = new OSDMap(); instance.GlobalSettings["plugin.speech"] = config; } if (!config.ContainsKey("enabled_for_inventory")) { config["enabled_for_inventory"] = true; } if (!config.ContainsKey("enabled_for_objects")) { config["enabled_for_objects"] = true; } if (!config.ContainsKey("enabled_for_friends")) { config["enabled_for_friends"] = true; } OSDMap props = (OSDMap)config["properties"]; if (props["voice_speed"] == "") { props["voice_speed"] = "medium"; } #region Buttons on the plugin menu // SpeechButton = new ToolStripMenuItem("Speech", null, OnSpeechMenuButtonClicked); SpeechButton = new ToolStripMenuItem("Speech"); instance.MainForm.PluginsMenu.DropDownItems.Add(SpeechButton); SpeechButton.Checked = config["enabled"].AsBoolean(); // Enabled sub menu { ToolStripMenuItem button = new ToolStripMenuItem("Enabled", null, (sender, e) => { OnSpeechMenuButtonClicked(SpeechButton, EventArgs.Empty); ((ToolStripMenuItem)sender).Checked = SpeechButton.Checked; }); button.Checked = SpeechButton.Checked; SpeechButton.DropDownItems.Add(button); } SpeechButton.DropDownItems.Add(new ToolStripSeparator()); // Voice rate { ToolStripMenuItem slowButton = new ToolStripMenuItem("Slow"); slowButton.Name = "slow"; if (props["voice_speed"] == "slow") slowButton.Checked = true; ToolStripMenuItem mediumButton = new ToolStripMenuItem("Medium"); if (props["voice_speed"] == "medium") mediumButton.Checked = true; mediumButton.Name = "medium"; ToolStripMenuItem fastButton = new ToolStripMenuItem("Fast"); if (props["voice_speed"] == "fast") fastButton.Checked = true; fastButton.Name = "fast"; slowButton.Click += (sender, e) => { slowButton.Checked = !slowButton.Checked; if (slowButton.Checked) { props["voice_speed"] = "slow"; mediumButton.Checked = false; fastButton.Checked = false; } }; mediumButton.Click += (sender, e) => { mediumButton.Checked = !mediumButton.Checked; if (mediumButton.Checked) { props["voice_speed"] = "medium"; slowButton.Checked = false; fastButton.Checked = false; } }; fastButton.Click += (sender, e) => { fastButton.Checked = !fastButton.Checked; if (fastButton.Checked) { props["voice_speed"] = "fast"; slowButton.Checked = false; mediumButton.Checked = false; } }; SpeechButton.DropDownItems.Add(slowButton); SpeechButton.DropDownItems.Add(mediumButton); SpeechButton.DropDownItems.Add(fastButton); } SpeechButton.DropDownItems.Add(new ToolStripSeparator()); // Enable / disable for inventory tab { ToolStripMenuItem button = new ToolStripMenuItem("Inventory", null, (sender, e) => { var me = (ToolStripMenuItem)sender; me.Checked = !me.Checked; config["enabled_for_inventory"] = me.Checked; }); button.Name = "speech_for_inventory"; button.AccessibleName = "Speech for inventory"; button.Checked = config["enabled_for_inventory"].AsBoolean(); SpeechButton.DropDownItems.Add(button); } // Enable / disable for objects tab { ToolStripMenuItem button = new ToolStripMenuItem("Objects", null, (sender, e) => { var me = (ToolStripMenuItem)sender; me.Checked = !me.Checked; config["enabled_for_objects"] = me.Checked; }); button.Name = "speech_for_objects"; button.AccessibleName = "Speech for objects"; button.Checked = config["enabled_for_objects"].AsBoolean(); SpeechButton.DropDownItems.Add(button); } // Enable / disable for friends tab { ToolStripMenuItem button = new ToolStripMenuItem("Friends", null, (sender, e) => { var me = (ToolStripMenuItem)sender; me.Checked = !me.Checked; config["enabled_for_friends"] = me.Checked; }); button.Name = "speech_for_friends"; button.AccessibleName = "Speech for friends"; button.Checked = config["enabled_for_friends"].AsBoolean(); SpeechButton.DropDownItems.Add(button); } SpeechButton.DropDownItems.Add(new ToolStripSeparator()); // 3D Sound sub menu { ToolStripMenuItem button = new ToolStripMenuItem("3D Sound", null, (sender, e) => { var me = (ToolStripMenuItem)sender; me.Checked = !me.Checked; config["3d_sound"] = me.Checked; instance.GlobalSettings.Save(); Radegast.Media.Speech.Surround = me.Checked; }); button.Checked = config["3d_sound"].AsBoolean(); Radegast.Media.Speech.Surround = button.Checked; SpeechButton.DropDownItems.Add(button); } #endregion Buttons on the plugin menu if (SpeechButton.Checked) { Initialize(); } instance.GlobalSettings.Save(); instance.MainForm.KeyDown += MainForm_KeyDown; }
public string Store(AssetBase asset) { if (asset.Local) { if (m_Cache != null) { m_Cache.Cache(asset); } try { // it is also possible to disable Surabaya. I'd favor to configure // Surabaya in the CAPS Section of the OpenSim.ini but right now with still some // old Viwers which do not support http getTexture() I stick to this hack. if (surabayaServerEnabled) { // Create an XML of the Texture in order to transport the Asset to Surabaya. if (asset.Type == (sbyte)AssetType.Texture) { XmlSerializer xs = new XmlSerializer(typeof(AssetBase)); byte[] result = ServerUtils.SerializeResult(xs, asset); string resultString = Util.UTF8.GetString(result); // AKIDO: remove commented code //m_log.DebugFormat("Dump of XML: {0}", resultString); OSDMap serializedAssetCaps = new OSDMap(); serializedAssetCaps.Add("assetID", asset.ID); if (asset.Temporary) { serializedAssetCaps.Add("temporary", "true"); } else { serializedAssetCaps.Add("temporary", "false"); } serializedAssetCaps.Add("serializedAsset", resultString); int tickstart = Util.EnvironmentTickCount(); OSDMap surabayaAnswer = WebUtil.PostToService(surabayaServerURI + "/cachetexture", serializedAssetCaps, 3000); if (surabayaAnswer != null) { // m_log.InfoFormat("Caching baked Texture: {0}",surabayaAnswer.ToString()); OSDBoolean isSuccess = (OSDBoolean)surabayaAnswer["Success"]; if (isSuccess) { OSDMap answer = (OSDMap)surabayaAnswer["_Result"]; string surabayaResult = answer["result"]; if (!surabayaResult.Equals("ok")) { m_log.ErrorFormat("Error PostingAgent Data: {0}", surabayaAnswer["reason"]); } else { m_log.InfoFormat("Caching baked Texture {0} was successful in {1}ms", asset.ID, Util.EnvironmentTickCountSubtract(tickstart)); } } else { m_log.InfoFormat("Caching baked Texture {0} was not successful: {1}", asset.ID, surabayaAnswer["Message"]); } } else { m_log.ErrorFormat("Caching baked texture {0} to Surabaya returned NULL after {1}ms", asset.ID, Util.EnvironmentTickCountSubtract(tickstart)); } } } } catch (Exception ex) { m_log.Error("Exception while caching baked texture to Surabaya: ", ex); } return(asset.ID); } string uri = m_ServerURI + "/assets/"; string newID = string.Empty; try { newID = SynchronousRestObjectRequester. MakeRequest <AssetBase, string>("POST", uri, asset); } catch (Exception e) { m_log.WarnFormat("[ASSET CONNECTOR]: Unable to send asset {0} to asset server. Reason: {1}", asset.ID, e.Message); } if (newID != String.Empty) { // Placing this here, so that this work with old asset servers that don't send any reply back // SynchronousRestObjectRequester returns somethins that is not an empty string if (newID != null) { asset.ID = newID; } if (m_Cache != null) { m_Cache.Cache(asset); } } return(newID); }
/// <summary> /// Plugin start-up entry. /// </summary> /// <param name="inst"></param> /// <remarks>Called by Radegast at start-up</remarks> public void StartPlugin(RadegastInstance inst) { instance = inst; // Get configuration settings, and initialize if not found. config = instance.GlobalSettings["plugin.speech"] as OSDMap; if (config == null) { config = new OSDMap(); config["enabled"] = new OSDBoolean(false); config["voices"] = new OSDMap(); config["properties"] = new OSDMap(); config["substitutions"] = new OSDMap(); instance.GlobalSettings["plugin.speech"] = config; } if (!config.ContainsKey("enabled_for_inventory")) { config["enabled_for_inventory"] = true; } if (!config.ContainsKey("enabled_for_objects")) { config["enabled_for_objects"] = true; } if (!config.ContainsKey("enabled_for_friends")) { config["enabled_for_friends"] = true; } OSDMap props = (OSDMap)config["properties"]; if (props["voice_speed"] == "") { props["voice_speed"] = "medium"; } #region Buttons on the plugin menu // SpeechButton = new ToolStripMenuItem("Speech", null, OnSpeechMenuButtonClicked); SpeechButton = new ToolStripMenuItem("Speech"); instance.MainForm.PluginsMenu.DropDownItems.Add(SpeechButton); SpeechButton.Checked = config["enabled"].AsBoolean(); // Enabled sub menu { ToolStripMenuItem button = new ToolStripMenuItem("Enabled", null, (sender, e) => { OnSpeechMenuButtonClicked(SpeechButton, EventArgs.Empty); ((ToolStripMenuItem)sender).Checked = SpeechButton.Checked; }); button.Checked = SpeechButton.Checked; SpeechButton.DropDownItems.Add(button); } SpeechButton.DropDownItems.Add(new ToolStripSeparator()); // Voice rate { ToolStripMenuItem slowButton = new ToolStripMenuItem("Slow"); slowButton.Name = "slow"; if (props["voice_speed"] == "slow") { slowButton.Checked = true; } ToolStripMenuItem mediumButton = new ToolStripMenuItem("Medium"); if (props["voice_speed"] == "medium") { mediumButton.Checked = true; } mediumButton.Name = "medium"; ToolStripMenuItem fastButton = new ToolStripMenuItem("Fast"); if (props["voice_speed"] == "fast") { fastButton.Checked = true; } fastButton.Name = "fast"; slowButton.Click += (sender, e) => { slowButton.Checked = !slowButton.Checked; if (slowButton.Checked) { props["voice_speed"] = "slow"; mediumButton.Checked = false; fastButton.Checked = false; } }; mediumButton.Click += (sender, e) => { mediumButton.Checked = !mediumButton.Checked; if (mediumButton.Checked) { props["voice_speed"] = "medium"; slowButton.Checked = false; fastButton.Checked = false; } }; fastButton.Click += (sender, e) => { fastButton.Checked = !fastButton.Checked; if (fastButton.Checked) { props["voice_speed"] = "fast"; slowButton.Checked = false; mediumButton.Checked = false; } }; SpeechButton.DropDownItems.Add(slowButton); SpeechButton.DropDownItems.Add(mediumButton); SpeechButton.DropDownItems.Add(fastButton); } SpeechButton.DropDownItems.Add(new ToolStripSeparator()); // Enable / disable for inventory tab { ToolStripMenuItem button = new ToolStripMenuItem("Inventory", null, (sender, e) => { var me = (ToolStripMenuItem)sender; me.Checked = !me.Checked; config["enabled_for_inventory"] = me.Checked; }); button.Name = "speech_for_inventory"; button.AccessibleName = "Speech for inventory"; button.Checked = config["enabled_for_inventory"].AsBoolean(); SpeechButton.DropDownItems.Add(button); } // Enable / disable for objects tab { ToolStripMenuItem button = new ToolStripMenuItem("Objects", null, (sender, e) => { var me = (ToolStripMenuItem)sender; me.Checked = !me.Checked; config["enabled_for_objects"] = me.Checked; }); button.Name = "speech_for_objects"; button.AccessibleName = "Speech for objects"; button.Checked = config["enabled_for_objects"].AsBoolean(); SpeechButton.DropDownItems.Add(button); } // Enable / disable for friends tab { ToolStripMenuItem button = new ToolStripMenuItem("Friends", null, (sender, e) => { var me = (ToolStripMenuItem)sender; me.Checked = !me.Checked; config["enabled_for_friends"] = me.Checked; }); button.Name = "speech_for_friends"; button.AccessibleName = "Speech for friends"; button.Checked = config["enabled_for_friends"].AsBoolean(); SpeechButton.DropDownItems.Add(button); } SpeechButton.DropDownItems.Add(new ToolStripSeparator()); // 3D Sound sub menu { ToolStripMenuItem button = new ToolStripMenuItem("3D Sound", null, (sender, e) => { var me = (ToolStripMenuItem)sender; me.Checked = !me.Checked; config["3d_sound"] = me.Checked; instance.GlobalSettings.Save(); Radegast.Media.Speech.Surround = me.Checked; }); button.Checked = config["3d_sound"].AsBoolean(); Radegast.Media.Speech.Surround = button.Checked; SpeechButton.DropDownItems.Add(button); } #endregion Buttons on the plugin menu if (SpeechButton.Checked) { Initialize(); } instance.GlobalSettings.Save(); instance.MainForm.KeyDown += MainForm_KeyDown; }
/// <summary> /// Start and stop the voice functions. /// </summary> private void chkVoiceEnable_Click(object sender, EventArgs e) { this.BeginInvoke(new MethodInvoker(delegate() { config["enabled"] = new OSDBoolean(chkVoiceEnable.Checked); instance.GlobalSettings.Save(); if (chkVoiceEnable.Checked) { Start(); } else { Stop(); } })); }
public override byte[] Handle(string path, Stream requestData, OSHttpRequest httpRequest, OSHttpResponse httpResponse) { httpResponse.ContentType = "text/plain"; string methodPath = path.Substring(httpPath.Length).Trim(); if (methodPath != string.Empty && methodPath.Substring(0, 1) == "/") { methodPath = methodPath.Substring(1); } string[] parts = new string[0]; if (methodPath != string.Empty) { parts = methodPath.Split('/'); } for (int i = 0; i < parts.Length; ++i) { parts[i] = HttpUtility.UrlDecode(parts[i]); } if (parts.Length == 0) { return new byte[0]; } string method = string.Empty; OSD resp = null; try { method = parts[0]; if (APIMethods.ContainsKey(method)) { resp = (OSD)APIMethods[method].Invoke(this, new object[1]{ parts }); } else { MainConsole.Instance.TraceFormat("[MapAPI] Unsupported method called ({0})", method); } } catch (Exception e) { MainConsole.Instance.TraceFormat("[MapAPI] Exception thrown: " + e.ToString()); } if (resp == null) { resp = new OSDBoolean(false); } UTF8Encoding encoding = new UTF8Encoding(); httpResponse.ContentType = "application/json"; return encoding.GetBytes(OSDParser.SerializeJsonString(resp, true)); }
public frmSettings(METAboltInstance instance) : base(instance) { if (settingInitialized) { frmSettings.InitSettigs(instance.GlobalSettings, instance.MonoRuntime); } InitializeComponent(); AutoSavePosition = true; s = instance.GlobalSettings; tbpGraphics.Controls.Add(new METAbolt.Rendering.GraphicsPreferences(instance)); cbChatTimestamps.Checked = s["chat_timestamps"].AsBoolean(); cbIMTimeStamps.Checked = s["im_timestamps"].AsBoolean(); cbChatTimestamps.CheckedChanged += new EventHandler(cbChatTimestamps_CheckedChanged); cbIMTimeStamps.CheckedChanged += new EventHandler(cbIMTimeStamps_CheckedChanged); cbTrasactDialog.Checked = s["transaction_notification_dialog"].AsBoolean(); cbTrasactChat.Checked = s["transaction_notification_chat"].AsBoolean(); cbFriendsNotifications.Checked = s["show_friends_online_notifications"].AsBoolean(); cbFriendsNotifications.CheckedChanged += new EventHandler(cbFriendsNotifications_CheckedChanged); cbAutoReconnect.Checked = s["auto_reconnect"].AsBoolean(); cbAutoReconnect.CheckedChanged += new EventHandler(cbAutoReconnect_CheckedChanged); cbHideLoginGraphics.Checked = s["hide_login_graphics"].AsBoolean(); cbHideLoginGraphics.CheckedChanged += new EventHandler(cbHideLoginGraphics_CheckedChanged); cbRLV.Checked = s["rlv_enabled"].AsBoolean(); cbRLV.CheckedChanged += (object sender, EventArgs e) => { s["rlv_enabled"] = new OSDBoolean(cbRLV.Checked); }; cbMUEmotes.Checked = s["mu_emotes"].AsBoolean(); cbMUEmotes.CheckedChanged += (object sender, EventArgs e) => { s["mu_emotes"] = new OSDBoolean(cbMUEmotes.Checked); }; if (s["chat_font_size"].Type != OSDType.Real) { s["chat_font_size"] = OSD.FromReal(((ChatConsole)instance.TabConsole.Tabs["chat"].Control).cbxInput.Font.Size); } cbFontSize.Text = s["chat_font_size"].AsReal().ToString(System.Globalization.CultureInfo.InvariantCulture); if (!s.ContainsKey("minimize_to_tray")) { s["minimize_to_tray"] = OSD.FromBoolean(false); } cbMinToTrey.Checked = s["minimize_to_tray"].AsBoolean(); cbMinToTrey.CheckedChanged += (object sender, EventArgs e) => { s["minimize_to_tray"] = OSD.FromBoolean(cbMinToTrey.Checked); }; cbNoTyping.Checked = s["no_typing_anim"].AsBoolean(); cbNoTyping.CheckedChanged += (object sender, EventArgs e) => { s["no_typing_anim"] = OSD.FromBoolean(cbNoTyping.Checked); }; txtAutoResponse.Text = s["auto_response_text"]; txtAutoResponse.TextChanged += (object sender, EventArgs e) => { s["auto_response_text"] = txtAutoResponse.Text; }; AutoResponseType art = (AutoResponseType)s["auto_response_type"].AsInteger(); switch (art) { case AutoResponseType.WhenBusy: rbAutobusy.Checked = true; break; case AutoResponseType.WhenFromNonFriend: rbAutoNonFriend.Checked = true; break; case AutoResponseType.Always: rbAutoAlways.Checked = true; break; } cbSyntaxHighlight.Checked = s["script_syntax_highlight"].AsBoolean(); cbSyntaxHighlight.CheckedChanged += (object sender, EventArgs e) => { s["script_syntax_highlight"] = OSD.FromBoolean(cbSyntaxHighlight.Checked); }; switch ((NameMode)s["display_name_mode"].AsInteger()) { case NameMode.Standard: rbDNOff.Checked = true; break; case NameMode.Smart: rbDNSmart.Checked = true; break; case NameMode.DisplayNameAndUserName: rbDNDandUsernme.Checked = true; break; case NameMode.OnlyDisplayName: rbDNOnlyDN.Checked = true; break; } txtReconnectTime.Text = s["reconnect_time"].AsInteger().ToString(); cbMETAboltClientTag.Checked = s["send_rad_client_tag"]; cbMETAboltClientTag.CheckedChanged += (sender, e) => { s["send_rad_client_tag"] = cbMETAboltClientTag.Checked; instance.SetClientTag(); }; cbOnInvOffer.SelectedIndex = s["inv_auto_accept_mode"].AsInteger(); cbOnInvOffer.SelectedIndexChanged += (sender, e) => { s["inv_auto_accept_mode"] = cbOnInvOffer.SelectedIndex; }; cbMETAboltLogToFile.Checked = s["log_to_file"]; cbDisableChatIMLog.Checked = s["disable_chat_im_log"]; cbDisableChatIMLog.CheckedChanged += (sender, e) => { s["disable_chat_im_log"] = cbDisableChatIMLog.Checked; }; cbDisableLookAt.Checked = s["disable_look_at"]; cbDisableLookAt.CheckedChanged += (sender, e) => { s["disable_look_at"] = cbDisableLookAt.Checked; }; cbTaskBarHighLight.Checked = s["taskbar_highlight"]; cbTaskBarHighLight.CheckedChanged += (sender, e) => { s["taskbar_highlight"] = cbTaskBarHighLight.Checked; UpdateEnabled(); }; cbFriendsHighlight.Checked = s["friends_notification_highlight"].AsBoolean(); cbFriendsHighlight.CheckedChanged += (object sender, EventArgs e) => { s["friends_notification_highlight"] = new OSDBoolean(cbFriendsHighlight.Checked); }; cbHighlightChat.Checked = s["highlight_on_chat"]; cbHighlightChat.CheckedChanged += (sender, e) => { s["highlight_on_chat"] = cbHighlightChat.Checked; }; cbHighlightIM.Checked = s["highlight_on_im"]; cbHighlightIM.CheckedChanged += (sender, e) => { s["highlight_on_im"] = cbHighlightIM.Checked; }; cbHighlightGroupIM.Checked = s["highlight_on_group_im"]; cbHighlightGroupIM.CheckedChanged += (sender, e) => { s["highlight_on_group_im"] = cbHighlightGroupIM.Checked; }; // disable_av_name_link if (instance.MonoRuntime) { cbNameLinks.Visible = false; } else { cbNameLinks.Checked = s["av_name_link"]; cbNameLinks.CheckedChanged += (sender, e) => { s["av_name_link"] = cbNameLinks.Checked; }; } cbDisableHTTPInventory.Checked = s["disable_http_inventory"]; cbDisableHTTPInventory.CheckedChanged += (sender, e) => { s["disable_http_inventory"] = cbDisableHTTPInventory.Checked; }; cbShowScriptErrors.Checked = s["show_script_errors"]; cbShowScriptErrors.CheckedChanged += (sender, e) => { s["show_script_errors"] = cbShowScriptErrors.Checked; }; autoSitPrefsUpdate(); pseudoHomePrefsUpdated(); LSLHelperPrefsUpdate(); cbAutoScriptPermission.Text = s["on_script_question"]; UpdateEnabled(); }
public frmSettings(RadegastInstance instance) : base(instance) { if (settingInitialized) { frmSettings.InitSettigs(instance.GlobalSettings, instance.MonoRuntime); } InitializeComponent(); AutoSavePosition = true; s = instance.GlobalSettings; tbpGraphics.Controls.Add(new Radegast.Rendering.GraphicsPreferences(instance)); cbChatTimestamps.Checked = s["chat_timestamps"].AsBoolean(); cbIMTimeStamps.Checked = s["im_timestamps"].AsBoolean(); cbChatTimestamps.CheckedChanged += new EventHandler(cbChatTimestamps_CheckedChanged); cbIMTimeStamps.CheckedChanged += new EventHandler(cbIMTimeStamps_CheckedChanged); cbTrasactDialog.Checked = s["transaction_notification_dialog"].AsBoolean(); cbTrasactChat.Checked = s["transaction_notification_chat"].AsBoolean(); cbFriendsNotifications.Checked = s["show_friends_online_notifications"].AsBoolean(); cbFriendsNotifications.CheckedChanged += new EventHandler(cbFriendsNotifications_CheckedChanged); cbAutoReconnect.Checked = s["auto_reconnect"].AsBoolean(); cbAutoReconnect.CheckedChanged += new EventHandler(cbAutoReconnect_CheckedChanged); cbResolveURIs.Checked = s["resolve_uris"].AsBoolean(); cbResolveURIs.CheckedChanged += new EventHandler(cbResolveURIs_CheckedChanged); ; cbHideLoginGraphics.Checked = s["hide_login_graphics"].AsBoolean(); cbHideLoginGraphics.CheckedChanged += new EventHandler(cbHideLoginGraphics_CheckedChanged); cbRLV.Checked = s["rlv_enabled"].AsBoolean(); cbRLV.CheckedChanged += (object sender, EventArgs e) => { s["rlv_enabled"] = new OSDBoolean(cbRLV.Checked); }; cbRLVDebug.Checked = s["rlv_debugcommands"].AsBoolean(); cbRLVDebug.CheckedChanged += (object sender, EventArgs e) => { s["rlv_debugcommands"] = new OSDBoolean(cbRLVDebug.Checked); }; cbMUEmotes.Checked = s["mu_emotes"].AsBoolean(); cbMUEmotes.CheckedChanged += (object sender, EventArgs e) => { s["mu_emotes"] = new OSDBoolean(cbMUEmotes.Checked); }; if (s["chat_font_size"].Type != OSDType.Real) { s["chat_font_size"] = OSD.FromReal(((ChatConsole)instance.TabConsole.Tabs["chat"].Control).cbxInput.Font.Size); } cbFontSize.Text = s["chat_font_size"].AsReal().ToString(System.Globalization.CultureInfo.InvariantCulture); if (!s.ContainsKey("minimize_to_tray")) s["minimize_to_tray"] = OSD.FromBoolean(false); cbMinToTrey.Checked = s["minimize_to_tray"].AsBoolean(); cbMinToTrey.CheckedChanged += (object sender, EventArgs e) => { s["minimize_to_tray"] = OSD.FromBoolean(cbMinToTrey.Checked); }; cbNoTyping.Checked = s["no_typing_anim"].AsBoolean(); cbNoTyping.CheckedChanged += (object sender, EventArgs e) => { s["no_typing_anim"] = OSD.FromBoolean(cbNoTyping.Checked); }; txtAutoResponse.Text = s["auto_response_text"]; txtAutoResponse.TextChanged += (object sender, EventArgs e) => { s["auto_response_text"] = txtAutoResponse.Text; }; AutoResponseType art = (AutoResponseType)s["auto_response_type"].AsInteger(); switch (art) { case AutoResponseType.WhenBusy: rbAutobusy.Checked = true; break; case AutoResponseType.WhenFromNonFriend: rbAutoNonFriend.Checked = true; break; case AutoResponseType.Always: rbAutoAlways.Checked = true; break; } cbSyntaxHighlight.Checked = s["script_syntax_highlight"].AsBoolean(); cbSyntaxHighlight.CheckedChanged += (object sender, EventArgs e) => { s["script_syntax_highlight"] = OSD.FromBoolean(cbSyntaxHighlight.Checked); }; switch ((NameMode)s["display_name_mode"].AsInteger()) { case NameMode.Standard: rbDNOff.Checked = true; break; case NameMode.Smart: rbDNSmart.Checked = true; break; case NameMode.DisplayNameAndUserName: rbDNDandUsernme.Checked = true; break; case NameMode.OnlyDisplayName: rbDNOnlyDN.Checked = true; break; } txtReconnectTime.Text = s["reconnect_time"].AsInteger().ToString(); txtResolveURITime.Text = s["resolve_uri_time"].AsInteger().ToString(); cbRadegastClientTag.Checked = s["send_rad_client_tag"]; cbRadegastClientTag.CheckedChanged += (sender, e) => { s["send_rad_client_tag"] = cbRadegastClientTag.Checked; instance.SetClientTag(); }; cbOnInvOffer.SelectedIndex = s["inv_auto_accept_mode"].AsInteger(); cbOnInvOffer.SelectedIndexChanged += (sender, e) => { s["inv_auto_accept_mode"] = cbOnInvOffer.SelectedIndex; }; cbRadegastLogToFile.Checked = s["log_to_file"]; cbDisableChatIMLog.Checked = s["disable_chat_im_log"]; cbDisableChatIMLog.CheckedChanged += (sender, e) => { s["disable_chat_im_log"] = cbDisableChatIMLog.Checked; }; cbDisableLookAt.Checked = s["disable_look_at"]; cbDisableLookAt.CheckedChanged += (sender, e) => { s["disable_look_at"] = cbDisableLookAt.Checked; }; cbConfirmExit.Checked = s["confirm_exit"]; cbConfirmExit.CheckedChanged += (sender, e) => { s["confirm_exit"] = cbConfirmExit.Checked; }; cbTaskBarHighLight.Checked = s["taskbar_highlight"]; cbTaskBarHighLight.CheckedChanged += (sender, e) => { s["taskbar_highlight"] = cbTaskBarHighLight.Checked; UpdateEnabled(); }; cbFriendsHighlight.Checked = s["friends_notification_highlight"].AsBoolean(); cbFriendsHighlight.CheckedChanged += (object sender, EventArgs e) => { s["friends_notification_highlight"] = new OSDBoolean(cbFriendsHighlight.Checked); }; cbHighlightChat.Checked = s["highlight_on_chat"]; cbHighlightChat.CheckedChanged += (sender, e) => { s["highlight_on_chat"] = cbHighlightChat.Checked; }; cbHighlightIM.Checked = s["highlight_on_im"]; cbHighlightIM.CheckedChanged += (sender, e) => { s["highlight_on_im"] = cbHighlightIM.Checked; }; cbHighlightGroupIM.Checked = s["highlight_on_group_im"]; cbHighlightGroupIM.CheckedChanged += (sender, e) => { s["highlight_on_group_im"] = cbHighlightGroupIM.Checked; }; // disable_av_name_link if (instance.MonoRuntime) { cbNameLinks.Visible = false; } else { cbNameLinks.Checked = s["av_name_link"]; cbNameLinks.CheckedChanged += (sender, e) => { s["av_name_link"] = cbNameLinks.Checked; }; } cbDisableHTTPInventory.Checked = s["disable_http_inventory"]; cbDisableHTTPInventory.CheckedChanged += (sender, e) => { s["disable_http_inventory"] = cbDisableHTTPInventory.Checked; }; cbShowScriptErrors.Checked = s["show_script_errors"]; cbShowScriptErrors.CheckedChanged += (sender, e) => { s["show_script_errors"] = cbShowScriptErrors.Checked; }; autoSitPrefsUpdate(); pseudoHomePrefsUpdated(); LSLHelperPrefsUpdate(); cbAutoScriptPermission.Text = s["on_script_question"]; UpdateEnabled(); }
public static void InitSettigs(Settings s) { if (s["im_timestamps"].Type == OSDType.Unknown) { s["im_timestamps"] = OSD.FromBoolean(true); } if (s["rlv_enabled"].Type == OSDType.Unknown) { s["rlv_enabled"] = new OSDBoolean(false); } if (s["mu_emotes"].Type == OSDType.Unknown) { s["mu_emotes"] = new OSDBoolean(false); } if (s["friends_notification_highlight"].Type == OSDType.Unknown) { s["friends_notification_highlight"] = new OSDBoolean(true); } if (!s.ContainsKey("no_typing_anim")) s["no_typing_anim"] = OSD.FromBoolean(false); if (!s.ContainsKey("auto_response_type")) { s["auto_response_type"] = (int)AutoResponseType.WhenBusy; s["auto_response_text"] = "The Resident you messaged is in 'busy mode' which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing."; } if (!s.ContainsKey("script_syntax_highlight")) s["script_syntax_highlight"] = OSD.FromBoolean(true); if (!s.ContainsKey("display_name_mode")) s["display_name_mode"] = (int)NameMode.Smart; // Convert legacy settings from first last name to username if (!s.ContainsKey("username") && (s.ContainsKey("first_name") && s.ContainsKey("last_name"))) { s["username"] = s["first_name"] + " " + s["last_name"]; s.Remove("first_name"); s.Remove("last_name"); } if (!s.ContainsKey("reconnect_time")) s["reconnect_time"] = 120; if (!s.ContainsKey("transaction_notification_chat")) s["transaction_notification_chat"] = true; if (!s.ContainsKey("transaction_notification_dialog")) s["transaction_notification_dialog"] = true; if (!s.ContainsKey("minimize_to_tray")) s["minimize_to_tray"] = false; if (!s.ContainsKey("scene_window_docked")) s["scene_window_docked"] = true; if (!s.ContainsKey("taskbar_highlight")) s["taskbar_highlight"] = true; if (!s.ContainsKey("rendering_occlusion_culling_enabled")) s["rendering_occlusion_culling_enabled"] = true; if (!s.ContainsKey("rendering_use_vbo")) s["rendering_use_vbo"] = true; if (!s.ContainsKey("send_rad_client_tag")) s["send_rad_client_tag"] = true; if (!s.ContainsKey("log_to_file")) s["log_to_file"] = true; }
/// <summary> /// Plugin start-up entry. /// </summary> /// <param name="inst"></param> /// <remarks>Called by Radegast at start-up</remarks> public void StartPlugin(RadegastInstance inst) { instance = inst; // Get configuration settings, and initialize if not found. config = instance.GlobalSettings["plugin.speech"] as OSDMap; if (config == null) { config = new OSDMap(); config["enabled"] = new OSDBoolean(false); config["voices"] = new OSDMap(); config["properties"] = new OSDMap(); config["substitutions"] = new OSDMap(); instance.GlobalSettings["plugin.speech"] = config; instance.GlobalSettings.Save(); } // Add our enable/disable item to the Plugin Menu. ToolsMenu = instance.MainForm.PluginsMenu; SpeechButton = new ToolStripMenuItem("Speech", null, OnSpeechMenuButtonClicked); ToolsMenu.DropDownItems.Add(SpeechButton); SpeechButton.Checked = config["enabled"].AsBoolean(); ToolsMenu.Visible = true; if (SpeechButton.Checked) { Initialize(); } }
public frmSettings(RadegastInstance instance) { if (settingInitialized) { frmSettings.InitSettigs(instance.GlobalSettings); } InitializeComponent(); s = instance.GlobalSettings; tbpGraphics.Controls.Add(new Radegast.Rendering.GraphicsPreferences(instance)); cbChatTimestamps.Checked = s["chat_timestamps"].AsBoolean(); cbIMTimeStamps.Checked = s["im_timestamps"].AsBoolean(); cbChatTimestamps.CheckedChanged += new EventHandler(cbChatTimestamps_CheckedChanged); cbIMTimeStamps.CheckedChanged += new EventHandler(cbIMTimeStamps_CheckedChanged); cbTrasactDialog.Checked = s["transaction_notification_dialog"].AsBoolean(); cbTrasactChat.Checked = s["transaction_notification_chat"].AsBoolean(); cbFriendsNotifications.Checked = s["show_friends_online_notifications"].AsBoolean(); cbFriendsNotifications.CheckedChanged += new EventHandler(cbFriendsNotifications_CheckedChanged); cbAutoReconnect.Checked = s["auto_reconnect"].AsBoolean(); cbAutoReconnect.CheckedChanged += new EventHandler(cbAutoReconnect_CheckedChanged); cbHideLoginGraphics.Checked = s["hide_login_graphics"].AsBoolean(); cbHideLoginGraphics.CheckedChanged += new EventHandler(cbHideLoginGraphics_CheckedChanged); cbRLV.Checked = s["rlv_enabled"].AsBoolean(); cbRLV.CheckedChanged += (object sender, EventArgs e) => { s["rlv_enabled"] = new OSDBoolean(cbRLV.Checked); }; cbMUEmotes.Checked = s["mu_emotes"].AsBoolean(); cbMUEmotes.CheckedChanged += (object sender, EventArgs e) => { s["mu_emotes"] = new OSDBoolean(cbMUEmotes.Checked); }; cbFriendsHighlight.Checked = s["friends_notification_highlight"].AsBoolean(); cbFriendsHighlight.CheckedChanged += (object sender, EventArgs e) => { s["friends_notification_highlight"] = new OSDBoolean(cbFriendsHighlight.Checked); }; if (s["chat_font_size"].Type != OSDType.Real) { s["chat_font_size"] = OSD.FromReal(((ChatConsole)instance.TabConsole.Tabs["chat"].Control).cbxInput.Font.Size); } cbFontSize.Text = s["chat_font_size"].AsReal().ToString(System.Globalization.CultureInfo.InvariantCulture); if (!s.ContainsKey("minimize_to_tray")) s["minimize_to_tray"] = OSD.FromBoolean(false); cbMinToTrey.Checked = s["minimize_to_tray"].AsBoolean(); cbMinToTrey.CheckedChanged += (object sender, EventArgs e) => { s["minimize_to_tray"] = OSD.FromBoolean(cbMinToTrey.Checked); }; cbNoTyping.Checked = s["no_typing_anim"].AsBoolean(); cbNoTyping.CheckedChanged += (object sender, EventArgs e) => { s["no_typing_anim"] = OSD.FromBoolean(cbNoTyping.Checked); }; txtAutoResponse.Text = s["auto_response_text"]; txtAutoResponse.TextChanged += (object sender, EventArgs e) => { s["auto_response_text"] = txtAutoResponse.Text; }; AutoResponseType art = (AutoResponseType)s["auto_response_type"].AsInteger(); switch (art) { case AutoResponseType.WhenBusy: rbAutobusy.Checked = true; break; case AutoResponseType.WhenFromNonFriend: rbAutoNonFriend.Checked = true; break; case AutoResponseType.Always: rbAutoAlways.Checked = true; break; } cbSyntaxHighlight.Checked = s["script_syntax_highlight"].AsBoolean(); cbSyntaxHighlight.CheckedChanged += (object sender, EventArgs e) => { s["script_syntax_highlight"] = OSD.FromBoolean(cbSyntaxHighlight.Checked); }; switch ((NameMode)s["display_name_mode"].AsInteger()) { case NameMode.Standard: rbDNOff.Checked = true; break; case NameMode.Smart: rbDNSmart.Checked = true; break; case NameMode.DisplayNameAndUserName: rbDNDandUsernme.Checked = true; break; case NameMode.OnlyDisplayName: rbDNOnlyDN.Checked = true; break; } txtReconnectTime.Text = s["reconnect_time"].AsInteger().ToString(); cbTaskBarHighLight.Checked = s["taskbar_highlight"]; cbTaskBarHighLight.CheckedChanged += (sender, e) => { s["taskbar_highlight"] = cbTaskBarHighLight.Checked; }; cbRadegastClientTag.Checked = s["send_rad_client_tag"]; cbRadegastClientTag.CheckedChanged += (sender, e) => { s["send_rad_client_tag"] = cbRadegastClientTag.Checked; instance.SetClientTag(); }; cbOnInvOffer.SelectedIndex = s["inv_auto_accept_mode"].AsInteger(); cbOnInvOffer.SelectedIndexChanged += (sender, e) => { s["inv_auto_accept_mode"] = cbOnInvOffer.SelectedIndex; }; cbRadegastLogToFile.Checked = s["log_to_file"]; }
public RelayConsole(RadegastInstance instance) : base(instance) { InitializeComponent(); Disposed += RelayConsole_Disposed; textPrinter = new RichTextBoxPrinter(rtbChatText); // Get configuration settings, and initialize if not found. config = instance.GlobalSettings["plugin.irc"] as OSDMap; if (config == null) { config = new OSDMap(); config["server"] = new OSDString("irc.freenode.net"); config["port"] = new OSDInteger(6667); config["nick"] = new OSDString(string.Empty); config["channel"] = new OSDString("#"); config["send_delay"] = new OSDInteger(200); config["auto_reconnect"] = new OSDBoolean(true); config["ctcp_version"] = new OSDString("Radegast IRC"); instance.GlobalSettings["plugin.irc"] = config; } if (!config.ContainsKey("server")) config["server"] = new OSDString("irc.freenode.net"); if (!config.ContainsKey("port")) config["port"] = new OSDInteger(6667); if (!config.ContainsKey("nick")) config["nick"] = new OSDString(instance.Client.Self.Name); if (!config.ContainsKey("channel")) config["channel"] = new OSDString("#"); if (!config.ContainsKey("send_delay")) config["send_delay"] = new OSDInteger(200); if (!config.ContainsKey("auto_reconnect")) config["auto_reconnect"] = new OSDBoolean(true); if (!config.ContainsKey("ctcp_version")) config["ctcp_version"] = new OSDString("Radegast IRC"); txtChan.Text = config["channel"].AsString(); txtNick.Text = config["nick"].AsString(); txtPort.Text = config["port"].AsString(); txtServer.Text = config["server"].AsString(); irc = new IrcClient(); irc.SendDelay = config["send_delay"].AsInteger(); irc.AutoReconnect = config["auto_reconnect"].AsBoolean(); irc.CtcpVersion = config["ctcp_version"].AsString(); irc.Encoding = Encoding.UTF8; TC.OnTabAdded += TC_OnTabAdded; TC.OnTabRemoved += TC_OnTabRemoved; irc.OnError += irc_OnError; irc.OnRawMessage += irc_OnRawMessage; irc.OnChannelMessage += irc_OnChannelMessage; irc.OnConnected += irc_OnConnected; irc.OnDisconnected += irc_OnDisconnected; client.Self.IM += Self_IM; client.Self.ChatFromSimulator += Self_ChatFromSimulator; UpdateGui(); RefreshGroups(); }