summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/graphics/gui/CMakeLists.txt1
-rw-r--r--data/graphics/gui/Makefile.am1
-rw-r--r--data/graphics/gui/lock.pngbin0 -> 391 bytes
-rw-r--r--src/gui/widgets/itemcontainer.cpp12
-rw-r--r--src/gui/widgets/itemcontainer.h1
5 files changed, 15 insertions, 0 deletions
diff --git a/data/graphics/gui/CMakeLists.txt b/data/graphics/gui/CMakeLists.txt
index 439542f66..afb414b4c 100644
--- a/data/graphics/gui/CMakeLists.txt
+++ b/data/graphics/gui/CMakeLists.txt
@@ -36,6 +36,7 @@ SET (FILES
keyboard_icon.xml
label.xml
listbox.xml
+ lock.png
ministatus.xml
mouse.png
npc.xml
diff --git a/data/graphics/gui/Makefile.am b/data/graphics/gui/Makefile.am
index 710cf0688..c3c8f5990 100644
--- a/data/graphics/gui/Makefile.am
+++ b/data/graphics/gui/Makefile.am
@@ -39,6 +39,7 @@ gui_DATA = \
keyboard_icon.xml \
label.xml \
listbox.xml \
+ lock.png \
ministatus.xml \
mouse.png \
npc.xml \
diff --git a/data/graphics/gui/lock.png b/data/graphics/gui/lock.png
new file mode 100644
index 000000000..457195c7a
--- /dev/null
+++ b/data/graphics/gui/lock.png
Binary files differ
diff --git a/src/gui/widgets/itemcontainer.cpp b/src/gui/widgets/itemcontainer.cpp
index 99aedabcd..5ed03c516 100644
--- a/src/gui/widgets/itemcontainer.cpp
+++ b/src/gui/widgets/itemcontainer.cpp
@@ -166,6 +166,7 @@ ItemContainer::ItemContainer(const Widget2 *const widget,
gcn::WidgetListener(),
mInventory(inventory),
mSelImg(Theme::getImageFromThemeXml("item_selection.xml", "")),
+ mProtectedImg(Theme::getImageFromTheme("lock.png")),
mName(),
mItemPopup(new ItemPopup),
mShowMatrix(nullptr),
@@ -211,6 +212,12 @@ ItemContainer::~ItemContainer()
mSelImg->decRef();
mSelImg = nullptr;
}
+ if (mProtectedImg)
+ {
+ mProtectedImg->decRef();
+ mProtectedImg = nullptr;
+ }
+
if (Theme::instance())
Theme::instance()->unload(mSkin);
@@ -278,6 +285,11 @@ void ItemContainer::draw(gcn::Graphics *graphics)
image->setAlpha(1.0f); // ensure the image if fully drawn...
g->drawImage(image, itemX + mPaddingItemX,
itemY + mPaddingItemY);
+ if (mProtectedImg && PlayerInfo::isItemProtected(item->getId()))
+ {
+ g->drawImage(mProtectedImg, itemX + mPaddingItemX,
+ itemY + mPaddingItemY);
+ }
}
}
}
diff --git a/src/gui/widgets/itemcontainer.h b/src/gui/widgets/itemcontainer.h
index da9167a7e..d17261c1c 100644
--- a/src/gui/widgets/itemcontainer.h
+++ b/src/gui/widgets/itemcontainer.h
@@ -194,6 +194,7 @@ class ItemContainer final : public gcn::Widget,
Inventory *mInventory;
Image *mSelImg;
+ Image *mProtectedImg;
std::string mName;
ItemPopup *mItemPopup;