Viewing Issue Advanced Details

ID 0003251 Category [DMDirc] *Unsorted Severity minor
Reproducibility always Date Submitted 2009-12-28 21:32 Last Update 2010-03-06 21:32
Reporter Greboid Assigned To Greboid View Status public
Priority normal Status closed Resolution fixed
Platform Fixed in Version Target Version 0.6.3
Product Version Product Build
Summary 0003251: make showfulltopic work
Description make showfulltopic work
Needs unit test no
Upstream Bug URL

Relationships

Notes

authorGregory Holmes <greg@dmdirc.com>2009-12-29 14:07:09 (GMT)
committer Shane Mc Cormack <shane@dmdirc.com>2009-12-30 00:46:39 (GMT)
commit9991f25c5c96faffd4261185b4e594ea754b6771 (patch) (side-by-side diff)
Fixes issue 3261 Change-Id: Iff5c6c46e66041058d2dac3d379ab3dd8eab3a8d Reviewed-on: http://gerrit.dmdirc.com/183 Tested-by: Gregory Holmes <greboid@dmdirc.com> Reviewed-by: Shane Mc Cormack <shane@dmdirc.com>
-rw-r--r--src/com/dmdirc/Channel.java3
-rw-r--r--src/com/dmdirc/ChannelEventHandler.java8
-rw-r--r--src/com/dmdirc/addons/ui_swing/actions/TopicEnterAction.java61
-rw-r--r--src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/ChannelSettingsDialog.java2
-rw-r--r--src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicDisplayPane.java174
-rw-r--r--src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicLabel.java4
-rw-r--r--src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicPane.java148
7 files changed, 259 insertions, 141 deletions
Click to Expand/Collapse
diff src/com/dmdirc/Channel.java
@@ -477,6 +477,9 @@ public class Channel extends MessageTarget implements ConfigChangeListener,
* @return Current channel topic
*/
public Topic getCurrentTopic() {
+ if (channelInfo.getTopic().isEmpty()) {
+ return null;
+ }
return new Topic(channelInfo.getTopic(), channelInfo.getTopicSetter(),
channelInfo.getTopicTime());
}
Click to Expand/Collapse
diff src/com/dmdirc/ChannelEventHandler.java
@@ -128,7 +128,13 @@ public final class ChannelEventHandler extends EventHandler implements
cChannel.getChannelClient(cChannel.getTopicSetter(), true), cChannel.getTopic());
}
- owner.addTopic(newTopic);
+ if (bIsJoinTopic) {
+ if (!newTopic.getTopic().isEmpty()) {
+ owner.addTopic(newTopic);
+ }
+ } else {
+ owner.addTopic(newTopic);
+ }
}
/** {@inheritDoc} */
Click to Expand/Collapse
diff src/com/dmdirc/addons/ui_swing/actions/TopicEnterAction.java
new file mode 100644
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2006-2008 Chris Smith, Shane Mc Cormack, Gregory Holmes
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package com.dmdirc.addons.ui_swing.actions;
+
+import com.dmdirc.addons.ui_swing.dialogs.channelsetting.ChannelSettingsDialog;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+
+/** Closes and saves the topic when enter is pressed. */
+public class TopicEnterAction extends AbstractAction {
+
+ /**
+ * A version number for this class. It should be changed whenever the class
+ * structure is changed (or anything else that would prevent serialized
+ * objects being unserialized with the new class).
+ */
+ private static final long serialVersionUID = 1;
+ /** Parent pane. */
+ private ChannelSettingsDialog parent;
+
+ /**
+ * Creates a new topic enter action with the associated parent.
+ *
+ * @param parent Parent dialog
+ */
+ public TopicEnterAction(final ChannelSettingsDialog parent) {
+ this.parent = parent;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @param e Action event
+ */
+ @Override
+ public void actionPerformed(final ActionEvent e) {
+ parent.save();
+ }
+}
Click to Expand/Collapse
diff src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/ChannelSettingsDialog.java
@@ -250,7 +250,7 @@ public final class ChannelSettingsDialog extends StandardDialog implements
}
/** Saves the settings. */
- protected void save() {
+ public void save() {
channelModesPane.setChangedBooleanModes();
topicModesPane.setChangedTopic();
channelSettingsPane.save();
Click to Expand/Collapse
diff src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicDisplayPane.java
new file mode 100644
@@ -0,0 +1,174 @@
+/*
+ *
+ * Copyright (c) 2006-2008 Chris Smith, Shane Mc Cormack, Gregory Holmes
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package com.dmdirc.addons.ui_swing.dialogs.channelsetting;
+
+import com.dmdirc.Channel;
+import com.dmdirc.Topic;
+import com.dmdirc.addons.ui_swing.UIUtilities;
+import com.dmdirc.addons.ui_swing.actions.NoNewlinesPasteAction;
+import com.dmdirc.addons.ui_swing.actions.TopicEnterAction;
+import com.dmdirc.addons.ui_swing.components.SwingInputHandler;
+import com.dmdirc.addons.ui_swing.components.TextAreaInputField;
+import com.dmdirc.addons.ui_swing.components.text.TextLabel;
+import java.awt.Color;
+import java.awt.event.KeyEvent;
+import java.util.Date;
+import javax.swing.JLabel;
+
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.KeyStroke;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
+import net.miginfocom.swing.MigLayout;
+
+/**
+ * Class to display a topic to an end user as part of the channel settings
+ * dialog.
+ */
+public class TopicDisplayPane extends JPanel implements DocumentListener {
+
+ /**
+ * A version number for this class. It should be changed whenever the class
+ * structure is changed (or anything else that would prevent serialized
+ * objects being unserialized with the new class).
+ */
+ private static final long serialVersionUID = 1;
+ /** Parent topic pane. */
+ private ChannelSettingsDialog parent;
+ /** Topic to display. */
+ private Topic topic;
+ /** Associated channel. */
+ private Channel channel;
+ /** the maximum length allowed for a topic. */
+ private int topicLengthMax;
+ /** label showing the number of characters left in a topic.*/
+ private JLabel topicLengthLabel;
+ /** Topic text entry text area. */
+ private TextAreaInputField topicText;
+ /** Topic who. */
+ private TextLabel topicWho;
+
+ public TopicDisplayPane(final Channel channel,
+ final ChannelSettingsDialog parent, final int topicLengthMax) {
+ this.channel = channel;
+ this.parent = parent;
+ this.topicLengthMax = topicLengthMax;
+
+ initComponents();
+ addListeners();
+ layoutComponents();
+
+ setTopic(channel.getCurrentTopic());
+ }
+
+ private void initComponents() {
+ topicLengthLabel = new JLabel();
+ topicText = new TextAreaInputField(100, 4);
+ topicWho = new TextLabel();
+
+ topicText.setLineWrap(true);
+ topicText.setWrapStyleWord(true);
+ topicText.setRows(5);
+ topicText.setColumns(30);
+ new SwingInputHandler(topicText, channel.getFrame().getCommandParser(),
+ channel.getFrame()).setTypes(false, false, true, false);
+
+ topicText.getActionMap().put("paste-from-clipboard",
+ new NoNewlinesPasteAction());
+ topicText.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,
+ 0), new TopicEnterAction(parent));
+ topicText.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,
+ UIUtilities.getCtrlDownMask()), new TopicEnterAction(parent));
+
+ UIUtilities.addUndoManager(topicText);
+ }
+
+ private void addListeners() {
+ topicText.getDocument().addDocumentListener(this);
+ }
+
+ private void layoutComponents() {
+ setLayout(new MigLayout("wrap 1, fill, ins 0"));
+
+ add(new JScrollPane(topicText), "grow, push");
+ add(topicLengthLabel, "pushx, growx, pushx");
+ add(topicWho, "growx, pushx");
+ }
+
+ public void setTopic(final Topic topic) {
+ this.topic = topic;
+
+ if (topic == null) {
+ topicWho.setText("No topic set.");
+ } else {
+ topicWho.setText("Topic set by " + topic.getClient()
+ + "<br> on " + new Date(1000 * topic.getTime()));
+ topicText.setText(topic.getTopic());
+ }
+ }
+
+ public String getTopic() {
+ return topicText.getText();
+ }
+
+ /** Handles the topic change. */
+ private void topicChanged() {
+ if (topicLengthMax == 0) {
+ topicLengthLabel.setForeground(Color.BLACK);
+ topicLengthLabel.setText(topicText.getText().length()
+ + " characters");
+ } else {
+ final int charsLeft = topicLengthMax - topicText.getText().length();
+ if (charsLeft >= 0) {
+ topicLengthLabel.setForeground(Color.BLACK);
+ topicLengthLabel.setText(charsLeft + " of " + topicLengthMax
+ + " available");
+ } else {
+ topicLengthLabel.setForeground(Color.RED);
+ topicLengthLabel.setText(0 + " of " + topicLengthMax
+ + " available " + (-1 * charsLeft)
+ + " too many characters");
+ }
+ }
+ }
+
+ /** {@inheritDoc}. */
+ @Override
+ public void insertUpdate(final DocumentEvent e) {
+ topicChanged();
+ }
+
+ /** {@inheritDoc}. */
+ @Override
+ public void removeUpdate(final DocumentEvent e) {
+ topicChanged();
+ }
+
+ /** {@inheritDoc}. */
+ @Override
+ public void changedUpdate(final DocumentEvent e) {
+ //Ignore
+ }
+}
Click to Expand/Collapse
diff src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicLabel.java
@@ -64,10 +64,10 @@ public class TopicLabel extends JPanel {
OldTextLabel label = new OldTextLabel(topic.getTopic());
add(label, "wmax 450, growy, pushy, wrap, gapleft 5, gapleft 5");
- label = new OldTextLabel("Set on: " + new Date(topic.getTime() * 1000).toString());
+ label = new OldTextLabel("Topic set by " + topic.getClient());
add(label, "wmax 450, growy, pushy, wrap, gapleft 5, pad 0");
- label = new OldTextLabel("By: " + topic.getClient());
+ label = new OldTextLabel("on " + new Date(topic.getTime() * 1000).toString());
add(label, "wmax 450, growy, pushy, wrap, gapleft 5, pad 0");
add(new JSeparator(), "newline, span, growx, pushx");
Click to Expand/Collapse
diff src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicPane.java
@@ -23,32 +23,17 @@
package com.dmdirc.addons.ui_swing.dialogs.channelsetting;
import com.dmdirc.Channel;
-import com.dmdirc.Topic;
import com.dmdirc.addons.ui_swing.UIUtilities;
-import com.dmdirc.addons.ui_swing.actions.NoNewlinesPasteAction;
-import com.dmdirc.addons.ui_swing.components.SwingInputHandler;
-import com.dmdirc.addons.ui_swing.components.TextAreaInputField;
-import com.dmdirc.addons.ui_swing.components.text.TextLabel;
-import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.awt.event.KeyEvent;
-import java.util.Date;
-import javax.swing.AbstractAction;
-import javax.swing.JLabel;
import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.KeyStroke;
-import javax.swing.event.DocumentEvent;
-import javax.swing.event.DocumentListener;
import net.miginfocom.swing.MigLayout;
/** Topic panel. */
-public final class TopicPane extends JPanel implements DocumentListener,
- ActionListener {
+public final class TopicPane extends JPanel implements ActionListener {
/**
* A version number for this class. It should be changed whenever the class
@@ -60,16 +45,10 @@ public final class TopicPane extends JPanel implements DocumentListener,
private final Channel channel;
/** Parent dialog. */
private final ChannelSettingsDialog parent;
- /** the maximum length allowed for a topic. */
- private int topicLengthMax;
- /** label showing the number of characters left in a topic.*/
- private JLabel topicLengthLabel;
- /** Topic text entry text area. */
- private TextAreaInputField topicText;
- /** Topic who. */
- private TextLabel topicWho;
/** Topic history panel. */
private TopicHistoryPane topicHistoryPane;
+ /** Topic display pane. */
+ private TopicDisplayPane topicDisplayPane;
/**
* Creates a new instance of TopicModesPane.
@@ -85,8 +64,6 @@ public final class TopicPane extends JPanel implements DocumentListener,
this.channel = channel;
this.parent = parent;
- topicLengthMax = channel.getServer().getParser().getMaxTopicLength();
-
update();
}
@@ -97,8 +74,7 @@ public final class TopicPane extends JPanel implements DocumentListener,
removeAll();
initTopicsPanel();
layoutComponents();
-
- topicText.getDocument().addDocumentListener(this);
+
topicHistoryPane.addActionListener(this);
setVisible(true);
@@ -106,92 +82,27 @@ public final class TopicPane extends JPanel implements DocumentListener,
/** Initialises the topic panel. */
private void initTopicsPanel() {
- topicLengthLabel = new JLabel();
- topicText = new TextAreaInputField(100, 4);
- topicWho = new TextLabel();
+ topicDisplayPane = new TopicDisplayPane(channel, parent,
+ channel.getServer().getParser().getMaxTopicLength());
topicHistoryPane = new TopicHistoryPane(channel);
-
- topicText.setText(channel.getChannelInfo().getTopic());
- topicText.setLineWrap(true);
- topicText.setWrapStyleWord(true);
- topicText.setRows(5);
- topicText.setColumns(30);
- new SwingInputHandler(topicText, channel.getFrame().getCommandParser(),
- channel.getFrame()).setTypes(false, false, true, false);
-
- topicText.getActionMap().
- put("paste-from-clipboard",
- new NoNewlinesPasteAction());
- topicText.getInputMap().
- put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),
- new EnterAction());
- topicText.getInputMap().
- put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, UIUtilities.
- getCtrlDownMask()),
- new EnterAction());
-
- UIUtilities.addUndoManager(topicText);
-
- topicChanged();
- actionPerformed(null);
}
/** Lays out the components. */
private void layoutComponents() {
setLayout(new MigLayout("wrap 1, fill, wmax 450"));
- add(new JScrollPane(topicText), "grow, push");
- add(topicLengthLabel, "pushx, growx, pushx");
- add(topicWho, "growx, pushx");
+ add(topicDisplayPane, "grow, push");
add(topicHistoryPane, "grow, pushy");
}
/** Processes the topic and changes it if necessary. */
protected void setChangedTopic() {
- if (!channel.getChannelInfo().getTopic().equals(topicText.getText())) {
- channel.setTopic(topicText.getText());
- }
- }
-
- /** Handles the topic change. */
- private void topicChanged() {
- if (topicLengthMax == 0) {
- topicLengthLabel.setForeground(Color.BLACK);
- topicLengthLabel.setText(topicText.getText().length()
- + " characters");
- } else {
- final int charsLeft = topicLengthMax - topicText.getText().length();
- if (charsLeft >= 0) {
- topicLengthLabel.setForeground(Color.BLACK);
- topicLengthLabel.setText(charsLeft + " of " + topicLengthMax
- + " available");
- } else {
- topicLengthLabel.setForeground(Color.RED);
- topicLengthLabel.setText(0 + " of " + topicLengthMax
- + " available " + (-1 * charsLeft)
- + " too many characters");
- }
+ final String topic = topicDisplayPane.getTopic();
+ if (!channel.getChannelInfo().getTopic().equals(topic)) {
+ channel.setTopic(topic);
}
}
- /** {@inheritDoc}. */
- @Override
- public void insertUpdate(final DocumentEvent e) {
- topicChanged();
- }
-
- /** {@inheritDoc}. */
- @Override
- public void removeUpdate(final DocumentEvent e) {
- topicChanged();
- }
-
- /** {@inheritDoc}. */
- @Override
- public void changedUpdate(final DocumentEvent e) {
- //Ignore
- }
-
/**
* {@inheritDoc}.
*
@@ -200,44 +111,7 @@ public final class TopicPane extends JPanel implements DocumentListener,
@Override
public void actionPerformed(final ActionEvent e) {
if (e != null && e.getSource() == topicHistoryPane) {
- final Topic topic = topicHistoryPane.getSelectedTopic();
- if (topic == null) {
- actionPerformed(null);
- } else {
- topicText.setText(topic.getTopic());
- }
- } else {
- final Topic topic = channel.getCurrentTopic();
- if (topic == null) {
- topicWho.setText("No topic set.");
- } else {
- topicWho.setText("Current topic set by " + topic.getClient() +
- "<br> on " + new Date(1000 * topic.
- getTime()));
- topicText.setText(topic.getTopic());
- }
+ topicDisplayPane.setTopic(topicHistoryPane.getSelectedTopic());
}
}
-
- /** Closes and saves the topic when enter is pressed. */
- private class EnterAction extends AbstractAction {
-
- /**
- * A version number for this class. It should be changed whenever the class
- * structure is changed (or anything else that would prevent serialized
- * objects being unserialized with the new class).
- */
- private static final long serialVersionUID = 1;
-
- /**
- * {@inheritDoc}
- *
- * @param e Action event
- */
- @Override
- public void actionPerformed(final ActionEvent e) {
- parent.save();
- }
- }
-
}
(0009756)
Version Control (developer)
2010-02-06 13:56

