import jexer.TKeypress;
import jexer.TMessageBox;
import jexer.TStatusBar;
+import jexer.TWidget;
import jexer.TWindow;
import jexer.event.TMenuEvent;
import jexer.menu.TMenu;
public static final int MENU_LIBRARY = 1029;
public static final int MENU_EXIT = 1030;
+ public static final TCommand CMD_EXIT = new TCommand(MENU_EXIT) {
+ };
+
private Reader reader;
private TuiReaderMainWindow main;
// TODO: open in editor + external option
if (!meta.isImageDocument()) {
- @SuppressWarnings("unused")
- Object discard = new TuiReaderStoryWindow(this, getLibrary(), meta,
+ TWindow window = new TuiReaderStoryWindow(this, getLibrary(), meta,
getChapter());
+ window.maximize();
} else {
try {
openExternal(getLibrary(), meta.getLuid());
*/
public TStatusBar setStatusBar(TWindow window, String description) {
TStatusBar statusBar = window.newStatusBar(description);
- statusBar.addShortcutKeypress(TKeypress.kbF10, TCommand.cmExit, "Exit");
+ statusBar.addShortcutKeypress(TKeypress.kbF10, CMD_EXIT, "Exit");
return statusBar;
}
// TODO: i18n
switch (menu.getId()) {
case MENU_EXIT:
- if (messageBox("Confirmation", "(TODO: i18n) Exit application?",
- TMessageBox.Type.YESNO).getResult() == TMessageBox.Result.YES) {
- exit(); // TODO: exit(false) for "no confirm box"
- }
-
+ close(this);
return true;
case MENU_IMPORT_URL:
String clipboard = "";
public void openExternal(BasicLibrary lib, String luid) throws IOException {
reader.openExternal(lib, luid);
}
+
+ /**
+ * Ask the user and, if confirmed, close the {@link TApplication} this
+ * {@link TWidget} is running on.
+ * <p>
+ * This should result in the program terminating.
+ *
+ * @param widget
+ * the {@link TWidget}
+ */
+ static public void close(TWidget widget) {
+ close(widget.getApplication());
+ }
+
+ /**
+ * Ask the user and, if confirmed, close the {@link TApplication}.
+ * <p>
+ * This should result in the program terminating.
+ *
+ * @param app
+ * the {@link TApplication}
+ */
+ static void close(TApplication app) {
+ // TODO: i18n
+ if (app.messageBox("Confirmation", "(TODO: i18n) Exit application?",
+ TMessageBox.Type.YESNO).getResult() == TMessageBox.Result.YES) {
+ app.exit();
+ }
+ }
}