X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fcvarlist.c;h=52f1a1f26e7890d18da2c2a4257749815605e9d9;hb=032aa825a2db956597458450406f90eb273f1bf7;hp=d1116a70db870bcd7fbc9bb88ece64d9740d4dd4;hpb=1f6d5d5e608f65e86953bd0698a7af985de45b94;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/cvarlist.c b/qcsrc/menu/xonotic/cvarlist.c index d1116a70d..52f1a1f26 100644 --- a/qcsrc/menu/xonotic/cvarlist.c +++ b/qcsrc/menu/xonotic/cvarlist.c @@ -15,7 +15,9 @@ CLASS(XonoticCvarList) EXTENDS(XonoticListBox) ATTRIB(XonoticCvarList, columnValueOrigin, float, 0) ATTRIB(XonoticCvarList, columnValueSize, float, 0) + METHOD(XonoticCvarList, mouseRelease, float(entity, vector)) METHOD(XonoticCvarList, setSelected, void(entity, float)) + ATTRIB(XonoticCvarList, controlledTextbox, entity, NULL) ATTRIB(XonoticCvarList, cvarNameBox, entity, NULL) ATTRIB(XonoticCvarList, cvarDescriptionBox, entity, NULL) @@ -33,6 +35,7 @@ entity makeXonoticCvarList(); void CvarList_Filter_Change(entity box, entity me); void CvarList_Value_Change(entity box, entity me); void CvarList_Revert_Click(entity btn, entity me); +void CvarList_End_Editing(entity box, entity me); #endif #ifdef IMPLEMENTATION @@ -79,15 +82,15 @@ void XonoticCvarList_setSelected(entity me, float i) t = cvar_type(me.cvarName); me.cvarType = ""; if(t & CVAR_TYPEFLAG_SAVED) - me.cvarType = strcat(me.cvarType, ", will be saved to config.cfg"); + me.cvarType = strcat(me.cvarType, ", ", _("will be saved to config.cfg")); else - me.cvarType = strcat(me.cvarType, ", will not be saved"); + me.cvarType = strcat(me.cvarType, ", ", _("will not be saved")); if(t & CVAR_TYPEFLAG_PRIVATE) - me.cvarType = strcat(me.cvarType, ", private"); + me.cvarType = strcat(me.cvarType, ", ", _("private")); if(t & CVAR_TYPEFLAG_ENGINE) - me.cvarType = strcat(me.cvarType, ", engine setting"); + me.cvarType = strcat(me.cvarType, ", ", _("engine setting")); if(t & CVAR_TYPEFLAG_READONLY) - me.cvarType = strcat(me.cvarType, ", read only"); + me.cvarType = strcat(me.cvarType, ", ", _("read only")); me.cvarType = strzone(substring(me.cvarType, 2, strlen(me.cvarType) - 2)); me.cvarNameBox.setText(me.cvarNameBox, me.cvarName); @@ -162,6 +165,11 @@ float XonoticCvarList_keyDown(entity me, float scan, float ascii, float shift) CvarList_Revert_Click(world, me); return 1; } + else if(scan == K_ENTER) + { + me.cvarValueBox.parent.setFocus(me.cvarValueBox.parent, me.cvarValueBox); + return 1; + } else if(SUPER(XonoticCvarList).keyDown(me, scan, ascii, shift)) return 1; else if(!me.controlledTextbox) @@ -170,6 +178,13 @@ float XonoticCvarList_keyDown(entity me, float scan, float ascii, float shift) return me.controlledTextbox.keyDown(me.controlledTextbox, scan, ascii, shift); } +float XonoticCvarList_mouseRelease(entity me, vector pos) +{ + if(me.pressed == 2) + me.cvarValueBox.parent.setFocus(me.cvarValueBox.parent, me.cvarValueBox); + return SUPER(XonoticCvarList).mouseRelease(me, pos); +} + void CvarList_Value_Change(entity box, entity me) { cvar_set(me.cvarNameBox.text, box.text); @@ -180,4 +195,10 @@ void CvarList_Revert_Click(entity btn, entity me) me.cvarValueBox.setText(me.cvarValueBox, me.cvarDefault); me.cvarValueBox.cursorPos = strlen(me.cvarDefault); } + +void CvarList_End_Editing(entity box, entity me) +{ + box.parent.setFocus(box.parent, me); +} + #endif