From f42c57d9a885450014cadd56a0eaf7c79eefebf4 Mon Sep 17 00:00:00 2001 From: Kahrl Date: Sun, 27 Nov 2011 05:01:38 +0200 Subject: Add IDropAction and related stuff --- src/guiKeyChangeMenu.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/guiKeyChangeMenu.cpp') diff --git a/src/guiKeyChangeMenu.cpp b/src/guiKeyChangeMenu.cpp index 4a92e61e9..01f583a01 100644 --- a/src/guiKeyChangeMenu.cpp +++ b/src/guiKeyChangeMenu.cpp @@ -202,6 +202,21 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize) wgettext(key_jump.name())); } + offset += v2s32(0, 25); + { + core::rect < s32 > rect(0, 0, 100, 20); + rect += topleft + v2s32(offset.X, offset.Y); + Environment->addStaticText(wgettext("Drop"), rect, false, true, this, -1); + //t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT); + } + + { + core::rect < s32 > rect(0, 0, 100, 30); + rect += topleft + v2s32(offset.X + 105, offset.Y - 5); + this->dropbtn = Environment->addButton(rect, this, GUI_ID_KEY_DROP_BUTTON, + wgettext(key_drop.name())); + } + offset += v2s32(0, 25); { core::rect < s32 > rect(0, 0, 100, 20); @@ -352,6 +367,7 @@ bool GUIKeyChangeMenu::acceptInput() g_settings->set("keymap_right", key_right.sym()); g_settings->set("keymap_jump", key_jump.sym()); g_settings->set("keymap_sneak", key_sneak.sym()); + g_settings->set("keymap_drop", key_drop.sym()); g_settings->set("keymap_inventory", key_inventory.sym()); g_settings->set("keymap_chat", key_chat.sym()); g_settings->set("keymap_cmd", key_cmd.sym()); @@ -371,6 +387,7 @@ void GUIKeyChangeMenu::init_keys() key_right = getKeySetting("keymap_right"); key_jump = getKeySetting("keymap_jump"); key_sneak = getKeySetting("keymap_sneak"); + key_drop = getKeySetting("keymap_drop"); key_inventory = getKeySetting("keymap_inventory"); key_chat = getKeySetting("keymap_chat"); key_cmd = getKeySetting("keymap_cmd"); @@ -407,6 +424,9 @@ bool GUIKeyChangeMenu::resetMenu() case GUI_ID_KEY_SNEAK_BUTTON: this->sneak->setText(wgettext(key_sneak.name())); break; + case GUI_ID_KEY_DROP_BUTTON: + this->dropbtn->setText(wgettext(key_drop.name())); + break; case GUI_ID_KEY_INVENTORY_BUTTON: this->inventory->setText( wgettext(key_inventory.name())); @@ -476,6 +496,11 @@ bool GUIKeyChangeMenu::OnEvent(const SEvent& event) this->sneak->setText(wgettext(kp.name())); this->key_sneak = kp; } + else if (activeKey == GUI_ID_KEY_DROP_BUTTON) + { + this->dropbtn->setText(wgettext(kp.name())); + this->key_drop = kp; + } else if (activeKey == GUI_ID_KEY_INVENTORY_BUTTON) { this->inventory->setText(wgettext(kp.name())); @@ -590,6 +615,11 @@ bool GUIKeyChangeMenu::OnEvent(const SEvent& event) activeKey = event.GUIEvent.Caller->getID(); this->jump->setText(wgettext("press Key")); break; + case GUI_ID_KEY_DROP_BUTTON: + resetMenu(); + activeKey = event.GUIEvent.Caller->getID(); + this->dropbtn->setText(wgettext("press Key")); + break; case GUI_ID_KEY_CHAT_BUTTON: resetMenu(); activeKey = event.GUIEvent.Caller->getID(); -- cgit v1.2.3