Преглед на файлове

Show option description on hovering

Ivan Savenko преди 2 години
родител
ревизия
f3508bdfda
променени са 3 файла, в които са добавени 14 реда и са изтрити 6 реда
  1. 5 5
      client/widgets/CGarrisonInt.cpp
  2. 0 1
      client/widgets/CGarrisonInt.h
  3. 9 0
      client/widgets/RadialMenu.cpp

+ 5 - 5
client/widgets/CGarrisonInt.cpp

@@ -351,11 +351,11 @@ void CGarrisonSlot::gesture(bool on, const Point & initialPosition, const Point
 		return;
 
 	std::vector<RadialMenuConfig> menuElements = {
-		{ RadialMenuConfig::ITEM_NW, "stackMerge", "", [this](){owner->bulkMergeStacks(this);} },
-		{ RadialMenuConfig::ITEM_NE, "stackInfo", "", [this](){viewInfo();} },
-		{ RadialMenuConfig::ITEM_WW, "stackSplitOne", "", [this](){splitIntoParts(this->getGarrison(), 1); } },
-		{ RadialMenuConfig::ITEM_EE, "stackSplitEqual", "", [this](){owner->bulkSmartSplitStack(this);} },
-		{ RadialMenuConfig::ITEM_SW, "heroMove", "", [this](){owner->moveStackToAnotherArmy(this);} },
+		{ RadialMenuConfig::ITEM_NW, "stackMerge", "Merge same units", [this](){owner->bulkMergeStacks(this);} },
+		{ RadialMenuConfig::ITEM_NE, "stackInfo", "Show unit information", [this](){viewInfo();} },
+		{ RadialMenuConfig::ITEM_WW, "stackSplitOne", "Split off single unit", [this](){splitIntoParts(this->getGarrison(), 1); } },
+		{ RadialMenuConfig::ITEM_EE, "stackSplitEqual", "Split unit equally", [this](){owner->bulkSmartSplitStack(this);} },
+		{ RadialMenuConfig::ITEM_SW, "heroMove", "Move unit to another army", [this](){owner->moveStackToAnotherArmy(this);} },
 	};
 
 	GH.windows().createAndPushWindow<RadialMenu>(pos.center(), menuElements);

+ 0 - 1
client/widgets/CGarrisonInt.h

@@ -106,7 +106,6 @@ public:
 
 	bool smallIcons;      ///< true - 32x32 imgs, false - 58x64
 	bool removableUnits;  ///< player Can remove units from up
-	bool twoRows;         ///< slots Will be placed in 2 rows
 
 	ESlotsLayout layout;
 

+ 9 - 0
client/widgets/RadialMenu.cpp

@@ -69,7 +69,16 @@ void RadialMenu::addItem(const Point & offset, const std::string & path, const s
 
 void RadialMenu::gesturePanning(const Point & initialPosition, const Point & currentPosition, const Point & lastUpdateDistance)
 {
+	GH.statusbar()->clear();
 
+	for(const auto & item : items)
+	{
+		if (item->isInside(currentPosition))
+		{
+			GH.statusbar()->write(item->hoverText);
+			break;
+		}
+	}
 }
 
 void RadialMenu::gesture(bool on, const Point & initialPosition, const Point & finalPosition)