From: Stian G. <sti...@us...> - 2005-07-02 20:06:02
|
Update of /cvsroot/freecol/freecol/src/net/sf/freecol/client/gui/panel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4246/src/net/sf/freecol/client/gui/panel Modified Files: DefaultTransferHandler.java DragListener.java GoodsLabel.java MarketLabel.java Log Message: Fixes the bug reported by: [1227534] Moving cargo from one vehicle to another ignores limits. Index: MarketLabel.java =================================================================== RCS file: /cvsroot/freecol/freecol/src/net/sf/freecol/client/gui/panel/MarketLabel.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** MarketLabel.java 27 May 2005 15:20:29 -0000 1.7 --- MarketLabel.java 2 Jul 2005 20:05:54 -0000 1.8 *************** *** 31,34 **** --- 31,35 ---- private final Market market; private final Canvas parent; + private boolean partialChosen; /** *************** *** 49,55 **** this.market = market; this.parent = parent; } ! /** * Initializes this JLabel with the given goods type. --- 50,58 ---- this.market = market; this.parent = parent; + partialChosen = false; + amount = 100; } ! /** * Initializes this JLabel with the given goods type. *************** *** 60,64 **** this(type, market, parent); setSmall(true); ! amount = 100; } --- 63,76 ---- this(type, market, parent); setSmall(true); ! } ! ! ! public boolean isPartialChosen() { ! return partialChosen; ! } ! ! ! public void setPartialChosen(boolean partialChosen) { ! this.partialChosen = partialChosen; } Index: GoodsLabel.java =================================================================== RCS file: /cvsroot/freecol/freecol/src/net/sf/freecol/client/gui/panel/GoodsLabel.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** GoodsLabel.java 27 May 2005 15:20:29 -0000 1.7 --- GoodsLabel.java 2 Jul 2005 20:05:54 -0000 1.8 *************** *** 32,35 **** --- 32,36 ---- private final Canvas parent; private boolean selected; + private boolean partialChosen; /** *************** *** 44,47 **** --- 45,49 ---- this.parent = parent; selected = false; + partialChosen = false; } *************** *** 58,61 **** --- 60,73 ---- + public boolean isPartialChosen() { + return partialChosen; + } + + + public void setPartialChosen(boolean partialChosen) { + this.partialChosen = partialChosen; + } + + /** * Returns this GoodsLabel's goods data. Index: DefaultTransferHandler.java =================================================================== RCS file: /cvsroot/freecol/freecol/src/net/sf/freecol/client/gui/panel/DefaultTransferHandler.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** DefaultTransferHandler.java 5 Jun 2005 12:53:00 -0000 1.18 --- DefaultTransferHandler.java 2 Jul 2005 20:05:53 -0000 1.19 *************** *** 200,204 **** } ! if (!unit.isNaval() && (comp instanceof EuropePanel.InPortPanel || comp instanceof ColonyPanel.InPortPanel || comp instanceof EuropePanel.ToEuropePanel --- 200,204 ---- } ! if (!unit.isNaval() && (comp instanceof EuropePanel.InPortPanel || comp instanceof ColonyPanel.InPortPanel || comp instanceof EuropePanel.ToEuropePanel *************** *** 210,214 **** return false; } ! if (unit.isNaval() && (comp instanceof EuropePanel.CargoPanel || comp instanceof EuropePanel.DocksPanel --- 210,214 ---- return false; } ! if (unit.isNaval() && (comp instanceof EuropePanel.CargoPanel || comp instanceof EuropePanel.DocksPanel *************** *** 269,273 **** // Import the data. ! if (((GoodsLabel) data).getGoods().getAmount() == -1) { int amount = getAmount(); if (amount == -1) { --- 269,273 ---- // Import the data. ! if (((GoodsLabel) data).isPartialChosen()) { int amount = getAmount(); if (amount == -1) { *************** *** 325,329 **** // Import the data. ! if (((MarketLabel) data).getAmount() == -1) { int amount = getAmount(); if (amount == -1) { --- 325,329 ---- // Import the data. ! if (((MarketLabel) data).isPartialChosen()) { int amount = getAmount(); if (amount == -1) { *************** *** 505,508 **** --- 505,509 ---- DragSourceContext dsc = dsde.getDragSourceContext(); JComponent c = (JComponent)dsc.getComponent(); + if (dsde.getDropSuccess()) { ((DefaultTransferHandler) c.getTransferHandler()).exportDone(c, dsc.getTransferable(), dsde.getDropAction()); *************** *** 517,533 **** DragSourceContext dsc = dsde.getDragSourceContext(); JComponent comp = (JComponent)dsc.getComponent(); ! ! if (dsde.getUserAction() == MOVE) { ! if (comp instanceof GoodsLabel) { ! ((GoodsLabel) comp).getGoods().setAmount(-1); ! } else if (comp instanceof MarketLabel) { ! ((MarketLabel) comp).setAmount(-1); ! } ! } else { ! if (comp instanceof GoodsLabel) { ! ((GoodsLabel) comp).getGoods().setAmount(100); ! } else if (comp instanceof MarketLabel) { ! ((MarketLabel) comp).setAmount(100); ! } } } --- 518,530 ---- DragSourceContext dsc = dsde.getDragSourceContext(); JComponent comp = (JComponent)dsc.getComponent(); ! updatePartialChosen(comp, dsde.getUserAction() == MOVE); ! } ! ! ! private void updatePartialChosen(JComponent comp, boolean partialChosen) { ! if (comp instanceof GoodsLabel) { ! ((GoodsLabel) comp).setPartialChosen(partialChosen); ! } else if (comp instanceof MarketLabel) { ! ((MarketLabel) comp).setPartialChosen(partialChosen); } } Index: DragListener.java =================================================================== RCS file: /cvsroot/freecol/freecol/src/net/sf/freecol/client/gui/panel/DragListener.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** DragListener.java 27 May 2005 15:20:29 -0000 1.16 --- DragListener.java 2 Jul 2005 20:05:54 -0000 1.17 *************** *** 198,212 **** if (e.isShiftDown()) { if (comp instanceof GoodsLabel) { ! ((GoodsLabel) comp).getGoods().setAmount(-1); } else if (comp instanceof MarketLabel) { ! ((MarketLabel) comp).setAmount(-1); } } else { ! // We can have less than 100 of the goods so we must not do setAmount(100). ! //if (comp instanceof GoodsLabel) { ! //((GoodsLabel) comp).getGoods().setAmount(100); ! //} else ! ! if (comp instanceof MarketLabel) { ((MarketLabel) comp).setAmount(100); } --- 198,210 ---- if (e.isShiftDown()) { if (comp instanceof GoodsLabel) { ! ((GoodsLabel) comp).setPartialChosen(true); } else if (comp instanceof MarketLabel) { ! ((MarketLabel) comp).setPartialChosen(true); } } else { ! if (comp instanceof GoodsLabel) { ! ((GoodsLabel) comp).setPartialChosen(false); ! } else if (comp instanceof MarketLabel) { ! ((MarketLabel) comp).setPartialChosen(false); ((MarketLabel) comp).setAmount(100); } |