]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/guiKeyChangeMenu.cpp
Switch to fly mode if spacebar is doubleclicked
[dragonfireclient.git] / src / guiKeyChangeMenu.cpp
index 8f7c7245c1dc0fc437b54b965f527d2a0ba9bac9..336b13e0727aeda4d54a84cbd275a8dfe1cbabcd 100644 (file)
@@ -57,6 +57,7 @@ enum
        GUI_ID_KEY_RANGE_BUTTON,
        // other
        GUI_ID_CB_AUX1_DESCENDS,
+       GUI_ID_CB_DOUBLETAB_JUMP,
 };
 
 GUIKeyChangeMenu::GUIKeyChangeMenu(gui::IGUIEnvironment* env,
@@ -149,6 +150,20 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
                        Environment->addCheckBox(g_settings->getBool("aux1_descends"), rect, this,
                                        GUI_ID_CB_AUX1_DESCENDS, wgettext("\"Use\" = climb down"));
                }
+               offset += v2s32(0, 25);
+       }
+
+       {
+               s32 option_x = offset.X + 10;
+               s32 option_y = offset.Y;
+               u32 option_w = 220;
+               {
+                       core::rect<s32> rect(0, 0, option_w, 30);
+                       rect += topleft + v2s32(option_x, option_y);
+                       Environment->addCheckBox(g_settings->getBool("doubletab_jump"), rect, this,
+                                       GUI_ID_CB_DOUBLETAB_JUMP, wgettext("Doubltab \"jump\" to toogle fly"));
+               }
+               offset += v2s32(0, 25);
        }
 
        {
@@ -197,6 +212,11 @@ bool GUIKeyChangeMenu::acceptInput()
                if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
                        g_settings->setBool("aux1_descends", ((gui::IGUICheckBox*)e)->isChecked());
        }
+       {
+               gui::IGUIElement *e = getElementFromId(GUI_ID_CB_DOUBLETAB_JUMP);
+               if(e != NULL && e->getType() == gui::EGUIET_CHECK_BOX)
+                       g_settings->setBool("doubletab_jump", ((gui::IGUICheckBox*)e)->isChecked());
+       }
        clearKeyCache();
        return true;
 }