Changeset 6595 in josm for trunk


Ignore:
Timestamp:
2014-01-02T01:23:15+01:00 (11 years ago)
Author:
simon04
Message:

see #8969 - add "Do not show again (this operation)" for "Really delete selection from relation"

Location:
trunk/src/org/openstreetmap/josm/gui
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java

    r6594 r6595  
    7171
    7272    /**
     73     * Determines whether the key has been marked to be part of a bulk operation (in order to provide a "Do not show again (this operation)" option).
     74     * @param prefKey the preference key
     75     */
     76    public static boolean isInBulkOperation(final String prefKey) {
     77        return immediateActive.contains(prefKey);
     78    }
     79
     80    /**
    7381     * Marks the ending of a bulk operation. Removes the "Do not show again (this operation)" result value.
    7482     * @param prefKey the preference key
     
    109117        if (isYesOrNo(ret))
    110118            return ret;
    111         MessagePanel pnl = new MessagePanel(message, immediateActive.contains(preferenceKey));
     119        MessagePanel pnl = new MessagePanel(message, isInBulkOperation(preferenceKey));
    112120        ret = JOptionPane.showOptionDialog(parent, pnl, title, optionType, messageType, null, options, defaultOption);
    113121        if (isYesOrNo(ret)) {
     
    152160        if (isYesOrNo(ret))
    153161            return ret == trueOption;
    154         MessagePanel pnl = new MessagePanel(message, immediateActive.contains(preferenceKey));
     162        MessagePanel pnl = new MessagePanel(message, isInBulkOperation(preferenceKey));
    155163        ret = JOptionPane.showConfirmDialog(parent, pnl, title, optionType, messageType);
    156164        if ((isYesOrNo(ret))) {
     
    185193        if (getDialogReturnValue(preferenceKey) == Integer.MAX_VALUE)
    186194            return;
    187         MessagePanel pnl = new MessagePanel(message, immediateActive.contains(preferenceKey));
     195        MessagePanel pnl = new MessagePanel(message, isInBulkOperation(preferenceKey));
    188196        JOptionPane.showMessageDialog(parent, pnl, title, messageType);
    189197        pnl.getNotShowAgain().store(preferenceKey, Integer.MAX_VALUE);
  • trunk/src/org/openstreetmap/josm/gui/ExtendedDialog.java

    r6594 r6595  
    370370
    371371        if (toggleable) {
    372             togglePanel = new ConditionalOptionPaneUtil.MessagePanel(null, false);
     372            togglePanel = new ConditionalOptionPaneUtil.MessagePanel(null, ConditionalOptionPaneUtil.isInBulkOperation(togglePref));
    373373            gc.gridx = icon != null ? 1 : 0;
    374374            gc.gridy = y++;
  • trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java

    r6557 r6595  
    7575import org.openstreetmap.josm.data.osm.event.DatasetEventManager.FireMode;
    7676import org.openstreetmap.josm.data.osm.event.SelectionEventManager;
     77import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil;
    7778import org.openstreetmap.josm.gui.DefaultNameFormatter;
    7879import org.openstreetmap.josm.gui.ExtendedDialog;
     
    845846    class DeleteAction extends JosmAction implements ListSelectionListener {
    846847
     848        static final String DELETE_FROM_RELATION_PREF = "delete_from_relation";
     849
    847850        public DeleteAction() {
    848851            super(tr("Delete"), "dialogs/delete", tr("Delete the selected key in all objects"),
     
    901904            ed.setButtonIcons(new String[] {"dialogs/delete.png", "cancel.png"});
    902905            ed.setContent(tr("Really delete selection from relation {0}?", cur.getDisplayName(DefaultNameFormatter.getInstance())));
    903             ed.toggleEnable("delete_from_relation");
     906            ed.toggleEnable(DELETE_FROM_RELATION_PREF);
    904907            ed.showDialog();
    905908
     
    925928                deleteTags(rows);
    926929            } else if (membershipTable.getSelectedRowCount() > 0) {
     930                ConditionalOptionPaneUtil.startBulkOperation(DELETE_FROM_RELATION_PREF);
    927931                int[] rows = membershipTable.getSelectedRows();
    928                 // delete from last relation to convserve row numbers in the table
     932                // delete from last relation to conserve row numbers in the table
    929933                for (int i=rows.length-1; i>=0; i--) {
    930934                    deleteFromRelation(rows[i]);
    931935                }
     936                ConditionalOptionPaneUtil.endBulkOperation(DELETE_FROM_RELATION_PREF);
    932937            }
    933938        }
Note: See TracChangeset for help on using the changeset viewer.