Index: src/Frontend-GNOME/Chats/GroupChatView.cs =================================================================== --- src/Frontend-GNOME/Chats/GroupChatView.cs (Revision 421) +++ src/Frontend-GNOME/Chats/GroupChatView.cs (Arbeitskopie) @@ -49,13 +49,13 @@ private Gtk.VBox _OutputVBox; private Gtk.Frame _PersonTreeViewFrame; private Gtk.HPaned _OutputHPaned; - private Gtk.Entry _TopicEntry; + private Gtk.Label _TopicLabel; private Gtk.TreeViewColumn _IdentityNameColumn; private Gtk.Image _TabImage; - public Gtk.Entry TopicEntry { + public Gtk.Label TopicLabel { get { - return _TopicEntry; + return _TopicLabel; } } @@ -142,8 +142,9 @@ // topic _OutputVBox = new Gtk.VBox(); - _TopicEntry = new Gtk.Entry(); - _TopicEntry.IsEditable = false; + _TopicLabel = new Gtk.Label(); + _TopicLabel.UseMarkup = true; + _TopicLabel.Ellipsize = Pango.EllipsizeMode.End; Add(_OutputHPaned); @@ -170,7 +171,7 @@ base.Disable(); - _TopicEntry.Text = String.Empty; + _TopicLabel.Markup = String.Empty; _PersonListStore.Clear(); UpdatePersonCount(); } @@ -258,9 +259,9 @@ #endif // sync topic string topic = _GroupChatModel.Topic; - if ((_TopicEntry != null) && + if ((_TopicLabel != null) && (topic != null)) { - _TopicEntry.Text = topic; + _TopicLabel.Markup = String.Format("{0}", topic); } base.Sync(); @@ -354,37 +355,37 @@ if (BackgroundColor != null) { _PersonTreeView.ModifyBase(Gtk.StateType.Normal, BackgroundColor.Value); - _TopicEntry.ModifyBase(Gtk.StateType.Normal, BackgroundColor.Value); + _TopicLabel.ModifyBase(Gtk.StateType.Normal, BackgroundColor.Value); } else { _PersonTreeView.ModifyBase(Gtk.StateType.Normal); - _TopicEntry.ModifyBase(Gtk.StateType.Normal); + _TopicLabel.ModifyBase(Gtk.StateType.Normal); } if (ForegroundColor != null) { _PersonTreeView.ModifyText(Gtk.StateType.Normal, ForegroundColor.Value); - _TopicEntry.ModifyText(Gtk.StateType.Normal, ForegroundColor.Value); + _TopicLabel.ModifyText(Gtk.StateType.Normal, ForegroundColor.Value); } else { _PersonTreeView.ModifyText(Gtk.StateType.Normal); - _TopicEntry.ModifyText(Gtk.StateType.Normal); + _TopicLabel.ModifyText(Gtk.StateType.Normal); } _PersonTreeView.ModifyFont(FontDescription); - _TopicEntry.ModifyFont(FontDescription); + _TopicLabel.ModifyFont(FontDescription); // topic string topic_pos = (string) config["Interface/Notebook/Channel/TopicPosition"]; - if (_TopicEntry.IsAncestor(_OutputVBox)) { - _OutputVBox.Remove(_TopicEntry); + if (_TopicLabel.IsAncestor(_OutputVBox)) { + _OutputVBox.Remove(_TopicLabel); } if (OutputScrolledWindow.IsAncestor(_OutputVBox)) { _OutputVBox.Remove(OutputScrolledWindow); } if (topic_pos == "top") { - _OutputVBox.PackStart(_TopicEntry, false, false, 2); + _OutputVBox.PackStart(_TopicLabel, false, false, 2); _OutputVBox.PackStart(OutputScrolledWindow, true, true, 0); } else if (topic_pos == "bottom") { _OutputVBox.PackStart(OutputScrolledWindow, true, true, 0); - _OutputVBox.PackStart(_TopicEntry, false, false, 2); + _OutputVBox.PackStart(_TopicLabel, false, false, 2); } else if (topic_pos == "none") { _OutputVBox.PackStart(OutputScrolledWindow, true, true, 0); } else { Index: src/Frontend-GNOME/GnomeUI.cs =================================================================== --- src/Frontend-GNOME/GnomeUI.cs (Revision 421) +++ src/Frontend-GNOME/GnomeUI.cs (Arbeitskopie) @@ -209,8 +209,8 @@ TraceRemotingCall(mb, ecpage, topic); GroupChatView cpage = (GroupChatView)Frontend.MainWindow.Notebook.GetChat(ecpage); - if (cpage.TopicEntry != null) { - cpage.TopicEntry.Text = topic; + if (cpage.TopicLabel != null) { + cpage.TopicLabel.Markup = String.Format("{0}", topic); } }); }