mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-14 07:17:13 -04:00
better text on option dialogs
This commit is contained in:
parent
92c2dc33f7
commit
edd00f1e68
@ -17,6 +17,9 @@ public class ClosingWindowListener extends WindowAdapter {
|
||||
public static String SAVE_CHANGES_MESSAGE = Lang.get("win_saveChanges");
|
||||
public static String CONFIRM_EXIT_MESSAGE = Lang.get("win_confirmExit");
|
||||
public static String STATE_CHANGED_MESSAGE = Lang.get("win_stateChanged");
|
||||
public static String NO_MESSAGE = Lang.get("btn_discard");
|
||||
public static String YES_MESSAGE = Lang.get("btn_save");
|
||||
public static String CANCEL_MESSAGE = Lang.get("btn_editFurther");
|
||||
private final Component parent;
|
||||
private final GUICloser guiCloser;
|
||||
|
||||
@ -66,7 +69,13 @@ public class ClosingWindowListener extends WindowAdapter {
|
||||
*/
|
||||
public static boolean checkForSave(JFrame parent, ConfirmSave confirmSave) {
|
||||
if (confirmSave.isStateChanged()) {
|
||||
int r = JOptionPane.showConfirmDialog(parent, SAVE_CHANGES_MESSAGE, STATE_CHANGED_MESSAGE, JOptionPane.YES_NO_CANCEL_OPTION);
|
||||
int r = new ConfirmDialogBuilder(SAVE_CHANGES_MESSAGE)
|
||||
.setTitle(STATE_CHANGED_MESSAGE)
|
||||
.setNoOption(NO_MESSAGE)
|
||||
.setYesOption(YES_MESSAGE)
|
||||
.setCancleOption(CANCEL_MESSAGE)
|
||||
.show(parent);
|
||||
|
||||
if (r != JOptionPane.CANCEL_OPTION) {
|
||||
if (r == JOptionPane.YES_OPTION) {
|
||||
confirmSave.saveChanges();
|
||||
@ -93,8 +102,14 @@ public class ClosingWindowListener extends WindowAdapter {
|
||||
@Override
|
||||
public void windowClosing(WindowEvent e) {
|
||||
if (guiCloser.isStateChanged()) {
|
||||
int r = JOptionPane.showConfirmDialog(parent, SAVE_CHANGES_MESSAGE, CONFIRM_EXIT_MESSAGE, JOptionPane.YES_NO_CANCEL_OPTION);
|
||||
if (r != JOptionPane.CANCEL_OPTION) {
|
||||
int r = new ConfirmDialogBuilder(SAVE_CHANGES_MESSAGE)
|
||||
.setTitle(CONFIRM_EXIT_MESSAGE)
|
||||
.setNoOption(NO_MESSAGE)
|
||||
.setYesOption(YES_MESSAGE)
|
||||
.setCancleOption(CANCEL_MESSAGE)
|
||||
.show(parent);
|
||||
|
||||
if (r == JOptionPane.YES_OPTION || r == JOptionPane.NO_OPTION) {
|
||||
if (r == JOptionPane.YES_OPTION) {
|
||||
guiCloser.saveChanges();
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ public class ConfirmDialogBuilder {
|
||||
private String yes = "Yes";
|
||||
private String no = "No";
|
||||
private int def = 0;
|
||||
private String cancle;
|
||||
|
||||
/**
|
||||
* Creates anew dialog builder
|
||||
@ -58,6 +59,17 @@ public class ConfirmDialogBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the text for the cancle-option
|
||||
*
|
||||
* @param cancle the cancle option text
|
||||
* @return this for chaining calls
|
||||
*/
|
||||
public ConfirmDialogBuilder setCancleOption(String cancle) {
|
||||
this.cancle = cancle;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets yes as the default option
|
||||
*
|
||||
@ -82,20 +94,23 @@ public class ConfirmDialogBuilder {
|
||||
* Shows the dialog
|
||||
*
|
||||
* @param parent the parent component
|
||||
* @return true if yes is pressed
|
||||
* @return the result of showOptionDialog
|
||||
*/
|
||||
public boolean show(Component parent) {
|
||||
Object[] options = {yes, no};
|
||||
int n = JOptionPane.showOptionDialog(parent,
|
||||
public int show(Component parent) {
|
||||
Object[] options;
|
||||
if (cancle == null)
|
||||
options = new Object[]{yes, no};
|
||||
else
|
||||
options = new Object[]{yes, no, cancle};
|
||||
|
||||
return JOptionPane.showOptionDialog(parent,
|
||||
message,
|
||||
title,
|
||||
JOptionPane.YES_NO_OPTION,
|
||||
cancle == null ? JOptionPane.YES_NO_OPTION : JOptionPane.YES_NO_CANCEL_OPTION,
|
||||
JOptionPane.QUESTION_MESSAGE,
|
||||
null,
|
||||
options,
|
||||
options[def]);
|
||||
|
||||
return n == JOptionPane.YES_OPTION;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -82,6 +82,10 @@ btn_edit=Bearbeiten
|
||||
btn_load=Laden
|
||||
btn_reload=Neu Laden
|
||||
btn_reload_tt=Letzte Datei noch einmal laden
|
||||
btn_discard=Verwerfen
|
||||
btn_save=Speichern
|
||||
btn_editFurther=Weiter bearbeiten
|
||||
|
||||
|
||||
tt_moveItemUp=Eintrag nach oben schieben
|
||||
tt_moveItemDown=Eintrag nach unten schieben
|
||||
@ -132,6 +136,6 @@ menu_delete=L\u00F6schen
|
||||
menu_delete_tt=L\u00F6scht ausgew\u00E4hlte Elemente
|
||||
|
||||
menu_about=\u00DCber Digital
|
||||
win_saveChanges=Ver\u00E4nderungen speichern?
|
||||
win_saveChanges=\u00C4nderungen speichern?
|
||||
win_confirmExit=Beenden best\u00E4tigen!
|
||||
win_stateChanged=Die Datei wurde ver\u00E4ndert!
|
||||
|
@ -83,6 +83,10 @@ btn_edit=Edit
|
||||
btn_load=Load
|
||||
btn_reload=Reload
|
||||
btn_reload_tt=Reload last hex file
|
||||
btn_discard=Discard Changes
|
||||
btn_save=Save
|
||||
btn_editFurther=Continue editing
|
||||
|
||||
|
||||
tt_moveItemUp=Move the item up
|
||||
tt_moveItemDown=Move the item down
|
||||
|
Loading…
x
Reference in New Issue
Block a user