X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fcontroller%2FAlignViewController.java;h=24439caa05355860b5d9d2d67950d19bf0c23643;hb=461b359b7338934b198a22bd70c622f333ac4661;hp=ca2ae6d552f7cef5bca66cfc13d24270eaf4946b;hpb=5bf2fad80f9aad20946953f09c10a198a3b0f82e;p=jalview.git diff --git a/src/jalview/controller/AlignViewController.java b/src/jalview/controller/AlignViewController.java index ca2ae6d..24439ca 100644 --- a/src/jalview/controller/AlignViewController.java +++ b/src/jalview/controller/AlignViewController.java @@ -238,6 +238,7 @@ public class AlignViewController implements AlignViewControllerI ColumnSelection cs = viewport.getColumnSelection(); if (bs.cardinality() > 0 || invert) { + boolean changed = false; if (cs == null) { cs = new ColumnSelection(); @@ -246,6 +247,7 @@ public class AlignViewController implements AlignViewControllerI { if (!extendCurrent) { + changed = !cs.isEmpty(); cs.clear(); } } @@ -257,6 +259,7 @@ public class AlignViewController implements AlignViewControllerI { if (ibs < 0 || i < ibs) { + changed = true; if (toggle && cs.contains(i)) { cs.removeElement(i++); @@ -278,6 +281,7 @@ public class AlignViewController implements AlignViewControllerI for (int i = bs.nextSetBit(alStart); i >= alStart; i = bs .nextSetBit(i + 1)) { + changed = true; if (toggle && cs.contains(i)) { cs.removeElement(i); @@ -288,18 +292,21 @@ public class AlignViewController implements AlignViewControllerI } } } - viewport.setColumnSelection(cs); - alignPanel.paintAlignment(true); - avcg.setStatus(MessageManager.formatMessage( - "label.view_controller_toggled_marked", - new String[] { - (toggle ? MessageManager.getString("label.toggled") - : MessageManager.getString("label.marked")), - (invert ? (Integer.valueOf((alw - alStart) - - bs.cardinality()).toString()) : (Integer - .valueOf(bs.cardinality()).toString())), - featureType, Integer.valueOf(nseq).toString() })); - return true; + if (changed) + { + viewport.setColumnSelection(cs); + alignPanel.paintAlignment(true); + avcg.setStatus(MessageManager.formatMessage( + "label.view_controller_toggled_marked", + new String[] { + (toggle ? MessageManager.getString("label.toggled") + : MessageManager.getString("label.marked")), + (invert ? (Integer.valueOf((alw - alStart) + - bs.cardinality()).toString()) : (Integer + .valueOf(bs.cardinality()).toString())), + featureType, Integer.valueOf(nseq).toString() })); + return true; + } } else { @@ -311,8 +318,8 @@ public class AlignViewController implements AlignViewControllerI cs.clear(); alignPanel.paintAlignment(true); } - return false; } + return false; } @Override