Changeset 12719 in josm for trunk/src/org/openstreetmap/josm/gui/io/TagSettingsPanel.java
- Timestamp:
- 2017-09-04T02:10:29+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/io/TagSettingsPanel.java
r12636 r12719 29 29 private final transient ChangesetCommentModel changesetCommentModel; 30 30 private final transient ChangesetCommentModel changesetSourceModel; 31 private final transient ChangesetReviewModel changesetReviewModel; 31 32 32 33 /** … … 35 36 * @param changesetCommentModel the changeset comment model. Must not be null. 36 37 * @param changesetSourceModel the changeset source model. Must not be null. 38 * @param changesetReviewModel the model for the changeset review. Must not be null. 37 39 * @throws IllegalArgumentException if {@code changesetCommentModel} is null 40 * @since 12719 (signature) 38 41 */ 39 public TagSettingsPanel(ChangesetCommentModel changesetCommentModel, ChangesetCommentModel changesetSourceModel) { 42 public TagSettingsPanel(ChangesetCommentModel changesetCommentModel, ChangesetCommentModel changesetSourceModel, 43 ChangesetReviewModel changesetReviewModel) { 40 44 CheckParameterUtil.ensureParameterNotNull(changesetCommentModel, "changesetCommentModel"); 41 45 CheckParameterUtil.ensureParameterNotNull(changesetSourceModel, "changesetSourceModel"); 46 CheckParameterUtil.ensureParameterNotNull(changesetReviewModel, "changesetReviewModel"); 42 47 this.changesetCommentModel = changesetCommentModel; 43 48 this.changesetSourceModel = changesetSourceModel; 44 this.changesetCommentModel.addChangeListener(new ChangesetCommentChangeListener("comment")); 45 this.changesetSourceModel.addChangeListener(new ChangesetCommentChangeListener("source")); 49 this.changesetReviewModel = changesetReviewModel; 50 changesetCommentModel.addChangeListener(new ChangesetCommentChangeListener("comment")); 51 changesetSourceModel.addChangeListener(new ChangesetCommentChangeListener("source")); 52 changesetReviewModel.addChangeListener(new ChangesetReviewChangeListener()); 46 53 build(); 47 54 pnlTagEditor.getModel().addTableModelListener(this); … … 109 116 changesetCommentModel.setComment(getTagEditorValue("comment")); 110 117 changesetSourceModel.setComment(getTagEditorValue("source")); 118 changesetReviewModel.setReviewRequested("yes".equals(getTagEditorValue("review_requested"))); 111 119 } 112 120 … … 117 125 setProperty("comment", changesetCommentModel.getComment()); 118 126 setProperty("source", changesetSourceModel.getComment()); 127 setProperty("review_requested", changesetReviewModel.isReviewRequested() ? "yes" : null); 119 128 } 120 129 … … 142 151 } 143 152 } 153 154 /** 155 * Observes the changeset review model and keeps the tag editor in sync 156 * with the current changeset review request 157 */ 158 class ChangesetReviewChangeListener implements ChangeListener { 159 160 private final String key = "review_requested"; 161 162 @Override 163 public void stateChanged(ChangeEvent e) { 164 if (e.getSource() instanceof ChangesetReviewModel) { 165 boolean newState = ((ChangesetReviewModel) e.getSource()).isReviewRequested(); 166 boolean oldState = "yes".equals(Optional.ofNullable(getTagEditorValue(key)).orElse("")); 167 if (oldState != newState) { 168 setProperty(key, newState ? "yes" : null); 169 } 170 } 171 } 172 } 144 173 }
Note:
See TracChangeset
for help on using the changeset viewer.