private void _OnActivated(object sender, EventArgs e) { Trace.Call(sender, e); try { if (!(Text.Length > 0)) { return; } if (Text.IndexOf("\n") != -1) { // seems to be a paste, so let's break it apart string[] msgParts = Text.Split(new char[] { '\n' }); /* TODO? * if (msgParts.Length > 3) { * string msg = String.Format(_("You are going to paste {0} lines, do you want to continue?"), * msgParts.Length); * /* * Gtk.MessageDialog md = new Gtk.MessageDialog( * Frontend.MainWindow, * Gtk.DialogFlags.Modal, * Gtk.MessageType.Warning, * Gtk.ButtonsType.YesNo, * msg); * Gtk.ResponseType res = (Gtk.ResponseType)md.Run(); * md.Destroy(); * if (res != Gtk.ResponseType.Yes) { * Text = String.Empty; * return; * } * * } */ foreach (string msg in msgParts) { ExecuteCommand(msg); } } else { ExecuteCommand(Text); AddToHistory(Text, _History.Count - _HistoryPosition); // reset history position to last entry _HistoryPosition = _History.Count - 1; } Text = String.Empty; } catch (Exception ex) { #if LOG4NET _Logger.Error(ex); #endif Frontend.ShowException(null, ex); } }
// events private void _OnSwitchPage(object sender, TabControlEventArgs e) { Trace.Call(sender, e); try { // synchronize FrontManager.CurrenPage ChatView chatView = e.TabPage as ChatView; if (chatView != null) { ChatModel chatModel = chatView.ChatModel; IProtocolManager nmanager = chatModel.ProtocolManager; Frontend.FrontendManager.CurrentChat = chatModel; if (nmanager != null) { Frontend.FrontendManager.CurrentProtocolManager = nmanager; } // even when we have no network manager, we still want to update the state Frontend.FrontendManager.UpdateNetworkStatus(); // lets remove any markup / highlight string color = (string)Frontend.UserConfig["Interface/Notebook/Tab/NoActivityColor"]; // TODO: apply color to tab chatView.HasHighlight = false; // sync title if (Frontend.MainWindow != null) { string network = nmanager != null?nmanager.ToString() + " / " : ""; Frontend.MainWindow.Text = network + chatView.Text + " - Smuxi"; } } } catch (Exception ex) { Frontend.ShowException(null, ex); } }