Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/main/java/com/itextpdf/rups/Rups.java
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ static IRupsController initApplication(JFrame frame) {

final RupsTabbedPane rupsTabbedPane = new RupsTabbedPane();
final RupsController rupsController = new RupsController(screen, rupsTabbedPane);
final RupsMenuBar rupsMenuBar = new RupsMenuBar(rupsController);
final RupsMenuBar rupsMenuBar = new RupsMenuBar(rupsController, frame);

frame.setDropTarget(new RupsDropTarget(rupsController));
frame.setJMenuBar(rupsMenuBar);
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/itextpdf/rups/view/Language.java
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ public enum Language {
MENU_BAR_CLOSE,
MENU_BAR_COMPARE_WITH,
MENU_BAR_EDIT,
MENU_BAR_EXIT,
MENU_BAR_FILE,
MENU_BAR_HELP,
MENU_BAR_NEW_INDIRECT,
Expand Down
28 changes: 22 additions & 6 deletions src/main/java/com/itextpdf/rups/view/RupsMenuBar.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,14 @@ This file is part of the iText (R) project.
import com.itextpdf.rups.model.MruListHandler;
import com.itextpdf.rups.model.ObjectLoader;

import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import java.io.File;
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
Expand All @@ -78,17 +82,18 @@ public final class RupsMenuBar extends JMenuBar implements IRupsEventListener {
/**
* Creates a JMenuBar.
*/
public RupsMenuBar(RupsController controller) {
public RupsMenuBar(RupsController controller, JFrame mainFrame) {
this.controller = controller;

final int shortcutKeyMask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx();
preferencesWindow = new PreferencesWindow();

final JMenu file = new JMenu(Language.MENU_BAR_FILE.getString());
addItem(
file,
Language.MENU_BAR_OPEN,
new PdfFileOpenAction(controller::openNewFile, controller.getMasterComponent()),
KeyStroke.getKeyStroke('O', InputEvent.CTRL_DOWN_MASK)
KeyStroke.getKeyStroke(KeyEvent.VK_O, shortcutKeyMask)
);
file.add(createOpenRecentSubMenu());
reopenAsOwnerMenuItem = addItem(
Expand All @@ -100,22 +105,33 @@ public RupsMenuBar(RupsController controller) {
file,
Language.MENU_BAR_CLOSE,
e -> controller.closeCurrentFile(),
KeyStroke.getKeyStroke('W', InputEvent.CTRL_DOWN_MASK)
KeyStroke.getKeyStroke(KeyEvent.VK_W, shortcutKeyMask)
);
saveAsMenuItem = addItem(
file,
Language.MENU_BAR_SAVE_AS,
new PdfFileSaveAction(controller, controller.getMasterComponent()),
KeyStroke.getKeyStroke('S', InputEvent.CTRL_DOWN_MASK)
KeyStroke.getKeyStroke(KeyEvent.VK_S, shortcutKeyMask)
);
file.addSeparator();
openInPdfViewerMenuItem = addItem(
file,
Language.MENU_BAR_OPEN_IN_PDF_VIEWER,
new OpenInViewerAction(controller),
KeyStroke.getKeyStroke('E', InputEvent.CTRL_DOWN_MASK)
KeyStroke.getKeyStroke(KeyEvent.VK_E, shortcutKeyMask)
);
add(file);
if (mainFrame != null) {
file.addSeparator();
addItem(
file,
Language.MENU_BAR_EXIT,
(ActionEvent e) -> mainFrame.dispatchEvent(
new WindowEvent(mainFrame, WindowEvent.WINDOW_CLOSING)
),
KeyStroke.getKeyStroke(KeyEvent.VK_Q, shortcutKeyMask)
);
}

final JMenu edit = new JMenu(Language.MENU_BAR_EDIT.getString());
addItem(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ This file is part of the iText (R) project.

import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
Expand Down Expand Up @@ -136,10 +135,11 @@ public SyntaxHighlightedStreamPane(PdfReaderController controller) {
manager = new UndoManager();
manager.setLimit(MAX_NUMBER_OF_EDITS);
text.getDocument().addUndoableEditListener(manager);
final int shortcutKeyMask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx();
text.registerKeyboardAction(new UndoAction(manager),
KeyStroke.getKeyStroke(KeyEvent.VK_Z, InputEvent.CTRL_DOWN_MASK), JComponent.WHEN_FOCUSED);
KeyStroke.getKeyStroke(KeyEvent.VK_Z, shortcutKeyMask), JComponent.WHEN_FOCUSED);
text.registerKeyboardAction(new RedoAction(manager),
KeyStroke.getKeyStroke(KeyEvent.VK_Y, InputEvent.CTRL_DOWN_MASK), JComponent.WHEN_FOCUSED);
KeyStroke.getKeyStroke(KeyEvent.VK_Y, shortcutKeyMask), JComponent.WHEN_FOCUSED);
}

/**
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/bundles/rups-lang.properties
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ MENU_BAR_CLEAR_RECENTLY_OPENED=Clear Recently Opened
MENU_BAR_CLOSE=Close
MENU_BAR_COMPARE_WITH=Compare With
MENU_BAR_EDIT=Edit
MENU_BAR_EXIT=Exit
MENU_BAR_FILE=File
MENU_BAR_HELP=Help
MENU_BAR_NEW_INDIRECT=Add New Indirect Object
Expand Down
2 changes: 2 additions & 0 deletions src/main/resources/bundles/rups-lang_en_US.properties
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,8 @@ MENU_BAR_ABOUT=About
MENU_BAR_CLEAR_RECENTLY_OPENED=Clear Recently Opened
MENU_BAR_CLOSE=Close
MENU_BAR_COMPARE_WITH=Compare With
MENU_BAR_EDIT=Edit
MENU_BAR_EXIT=Exit
MENU_BAR_FILE=File
MENU_BAR_HELP=Help
MENU_BAR_NEW_INDIRECT=Add New Indirect Object
Expand Down