# HG changeset patch # User Vladimir Vukicevic # Date 1199000967 28800 # Node ID 790171f9beffa67ead1fab246771904c4359e825 # Parent 4feb7cad6a94580bba7ca0d339461c3004f1763f Handle different order types correctly diff -r 4feb7cad6a94580bba7ca0d339461c3004f1763f -r 790171f9beffa67ead1fab246771904c4359e825 src/org/mrrupert/eveberry/EveBerryMarketOrdersScreen.java --- a/src/org/mrrupert/eveberry/EveBerryMarketOrdersScreen.java Sat Dec 29 23:48:06 2007 -0800 +++ b/src/org/mrrupert/eveberry/EveBerryMarketOrdersScreen.java Sat Dec 29 23:49:27 2007 -0800 @@ -155,7 +155,7 @@ mBuyOrders.add(order); else mSellOrders.add(order); - if (order.volRemaining == 0) + if (order.orderState != EveMarketOrder.OPEN) mCompletedOrders++; } @@ -182,7 +182,8 @@ for (int i = 0; i < mBuyOrders.size(); i++) { EveMarketOrder emo = (EveMarketOrder) mBuyOrders.getAt(i); - if (!EveBerry.sApp.mSettings.ShowCompletedMarketOrders && emo.volRemaining == 0) + if (!EveBerry.sApp.mSettings.ShowCompletedMarketOrders && + emo.orderState != EveMarketOrder.OPEN) continue; mBuyOrderList.addOrder(emo); @@ -191,7 +192,8 @@ for (int i = 0; i < mSellOrders.size(); i++) { EveMarketOrder emo = (EveMarketOrder) mSellOrders.getAt(i); - if (!EveBerry.sApp.mSettings.ShowCompletedMarketOrders && emo.volRemaining == 0) + if (!EveBerry.sApp.mSettings.ShowCompletedMarketOrders && + emo.orderState != EveMarketOrder.OPEN) continue; mSellOrderList.addOrder(emo); diff -r 4feb7cad6a94580bba7ca0d339461c3004f1763f -r 790171f9beffa67ead1fab246771904c4359e825 src/org/mrrupert/eveberry/EveMarketOrder.java --- a/src/org/mrrupert/eveberry/EveMarketOrder.java Sat Dec 29 23:48:06 2007 -0800 +++ b/src/org/mrrupert/eveberry/EveMarketOrder.java Sat Dec 29 23:49:27 2007 -0800 @@ -36,6 +36,14 @@ class EveMarketOrder implements Persistable { + // order state + public static final int OPEN = 0; + public static final int CLOSED = 1; + public static final int EXPIRED = 2; + public static final int CANCELLED = 3; + public static final int PENDING = 4; + public static final int CHAR_DELETED = 5; + public long orderID; public long charID; public int stationID; diff -r 4feb7cad6a94580bba7ca0d339461c3004f1763f -r 790171f9beffa67ead1fab246771904c4359e825 src/org/mrrupert/eveberry/EveMarketOrderListField.java --- a/src/org/mrrupert/eveberry/EveMarketOrderListField.java Sat Dec 29 23:48:06 2007 -0800 +++ b/src/org/mrrupert/eveberry/EveMarketOrderListField.java Sat Dec 29 23:49:27 2007 -0800 @@ -103,7 +103,7 @@ int h = getHeight(); StringBuffer sb; String s; - int x; + int x, sw; // colored % bar to the side int barHeight = h - 2; @@ -137,8 +137,25 @@ itemName = "Looking up item name..."; } - g.setFont(mFont.derive(Font.BOLD)); - g.drawText(itemName, 0, 0, DrawStyle.ELLIPSIS, w-2); + if (MarketOrder.orderState == EveMarketOrder.OPEN || + MarketOrder.orderState == EveMarketOrder.CLOSED || + MarketOrder.orderState == EveMarketOrder.EXPIRED) + { + // I don't actually know what "CLOSED" means, but let's assume + // it's an "ok" result + g.setFont(mFont.derive(Font.BOLD)); + g.drawText(itemName, 0, 0, DrawStyle.ELLIPSIS, w-2); + } else if (MarketOrder.orderState == EveMarketOrder.PENDING) { + g.setFont(mFont.derive(Font.ITALIC)); + g.drawText(itemName, 0, 0, DrawStyle.ELLIPSIS, w-2); + } else { + g.setFont(mFont.derive(Font.BOLD)); + sw = g.drawText(itemName, 0, 0, DrawStyle.ELLIPSIS, w-2); + g.setColor(Color.RED); + g.drawLine(0, mFont.getHeight() / 2, sw, mFont.getHeight() / 2); + g.setColor(Color.BLACK); + } + g.setFont(mFont); // station name, if enabled @@ -175,12 +192,12 @@ // now let's get the date issued off to the side s = EveUtils.FormatTimestampShort(MarketOrder.dateIssued); - int stringWidth = mFont.getAdvance(s); - if (w - 2 - x < stringWidth) { + sw = mFont.getAdvance(s); + if (w - 2 - x < sw) { // not enough room; oh well. x += 5; } else { - x = w - 2 - stringWidth; + x = w - 2 - sw; } g.drawText(s, x, 0);