1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.gui.action;
21
22 import java.awt.event.ActionEvent;
23
24 import javax.swing.AbstractAction;
25 import javax.swing.Action;
26 import javax.swing.JOptionPane;
27
28 import org.xnap.XNap;
29 import org.xnap.gui.util.IconHelper;
30
31 /***
32 * Provides an action that displays a dialog that prompts the user for
33 * topic for a chat channel.
34 */
35 public class ChangeTopicAction extends AbstractAction {
36
37
38
39
40
41 private TopicChangable tc;
42
43
44
45 public ChangeTopicAction(TopicChangable tc)
46 {
47 this.tc = tc;
48
49 putValue(Action.NAME, "Change Topic");
50 putValue(IconHelper.XNAP_ICON, "edit.png");
51 putValue(Action.SHORT_DESCRIPTION,
52 XNap.tr("Changes the topic of the channel."));
53 }
54
55
56
57 public void actionPerformed(ActionEvent event)
58 {
59 String newTopic = JOptionPane.showInputDialog
60 (null, "Topic", XNap.tr("Change Topic"),
61 JOptionPane.QUESTION_MESSAGE);
62
63 if (newTopic != null) {
64 tc.changeTopic(newTopic);
65 }
66 }
67
68 }