- && !_listModel.getSource(serverNum).getSiteStrings().equals(_initialSource));
- _deleteButton.setEnabled(serverNum >= MapSourceLibrary.getNumFixedSources()
- && serverNum < _listModel.getSize());
+ && (_sourcesEdited || !_listModel.getSource(serverNum).getSiteStrings().equals(_initialSource)));
+ boolean hasCustomSource = serverNum >= MapSourceLibrary.getNumFixedSources()
+ && serverNum < _listModel.getSize();
+ _editButton.setEnabled(hasCustomSource);
+ _deleteButton.setEnabled(hasCustomSource);
+ _cancelButton.setEnabled(!_sourcesEdited);