summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--src/gui/buy.cpp2
-rw-r--r--src/gui/sell.cpp39
3 files changed, 37 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index dcf6030b..ba5d6ce9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,11 @@
-2007-05-08 Philipp Sehmisch <tmw@crushnet.org>
+2007-05-20 Philipp Sehmisch <tmw@crushnet.org>
+
+ * src/gui/buy.cpp, src/gui/sell.cpp: Unified some differences between buy
+ and sell dialog. Money label now shows money after transaction instead of
+ current money.
+ * src/gui/sell.cpp: Fixed the amount-not-reset-when-using-scrollwheel bug.
+
+2007-05-08 Philipp Sehmisch <tmw@crushnet.org>
* data/graphics/sprites/monster-bat.png,
data/graphics/sprites/monster-bat.xml,
diff --git a/src/gui/buy.cpp b/src/gui/buy.cpp
index a8a1ea7e..8b9e8d8e 100644
--- a/src/gui/buy.cpp
+++ b/src/gui/buy.cpp
@@ -230,7 +230,7 @@ void BuyDialog::action(const gcn::ActionEvent &event)
int price = mAmountItems * mShopItems->at(selectedItem).price;
mMoneyLabel->setCaption("Price: " + toString(price) + " GP / "
- + toString(mMoney) + " GP" );
+ + toString(mMoney - price) + " GP" );
mMoneyLabel->adjustSize();
}
}
diff --git a/src/gui/sell.cpp b/src/gui/sell.cpp
index c9ac84c3..5de2a9e6 100644
--- a/src/gui/sell.cpp
+++ b/src/gui/sell.cpp
@@ -202,7 +202,6 @@ void SellDialog::action(const gcn::ActionEvent &event)
if (event.getId() == "mSlider")
{
mAmountItems = (int)(mSlider->getValue() * mMaxItems);
-
updateButtonsAndLabels = true;
}
else if (event.getId() == "+")
@@ -255,39 +254,57 @@ void SellDialog::action(const gcn::ActionEvent &event)
// If anything changed, we need to update the buttons and labels
if (updateButtonsAndLabels)
{
+ // Update Buttons
+ mSellButton->setEnabled(mAmountItems > 0);
+ mDecreaseButton->setEnabled(mAmountItems > 0);
+ mIncreaseButton->setEnabled(mAmountItems < mMaxItems);
+
// Update labels
mQuantityLabel->setCaption(toString(mAmountItems) + " / " + toString(mMaxItems));
mQuantityLabel->adjustSize();
- int price = mAmountItems * mShopItems->at(selectedItem).price;
- mMoneyLabel->setCaption("Money: " + toString(price) + " GP / Total: "
- + toString(price + mPlayerMoney) + " GP");
+ int sellSum = mAmountItems * mShopItems->at(selectedItem).price;
+ mMoneyLabel->setCaption("Money: " + toString(sellSum) + " GP / Total: "
+ + toString(mPlayerMoney + sellSum) + " GP");
mMoneyLabel->adjustSize();
-
- // Update Buttons
- mSellButton->setEnabled(mAmountItems > 0);
- mDecreaseButton->setEnabled(mAmountItems > 0);
- mIncreaseButton->setEnabled(mAmountItems < mMaxItems);
}
}
void SellDialog::selectionChanged(const SelectionEvent &event)
{
+ // Reset amount of items and update labels
+ mAmountItems = 0;
+ mSlider->setValue(0);
+ mSlider->setEnabled(true);
+ mMoneyLabel->setCaption("Money: 0 GP / Total: "
+ + toString(mPlayerMoney) + " GP");
+ mMoneyLabel->adjustSize();
+
+ // Disable buttons for selling and decreasing, enable button for increasing
+ mIncreaseButton->setEnabled(true);
+ mSellButton->setEnabled(false);
+ mDecreaseButton->setEnabled(false);
+
int selectedItem = mShopItemList->getSelected();
if (selectedItem > -1)
{
- const ItemInfo &info =
- ItemDB::get(mShopItems->at(selectedItem).id);
+ mMaxItems = mShopItems->at(selectedItem).quantity;
+
+ const ItemInfo &info = ItemDB::get(mShopItems->at(selectedItem).id);
mItemDescLabel->setCaption("Description: " + info.getDescription());
mItemEffectLabel->setCaption("Effect: " + info.getEffect());
}
else
{
+ mMaxItems = 0;
mItemDescLabel->setCaption("Description");
mItemEffectLabel->setCaption("Effect");
}
+
+ mQuantityLabel->setCaption("0 / " + toString(mMaxItems));
+ mQuantityLabel->adjustSize();
}
void SellDialog::setMoney(int amount)