Laserlicht 3 月之前
父节点
当前提交
48fb680795

+ 1 - 1
Mods/vcmi/Content/config/english.json

@@ -264,7 +264,7 @@
 	"vcmi.shortcuts.editButton.help" : "Edit key binding",
 	"vcmi.shortcuts.input" : "Change key binding for {%s}.\n\nPlease enter a key or key kombination.",
 	"vcmi.shortcuts.inputSet" : "Key binding for {%s} will be changed to {%s}.\n\nAppend to existing bindings? Otherwise it will be replaced.",
-	"vcmi.shortcuts.popup" : "For %s the following keys are configured:\n\n",
+	"vcmi.shortcuts.popup" : "For {%s} the following keys are configured:\n\n",
 	"vcmi.shortcuts.reset" : "Reset",
 	"vcmi.shortcuts.reset.help" : "{Reset}\n\nResets key bindings to default",
 	"vcmi.shortcuts.resetConfirm" : "Do you want to reset all key bindings to default?",

+ 1 - 1
Mods/vcmi/Content/config/german.json

@@ -264,7 +264,7 @@
 	"vcmi.shortcuts.editButton.help" : "Tastenbelegung bearbeiten",
 	"vcmi.shortcuts.input" : "Tastenbelegung für {%s} ändern.\n\nBitte eine Taste oder Tastenkombination eingeben.",
 	"vcmi.shortcuts.inputSet" : "Tastenbelegung für {%s} wird zu {%s}. geändert\n\nZu den existierenten hinzufügen? Ansonsten wird ersetzt.",
-	"vcmi.shortcuts.popup" : "Für %s sind die folgenden Tastenbelegung konfiguriert:\n\n",
+	"vcmi.shortcuts.popup" : "Für {%s} sind die folgenden Tastenbelegung konfiguriert:\n\n",
 	"vcmi.shortcuts.reset" : "Zurücks.",
 	"vcmi.shortcuts.reset.help" : "{Zurücksetzen}\n\nSetzt Tastenbelegungen auf Standardeinstellungen zurück",
 	"vcmi.shortcuts.resetConfirm" : "Alle Tastenkürzel auf Standardeinstellungen zurücksetzen?",

+ 1 - 1
client/gui/EventDispatcher.cpp

@@ -200,7 +200,7 @@ AEventsReceiver * EventDispatcher::findElementInToleranceRange(const EventReceiv
 
 void EventDispatcher::dispatchShowPopup(const Point & position, int tolerance)
 {
-	AEventsReceiver * nearestElement = findElementInToleranceRange(rclickable, position, AEventsReceiver::LCLICK, tolerance);
+	AEventsReceiver * nearestElement = findElementInToleranceRange(rclickable, position, AEventsReceiver::SHOW_POPUP, tolerance);
 
 	auto hlp = rclickable;
 

+ 6 - 2
client/windows/settings/ShortcutsWindow.cpp

@@ -139,8 +139,7 @@ void ShortcutsWindow::resetKeyBinding()
 }
 
 ShortcutElement::ShortcutElement(std::string id, JsonNode keys, int elem, std::function<void(const std::string & id, const std::string & keyName)> func)
-	: CIntObject(SHOW_POPUP)
-	, func(func)
+	: func(func)
 {
 	OBJECT_CONSTRUCTION;
 
@@ -148,6 +147,11 @@ ShortcutElement::ShortcutElement(std::string id, JsonNode keys, int elem, std::f
 	pos.y += 56;
 	pos.y += elem * LINE_HEIGHT;
 
+	pos.w = 455;
+	pos.h = LINE_HEIGHT;
+
+	addUsedEvents(SHOW_POPUP);
+
 	popupText = MetaString::createFromTextID("vcmi.shortcuts.popup");
 	popupText.replaceTextID("vcmi.shortcuts.shortcut." + id);
 

+ 1 - 1
lib/texts/TextLocalizationContainer.cpp

@@ -112,7 +112,7 @@ void TextLocalizationContainer::registerString(const std::string & identifierMod
 	assert(!identifierModContext.empty());
 	assert(!localizedStringModContext.empty());
 	assert(UID.get().find("..") == std::string::npos); // invalid identifier - there is section that was evaluated to empty string
-	//assert(stringsLocalizations.count(UID.get()) == 0 || boost::algorithm::starts_with(UID.get(), "map") || boost::algorithm::starts_with(UID.get(), "header")); // registering already registered string? FIXME: "header" is a workaround. VMAP needs proper integration in translation system
+	assert(stringsLocalizations.count(UID.get()) == 0 || boost::algorithm::starts_with(UID.get(), "map") || boost::algorithm::starts_with(UID.get(), "header")); // registering already registered string? FIXME: "header" is a workaround. VMAP needs proper integration in translation system
 
 	if(stringsLocalizations.count(UID.get()) > 0)
 	{