Browse Source

backpack window statusbar

SoundSSGood 1 year ago
parent
commit
a753319ad0

+ 3 - 0
client/widgets/CWindowWithArtifacts.cpp

@@ -279,6 +279,9 @@ void CWindowWithArtifacts::gestureArtPlaceHero(CArtifactsOfHeroBase & artsInst,
 				std::is_same_v<decltype(artSetWeak), std::weak_ptr<CArtifactsOfHeroMain>> ||
 				std::is_same_v<decltype(artSetWeak), std::weak_ptr<CArtifactsOfHeroKingdom>>)
 			{
+				if(!settings["general"]["enableUiEnhancements"].Bool())
+					return;
+
 				GH.windows().createAndPushWindow<CHeroQuickBackpackWindow>(artSetPtr->getHero(), artPlace.slot);
 				auto backpackWindow = GH.windows().topWindow<CHeroQuickBackpackWindow>();
 				backpackWindow->moveTo(cursorPosition - Point(1, 1));

+ 7 - 2
client/windows/CHeroBackpackWindow.cpp

@@ -15,12 +15,13 @@
 
 #include "../widgets/Buttons.h"
 #include "../widgets/Images.h"
+#include "../widgets/TextControls.h"
 #include "CMessage.h"
 #include "render/Canvas.h"
 #include "CPlayerInterface.h"
 
 CHeroBackpackWindow::CHeroBackpackWindow(const CGHeroInstance * hero)
-	: CWindowObject((EOptions)0)
+	: CStatusbarWindow((EOptions)0)
 {
 	OBJECT_CONSTRUCTION_CAPTURING(255 - DISPOSE);
 
@@ -30,10 +31,14 @@ CHeroBackpackWindow::CHeroBackpackWindow(const CGHeroInstance * hero)
 	addSetAndCallbacks(arts);
 	arts->setHero(hero);
 	addCloseCallback(std::bind(&CHeroBackpackWindow::close, this));
-	quitButton = std::make_shared<CButton>(Point(), AnimationPath::builtin("IOKAY32.def"), CButton::tooltip(""), [this]() { close(); }, EShortcut::GLOBAL_RETURN);
+	quitButton = std::make_shared<CButton>(Point(), AnimationPath::builtin("IOKAY32.def"), CButton::tooltip(""),
+		[this]() { WindowBase::close(); }, EShortcut::GLOBAL_RETURN);
 	pos.w = stretchedBackground->pos.w = arts->pos.w + 2 * windowMargin;
 	pos.h = stretchedBackground->pos.h = arts->pos.h + quitButton->pos.h + 3 * windowMargin;
 	quitButton->moveTo(Point(pos.x + pos.w / 2 - quitButton->pos.w / 2, pos.y + arts->pos.h + 2 * windowMargin));
+	statusbar = CGStatusBar::create(0, pos.h, ImagePath::builtin("ADROLLVR.bmp"), pos.w);
+	pos.h += statusbar->pos.h;
+
 	center();
 }
 

+ 1 - 1
client/windows/CHeroBackpackWindow.h

@@ -14,7 +14,7 @@
 
 class CFilledTexture;
 
-class CHeroBackpackWindow : public CWindowObject, public CWindowWithArtifacts
+class CHeroBackpackWindow : public CStatusbarWindow, public CWindowWithArtifacts
 {
 public:
 	CHeroBackpackWindow(const CGHeroInstance * hero);