diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-09-21 18:43:26 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-09-21 18:43:26 +0300 |
commit | d8a7eaa14ef0fad24e19f6363db708a397f7f98b (patch) | |
tree | fdf3f32c4c300be74c3371bd47a60d84fdd70ff8 /src/gui/windows | |
parent | 529d5ac21229ba7678bba9832f69448898b159b9 (diff) | |
download | manaplus-d8a7eaa14ef0fad24e19f6363db708a397f7f98b.tar.gz manaplus-d8a7eaa14ef0fad24e19f6363db708a397f7f98b.tar.bz2 manaplus-d8a7eaa14ef0fad24e19f6363db708a397f7f98b.tar.xz manaplus-d8a7eaa14ef0fad24e19f6363db708a397f7f98b.zip |
Allow copy items from outfit into chat.
Diffstat (limited to 'src/gui/windows')
-rw-r--r-- | src/gui/windows/outfitwindow.cpp | 24 | ||||
-rw-r--r-- | src/gui/windows/outfitwindow.h | 2 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/gui/windows/outfitwindow.cpp b/src/gui/windows/outfitwindow.cpp index 290cf924c..2a6ba3d6e 100644 --- a/src/gui/windows/outfitwindow.cpp +++ b/src/gui/windows/outfitwindow.cpp @@ -722,3 +722,27 @@ void OutfitWindow::clearCurrentOutfit() } save(); } + +std::string OutfitWindow::getOutfitString() const +{ + std::string str; + for (unsigned int i = 0; i < OUTFIT_ITEM_COUNT; i++) + { + const int id = mItems[mCurrentOutfit][i]; + if (id < 0) + continue; + + const ItemColor color = mItemColors[mCurrentOutfit][i]; + std::vector<int> ids; + ids.push_back(id); + ids.push_back(CAST_S32(color)); + + const std::string name = ItemDB::getNamesStr(ids); + if (name.empty()) + continue; + str.append("["); + str.append(name); + str.append("] "); + } + return str; +} diff --git a/src/gui/windows/outfitwindow.h b/src/gui/windows/outfitwindow.h index a6d31d3be..227a16737 100644 --- a/src/gui/windows/outfitwindow.h +++ b/src/gui/windows/outfitwindow.h @@ -97,6 +97,8 @@ class OutfitWindow final : public Window, void clearCurrentOutfit(); + std::string getOutfitString() const; + private: int getIndexFromGrid(const int pointX, const int pointY) const A_WARN_UNUSED; |