Skip to content

Commit

Permalink
Merge pull request #384 from greboid/dev3
Browse files Browse the repository at this point in the history
Use JMenuItemBuilder in the menubar.
  • Loading branch information
csmith committed Jan 20, 2015
2 parents f9aab37 + 2d24de8 commit 53fe853
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 102 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -93,22 +93,24 @@ public ChannelMenu(
* Initialises the channel menu.
*/
private void initChannelMenu() {
join = new JMenuItem();
join.setText("Join Channel...");
join.setMnemonic('j');
join.addActionListener(e -> joinChannel());
join = JMenuItemBuilder.create()
.setText("Join Channle...")
.setMnemonic('j')
.addActionListener(e -> joinChannel())
.build();
add(join);

csd = new JMenuItem();
csd.setMnemonic('c');
csd.setText("Channel Settings");
csd.addActionListener(l -> showChannelSettings());
csd = JMenuItemBuilder.create()
.setMnemonic('c')
.setText("Channel Settings")
.addActionListener(l -> showChannelSettings()).build();
add(csd);

list = new JMenuItem();
list.setText("List channels...");
list.setMnemonic('l');
list.addActionListener(e -> channelListDialogProvider.displayOrRequestFocus());
list = JMenuItemBuilder.create()
.setText("List channels...")
.setMnemonic('l')
.addActionListener(e -> channelListDialogProvider.displayOrRequestFocus())
.build();
add(list);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,15 @@
import com.dmdirc.addons.ui_swing.injection.DialogProvider;
import com.dmdirc.interfaces.ConnectionManager;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.inject.Inject;
import javax.inject.Singleton;
import javax.swing.JMenu;
import javax.swing.JMenuItem;

/**
* A menu providing help commands to the menu bar.
*/
@Singleton
public class HelpMenu extends JMenu implements ActionListener {
public class HelpMenu extends JMenu {

/** Serial version UID. */
private static final long serialVersionUID = 1;
Expand Down Expand Up @@ -75,45 +71,21 @@ public HelpMenu(
* Initialises the help menu.
*/
private void initHelpMenu() {
JMenuItem menuItem;

menuItem = new JMenuItem();
menuItem.setMnemonic('j');
menuItem.setText("Join Dev channel");
menuItem.setActionCommand("JoinDevChat");
menuItem.addActionListener(this);
add(menuItem);

menuItem = new JMenuItem();
menuItem.setMnemonic('f');
menuItem.setText("Send Feedback");
menuItem.setActionCommand("feedback");
menuItem.addActionListener(this);
add(menuItem);

add(JMenuItemBuilder.create()
.setMnemonic('j')
.setText("Join Dev channel")
.addActionListener(e -> connectionManager.joinDevChat())
.build());
add(JMenuItemBuilder.create().setMnemonic('f')
.setText("Send Feedback")
.addActionListener(e -> feedbackDialogProvider.displayOrRequestFocus())
.build());
if (!Apple.isAppleUI()) {
menuItem = new JMenuItem();
menuItem.setMnemonic('a');
menuItem.setText("About");
menuItem.setActionCommand("About");
menuItem.addActionListener(this);
add(menuItem);
add(JMenuItemBuilder.create()
.setMnemonic('a')
.setText("About")
.addActionListener(e -> aboutDialogProvider.displayOrRequestFocus())
.build());
}
}

@Override
public void actionPerformed(final ActionEvent e) {
switch (e.getActionCommand()) {
case "About":
aboutDialogProvider.displayOrRequestFocus();
break;
case "JoinDevChat":
connectionManager.joinDevChat();
break;
case "feedback":
feedbackDialogProvider.displayOrRequestFocus();
break;
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ public void addMenuItem(final String parentMenu, final JMenuItem menuItem) {
}

public void removeMenuItem(final String parentMenu, final String childItem) {
Optional<JMenu> menu = getParentMenuItem(parentMenu);
final Optional<JMenu> menu = getParentMenuItem(parentMenu);
if (menu.isPresent()) {
Optional<JMenuItem> menuItem = getChildItem(menu.get(), childItem);
final Optional<JMenuItem> menuItem = getChildItem(menu.get(), childItem);
if (menuItem.isPresent()) {
menu.get().remove(menuItem.get());
}
Expand All @@ -135,7 +135,7 @@ private Optional<JMenuItem> getChildItem(final JMenu menu, final String name) {
child = menu.getMenuComponent(i);
if (child instanceof JMenuItem) {
final JMenuItem childMenu = (JMenuItem) child;
if (childMenu != null && childMenu.getText().equals(name)) {
if (childMenu.getText().equals(name)) {
break;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,35 +94,38 @@ public ServerMenu(
* Initialises the server menu.
*/
private void initServerMenu() {
final JMenuItem newServer = new JMenuItem();
newServer.setText("New Server...");
newServer.setMnemonic('n');
newServer.addActionListener(e -> newServerProvider.displayOrRequestFocus());
add(newServer);

disconnect = new JMenuItem();
disconnect.setText("Disconnect");
disconnect.setMnemonic('d');
disconnect.addActionListener(e -> activeFrameManager.getActiveFrame()
.map(TextFrame::getContainer)
.flatMap(WindowModel::getConnection)
.ifPresent(Connection::disconnect));
add(JMenuItemBuilder.create()
.setText("New Server...")
.setMnemonic('n')
.addActionListener(e -> newServerProvider.displayOrRequestFocus())
.build());

disconnect = JMenuItemBuilder.create()
.setText("Disconnect")
.setMnemonic('d')
.addActionListener(
e -> activeFrameManager.getActiveFrame().map(TextFrame::getContainer)
.flatMap(WindowModel::getConnection)
.ifPresent(Connection::disconnect))
.build();
add(disconnect);

ssd = new JMenuItem();
ssd.setMnemonic('s');
ssd.setText("Server settings");
ssd.addActionListener(e -> activeFrameManager.getActiveFrame()
.ifPresent(f -> f.getContainer().getConnection()
.ifPresent(ssdProvider::displayOrRequestFocus)));
ssd = JMenuItemBuilder.create()
.setMnemonic('s')
.setText("Server settings")
.addActionListener(e -> activeFrameManager.getActiveFrame().ifPresent(
f -> f.getContainer().getConnection()
.ifPresent(ssdProvider::displayOrRequestFocus)))
.build();
add(ssd);

if (!Apple.isAppleUI()) {
final JMenuItem exit = new JMenuItem();
exit.setText("Exit");
exit.setMnemonic('x');
exit.addActionListener(e -> UIUtilities.invokeOffEDTNoLogging(lifecycleController::quit));
add(exit);
add(JMenuItemBuilder.create()
.setText("Exit")
.setMnemonic('x')
.addActionListener(
e -> UIUtilities.invokeOffEDTNoLogging(lifecycleController::quit))
.build());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.swing.JMenu;
import javax.swing.JMenuItem;

/**
* A menu to add settings related commands to the menu bar.
Expand Down Expand Up @@ -66,27 +65,20 @@ public SettingsMenu(
* Initialises the settings menu.
*/
private void initSettingsMenu() {
JMenuItem menuItem;

if (!Apple.isAppleUI()) {
menuItem = new JMenuItem();
menuItem.setText("Preferences");
menuItem.setMnemonic('p');
menuItem.addActionListener(e -> prefsDialogProvider.displayOrRequestFocus());
add(menuItem);
add(JMenuItemBuilder.create().setText("Preferences").setMnemonic('p')
.addActionListener(e -> prefsDialogProvider.displayOrRequestFocus()).build());
}

menuItem = new JMenuItem();
menuItem.setMnemonic('p');
menuItem.setText("Profile Manager");
menuItem.addActionListener(e -> profileDialogProvider.displayOrRequestFocus());
add(menuItem);

menuItem = new JMenuItem();
menuItem.setMnemonic('a');
menuItem.setText("Alias Manager");
menuItem.addActionListener(e -> aliasDialogProvider.displayOrRequestFocus());
add(menuItem);
add(JMenuItemBuilder.create()
.setMnemonic('p')
.addActionListener(e -> profileDialogProvider.displayOrRequestFocus())
.setText("Profile Manager")
.build());
add(JMenuItemBuilder.create()
.setMnemonic('a')
.setText("Alias Manager")
.addActionListener(e -> aliasDialogProvider.displayOrRequestFocus())
.build());
}

}

0 comments on commit 53fe853

Please sign in to comment.