summaryrefslogtreecommitdiff
path: root/src/gui/widgets
diff options
context:
space:
mode:
authorBlue <bluesansdouze@gmail.com>2009-05-21 15:14:52 +0200
committerBlue <bluesansdouze@gmail.com>2009-05-21 15:14:52 +0200
commita9df0306b4949f10287657a229e1f8d33cfae5e9 (patch)
treeb3dff4b9f36e12d1492d534943796017a955bc3e /src/gui/widgets
parent7b76f0e8c4c489254d7519e2916b951601423801 (diff)
parentb85793ec89e57ae20140957f833a06b874eb3120 (diff)
downloadmana-a9df0306b4949f10287657a229e1f8d33cfae5e9.tar.gz
mana-a9df0306b4949f10287657a229e1f8d33cfae5e9.tar.bz2
mana-a9df0306b4949f10287657a229e1f8d33cfae5e9.tar.xz
mana-a9df0306b4949f10287657a229e1f8d33cfae5e9.zip
Merge branch 'master' of git@gitorious.org:tmw/mainline
Diffstat (limited to 'src/gui/widgets')
-rw-r--r--src/gui/widgets/avatar.cpp6
-rw-r--r--src/gui/widgets/avatar.h3
-rw-r--r--src/gui/widgets/chattab.cpp20
-rw-r--r--src/gui/widgets/progressbar.cpp14
4 files changed, 24 insertions, 19 deletions
diff --git a/src/gui/widgets/avatar.cpp b/src/gui/widgets/avatar.cpp
index 16c77233..f7273c75 100644
--- a/src/gui/widgets/avatar.cpp
+++ b/src/gui/widgets/avatar.cpp
@@ -23,6 +23,7 @@
#include "localplayer.h"
+#include "gui/gui.h"
#include "gui/widgets/icon.h"
#include "gui/widgets/label.h"
@@ -39,7 +40,8 @@ namespace {
Avatar::Avatar():
mHp(0),
- mMaxHp(0)
+ mMaxHp(0),
+ mDisplayBold(false)
{
setOpaque(false);
@@ -111,6 +113,8 @@ void Avatar::updateAvatarLabel()
if (mName != player_node->getName() && mMaxHp != 0)
ss << " (" << mHp << "/" << mMaxHp << ")";
+ if (mDisplayBold)
+ mLabel->setFont(boldFont);
mLabel->setCaption(ss.str());
mLabel->adjustSize();
}
diff --git a/src/gui/widgets/avatar.h b/src/gui/widgets/avatar.h
index 32586668..dbe30a94 100644
--- a/src/gui/widgets/avatar.h
+++ b/src/gui/widgets/avatar.h
@@ -51,6 +51,8 @@ public:
void setMaxHp(int maxHp);
+ void setDisplayBold(bool displayBold) { mDisplayBold = displayBold; }
+
private:
void updateAvatarLabel();
@@ -59,6 +61,7 @@ private:
int mMaxHp;
Icon *mStatus;
gcn::Label *mLabel;
+ bool mDisplayBold;
};
#endif // AVATAR_H
diff --git a/src/gui/widgets/chattab.cpp b/src/gui/widgets/chattab.cpp
index 711680d1..85353bf7 100644
--- a/src/gui/widgets/chattab.cpp
+++ b/src/gui/widgets/chattab.cpp
@@ -227,15 +227,19 @@ void ChatTab::chatInput(std::string &msg)
std::string temp = msg.substr(start + 1, end - start - 1);
- toLower(trim(temp));
-
- const ItemInfo itemInfo = ItemDB::get(temp);
- if (itemInfo.getName() != _("Unknown item"))
+ // Do not parse an empty string (it crashes the client)
+ if (!temp.empty())
{
- msg.insert(end, "@@");
- msg.insert(start+1, "|");
- msg.insert(start+1, toString(itemInfo.getId()));
- msg.insert(start+1, "@@");
+ toLower(trim(temp));
+
+ const ItemInfo itemInfo = ItemDB::get(temp);
+ if (itemInfo.getName() != _("Unknown item"))
+ {
+ msg.insert(end, "@@");
+ msg.insert(start+1, "|");
+ msg.insert(start+1, toString(itemInfo.getId()));
+ msg.insert(start+1, "@@");
+ }
}
}
start = msg.find('[', start + 1);
diff --git a/src/gui/widgets/progressbar.cpp b/src/gui/widgets/progressbar.cpp
index 58f24651..c673ffb3 100644
--- a/src/gui/widgets/progressbar.cpp
+++ b/src/gui/widgets/progressbar.cpp
@@ -31,6 +31,8 @@
#include "resources/image.h"
#include "resources/resourcemanager.h"
+#include "utils/dtor.h"
+
#include <guichan/font.hpp>
ImageRect ProgressBar::mBorder;
@@ -59,7 +61,7 @@ ProgressBar::ProgressBar(float progress,
mBorder.grid[1] = dBorders->getSubImage(4, 0, 3, 4);
mBorder.grid[2] = dBorders->getSubImage(7, 0, 4, 4);
mBorder.grid[3] = dBorders->getSubImage(0, 4, 4, 10);
- mBorder.grid[4] = resman->getImage("graphics/gui/bg_quad_dis.png");
+ mBorder.grid[4] = dBorders->getSubImage(4, 4, 3, 10);
mBorder.grid[5] = dBorders->getSubImage(7, 4, 4, 10);
mBorder.grid[6] = dBorders->getSubImage(0, 15, 4, 4);
mBorder.grid[7] = dBorders->getSubImage(4, 15, 3, 4);
@@ -82,15 +84,7 @@ ProgressBar::~ProgressBar()
if (mInstances == 0)
{
- delete mBorder.grid[0];
- delete mBorder.grid[1];
- delete mBorder.grid[2];
- delete mBorder.grid[3];
- mBorder.grid[4]->decRef();
- delete mBorder.grid[5];
- delete mBorder.grid[6];
- delete mBorder.grid[7];
- delete mBorder.grid[8];
+ for_each(mBorder.grid, mBorder.grid + 9, dtor<Image*>());
}
}