Changeset 6729 in josm for trunk


Ignore:
Timestamp:
2014-01-19T00:45:37+01:00 (10 years ago)
Author:
Don-vip
Message:

disables OK button in SourceEditor "add entry" dialog when no file/URL has been set yet

File:
1 edited

Legend:

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

    r6670 r6729  
    6767import javax.swing.event.ChangeEvent;
    6868import javax.swing.event.ChangeListener;
     69import javax.swing.event.DocumentEvent;
     70import javax.swing.event.DocumentListener;
    6971import javax.swing.event.ListSelectionEvent;
    7072import javax.swing.event.ListSelectionListener;
     
    702704
    703705        public EditSourceEntryDialog(Component parent, String title, SourceEntry e) {
    704             super(parent,
    705                     title,
    706                     new String[] {tr("Ok"), tr("Cancel")});
     706            super(parent, title, new String[] {tr("Ok"), tr("Cancel")});
    707707
    708708            JPanel p = new JPanel(new GridBagLayout());
     
    718718            fileChooser.setMargin(new Insets(0, 0, 0, 0));
    719719            p.add(fileChooser, GBC.eol().insets(0, 0, 5, 5));
    720 
     720           
    721721            if (e != null) {
    722722                if (e.title != null) {
     
    732732            setButtonIcons(new String[] {"ok", "cancel"});
    733733            setContent(p);
     734
     735            // Make OK button enabled only when a file/URL has been set
     736            tfURL.getDocument().addDocumentListener(new DocumentListener() {
     737                @Override
     738                public void insertUpdate(DocumentEvent e) {
     739                    updateOkButtonState();
     740                }
     741                @Override
     742                public void removeUpdate(DocumentEvent e) {
     743                    updateOkButtonState();
     744                }
     745                @Override
     746                public void changedUpdate(DocumentEvent e) {
     747                    updateOkButtonState();
     748                }
     749            });
     750        }
     751
     752        private void updateOkButtonState() {
     753            buttons.get(0).setEnabled(!Utils.strip(tfURL.getText()).isEmpty());
     754        }
     755
     756        @Override
     757        public void setupDialog() {
     758            super.setupDialog();
     759            updateOkButtonState();
    734760        }
    735761
Note: See TracChangeset for help on using the changeset viewer.