A patchset (1) related to this change has been added to gerrit by Gregory Holmes

Re add the code to enable the topic bar to show tne entire topic wrapped onto a
multiline topic bar Fixes issue 3251: make showfulltopic work

Change-Id: I036e36ae88eed2281fa1ef6086440f927767a751
authorGregory Holmes <greg@dmdirc.com>2010-02-06 13:56:19 (GMT)
committer Shane Mc Cormack <shane@dmdirc.com>2010-02-06 19:45:48 (GMT)
commit462fcff921c5d87a34c393c26941ae47946d925c (patch) (side-by-side diff)
Re add the code to enable the topic bar to show tne entire topic wrapped onto a multiline topic bar
Fixes issue 3251: make showfulltopic work Change-Id: I036e36ae88eed2281fa1ef6086440f927767a751 Reviewed-on: http://gerrit.dmdirc.com/854 Automatic-Compile: DMDirc Local Commits <dmdirc@googlemail.com> Reviewed-by: Shane Mc Cormack <shane@dmdirc.com>
-rw-r--r--src/com/dmdirc/addons/ui_swing/SwingController.java9
-rw-r--r--src/com/dmdirc/addons/ui_swing/components/TopicBar.java38
2 files changed, 24 insertions, 23 deletions
Click to Expand/Collapse
diff src/com/dmdirc/addons/ui_swing/SwingController.java
@@ -794,11 +794,10 @@ public final class SwingController extends Plugin implements Serializable,
getDomain(),
"shownicklist", "Show nicklist?",
"Do you want the nicklist visible"));
- //TODO issue 3251
- //advanced.addSetting(new PreferencesSetting(PreferencesType.BOOLEAN, getDomain(),
- // "showfulltopic", "Show full topic in topic bar?",
- // "Do you want to show the full topic in the topic bar or just" +
- // "first line?"));
+ advanced.addSetting(new PreferencesSetting(PreferencesType.BOOLEAN, getDomain(),
+ "showfulltopic", "Show full topic in topic bar?",
+ "Do you want to show the full topic in the topic bar or just" +
+ "first line?"));
advanced.addSetting(new PreferencesSetting(PreferencesType.BOOLEAN,
getDomain(), "hideEmptyTopicBar", "Hide empty topic bar?",
"Do you want to hide the topic bar when there is no topic"));
Click to Expand/Collapse
diff src/com/dmdirc/addons/ui_swing/components/TopicBar.java
@@ -59,6 +59,7 @@ import javax.swing.text.DefaultStyledDocument;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;
+import javax.swing.text.StyledEditorKit;
import net.miginfocom.swing.MigLayout;
@@ -108,13 +109,12 @@ public class TopicBar extends JComponent implements ActionListener,
topicLengthMax = channel.getMaxTopicLength();
errorIcon =
new JLabel(IconManager.getIconManager().getIcon("input-error"));
- //TODO issue 3251
- //if (channelFrame.getConfigManager().getOptionBool(controller.
- // getDomain(), "showfulltopic")) {
- // topicText.setEditorKit(new StyledEditorKit());
- //} else {
- topicText.setEditorKit(new WrapEditorKit());
- //}
+ if (channelFrame.getConfigManager().getOptionBool(controller.
+ getDomain(), "showfulltopic")) {
+ topicText.setEditorKit(new StyledEditorKit());
+ } else {
+ topicText.setEditorKit(new WrapEditorKit());
+ }
((DefaultStyledDocument) topicText.getDocument()).setDocumentFilter(
new NewlinesDocumentFilter());
@@ -215,6 +215,8 @@ public class TopicBar extends JComponent implements ActionListener,
}
topicText.setCaretPosition(0);
validateTopic();
+ setVisible(false);
+ setVisible(true);
}
/**
@@ -383,17 +385,17 @@ public class TopicBar extends JComponent implements ActionListener,
/** {@inheritDoc} */
@Override
public void configChanged(String domain, String key) {
- //TODO issue 3251
- //if ("showfulltopic".equals(key)) {
- // if (channel.getConfigManager().getOptionBool(controller.getDomain(),
- // "showfulltopic")) {
- // topicText.setEditorKit(new StyledEditorKit());
- // } else {
- // topicText.setEditorKit(new WrapEditorKit());
- // }
- // ((DefaultStyledDocument) topicText.getDocument()).setDocumentFilter(
- // new NewlinesDocumentFilter());
- //}
+ if ("showfulltopic".equals(key)) {
+ if (channel.getConfigManager().getOptionBool(controller.getDomain(),
+ "showfulltopic")) {
+ topicText.setEditorKit(new StyledEditorKit());
+ } else {
+ topicText.setEditorKit(new WrapEditorKit());
+ }
+ ((DefaultStyledDocument) topicText.getDocument()).setDocumentFilter(
+ new NewlinesDocumentFilter());
+ topicChanged(channel, null);
+ }
setColours();
if ("hideEmptyTopicBar".equals(key)) {
setVisible(true);

Issue History

Date Modified Username Field Change
2009-12-28 21:32 Greboid New Issue
2009-12-28 21:32 Greboid Status new => assigned
2009-12-28 21:32 Greboid Assigned To => Greboid
2009-12-30 00:47 Greboid Checkin
2009-12-30 00:47 Greboid Note Added: 0008372
2009-12-30 00:47 Greboid Status assigned => resolved
2009-12-30 00:47 Greboid Resolution open => fixed
2010-01-26 21:01 MD87 Needs unit test => no
2010-01-26 21:01 MD87 Resolution fixed => open
2010-01-26 21:01 MD87 Target Version 0.6.3 => 1.1+
2010-01-26 21:01 Greboid Status resolved => assigned
2010-01-26 21:01 Greboid Resolution open => reopened
2010-02-06 13:56 Version Control Checkin
2010-02-06 13:56 Version Control Note Added: 0009756
2010-02-06 13:56 Version Control Status assigned => fix pending
2010-02-06 19:46 Greboid Checkin
2010-02-06 19:46 Greboid Note Added: 0009760
2010-02-06 19:46 Greboid Status fix pending => resolved
2010-02-06 19:46 Greboid Resolution reopened => fixed
2010-02-18 20:13 Greboid Target Version 1.1+ => 0.6.3
2010-03-06 21:32 Greboid Status resolved => closed