Browse Source

Integrate new settings with battle UI

Dydzio 2 years ago
parent
commit
34227a0dab

+ 2 - 1
client/battle/BattleWindow.cpp

@@ -36,6 +36,7 @@
 #include "../../lib/CConfigHandler.h"
 #include "../../lib/filesystem/ResourceID.h"
 #include "windows/BattleOptionsWindow.h"
+#include "windows/SettingsMainContainer.h"
 
 BattleWindow::BattleWindow(BattleInterface & owner):
 	owner(owner)
@@ -235,7 +236,7 @@ void BattleWindow::bOptionsf()
 
 	CCS->curh->set(Cursor::Map::POINTER);
 
-	GH.pushIntT<BattleOptionsWindow>(&owner);
+	GH.pushIntT<SettingsMainContainer>(&owner);
 }
 
 void BattleWindow::bSurrenderf()

+ 3 - 2
client/windows/SettingsMainContainer.cpp

@@ -27,7 +27,7 @@
 #include "../CServerHandler.h"
 
 
-SettingsMainContainer::SettingsMainContainer() : InterfaceObjectConfigurable()
+SettingsMainContainer::SettingsMainContainer(BattleInterface * parentBattleUi) : InterfaceObjectConfigurable()
 {
 	OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
 
@@ -69,6 +69,7 @@ SettingsMainContainer::SettingsMainContainer() : InterfaceObjectConfigurable()
 	if(settings["general"]["lastSettingsTab"].isNumber())
 		defaultTabIndex = settings["general"]["lastSettingsTab"].Integer();
 
+	parentBattleInterface = parentBattleUi;
 	tabContentArea = std::make_shared<CTabbedInt>(std::bind(&SettingsMainContainer::createTab, this, _1), Point(0, 50), defaultTabIndex);
 }
 
@@ -79,7 +80,7 @@ std::shared_ptr<CIntObject> SettingsMainContainer::createTab(size_t index)
 		case 0:
 			return std::make_shared<SystemOptionsWindow>();
 		case 1:
-			return std::make_shared<BattleOptionsWindow>(nullptr);
+			return std::make_shared<BattleOptionsWindow>(parentBattleInterface);
 		case 2:
 			return std::make_shared<VcmiSettingsWindow>();
 		default:

+ 3 - 1
client/windows/SettingsMainContainer.h

@@ -14,10 +14,12 @@
 #include "../widgets/Buttons.h"
 #include "gui/InterfaceObjectConfigurable.h"
 #include "gui/CGuiHandler.h"
+#include "battle/BattleInterface.h"
 
 class SettingsMainContainer : public InterfaceObjectConfigurable
 {
 private:
+	BattleInterface * parentBattleInterface;
 	std::shared_ptr<CTabbedInt> tabContentArea;
 
 	std::shared_ptr<CIntObject> createTab(size_t index);
@@ -33,6 +35,6 @@ private:
 	void restartGameButtonCallback();
 	void mainMenuButtonCallback();
 public:
-	SettingsMainContainer();
+	SettingsMainContainer(BattleInterface * parentBattleInterface = nullptr);
 };