]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_settings_misc_cvars.qc
Merge branch 'terencehill/lms_itemtimes_fix' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_misc_cvars.qc
1 #ifndef DIALOG_SETTINGS_MISC_CVARS_H
2 #define DIALOG_SETTINGS_MISC_CVARS_H
3 #include "dialog.qc"
4 CLASS(XonoticCvarsDialog, XonoticDialog)
5         METHOD(XonoticCvarsDialog, fill, void(entity));
6         METHOD(XonoticCvarsDialog, showNotify, void(entity));
7         ATTRIB(XonoticCvarsDialog, title, string, _("Advanced settings"))
8         ATTRIB(XonoticCvarsDialog, color, vector, SKINCOLOR_DIALOG_CVARS)
9         ATTRIB(XonoticCvarsDialog, intendedWidth, float, 0.8)
10         ATTRIB(XonoticCvarsDialog, rows, float, 24)
11         ATTRIB(XonoticCvarsDialog, columns, float, 6)
12 ENDCLASS(XonoticCvarsDialog)
13 #endif
14
15 #ifdef IMPLEMENTATION
16 void XonoticCvarsDialog_showNotify(entity me)
17 {
18         SUPER(XonoticCvarsDialog).showNotify(me);
19         loadAllCvars(me);
20 }
21 void XonoticCvarsDialog_fill(entity me) // in this dialog, use SKINCOLOR_CVARLIST_CONTROLS to color ALL controls
22 {
23
24         entity e, cvarlist;
25
26         cvarlist = makeXonoticCvarList();
27
28         cvarlist.color =
29                 cvarlist.colorF =
30                 cvarlist.color2 =
31                 cvarlist.colorC =
32                 SKINCOLOR_CVARLIST_CONTROLS;
33
34         // todo:
35         // add button which does cvar_resettodefaults_saveonly
36
37         me.TR(me);
38                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Cvar filter:")));
39                 me.TD(me, 1, me.columns - 1, e = makeXonoticInputBox(0, string_null));
40                         e.color = SKINCOLOR_CVARLIST_CONTROLS;
41                         e.colorF = SKINCOLOR_CVARLIST_CONTROLS;
42                         e.cb_color = SKINCOLOR_CVARLIST_CONTROLS;
43                         e.cb_colorC = SKINCOLOR_CVARLIST_CONTROLS;
44                         e.cb_colorF = SKINCOLOR_CVARLIST_CONTROLS;
45                         e.onChange = CvarList_Filter_Change;
46                         e.onChangeEntity = cvarlist;
47                         cvarlist.controlledTextbox = e; // this COULD also be the Value box, but this leads to accidentally editing stuff
48         me.TR(me);
49                 me.TD(me, me.rows - me.currentRow - 9, me.columns, cvarlist);
50         me.gotoRC(me, me.rows - 8, 0);
51                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Setting:")));
52                 me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
53                         cvarlist.cvarNameBox = e;
54         me.TR(me);
55                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Type:")));
56                 me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
57                         cvarlist.cvarTypeBox = e;
58         me.TR(me);
59                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Value:")));
60                 me.TD(me, 1, me.columns - 2, e = makeXonoticInputBox(0, string_null));
61                         cvarlist.cvarValueBox = e;
62                         e.color = SKINCOLOR_CVARLIST_CONTROLS;
63                         e.colorF = SKINCOLOR_CVARLIST_CONTROLS;
64                         e.cb_color = SKINCOLOR_CVARLIST_CONTROLS;
65                         e.cb_colorC = SKINCOLOR_CVARLIST_CONTROLS;
66                         e.cb_colorF = SKINCOLOR_CVARLIST_CONTROLS;
67                         e.onChange = CvarList_Value_Change;
68                         e.onChangeEntity = cvarlist;
69                         e.onEnter = CvarList_End_Editing;
70                         e.onEnterEntity = cvarlist;
71                 me.TD(me, 1, 1, e = makeXonoticButton(string_null, SKINCOLOR_CVARLIST_CONTROLS));
72                         cvarlist.cvarDefaultBox = e;
73                         e.onClick = CvarList_Revert_Click;
74                         e.onClickEntity = cvarlist;
75                         e.allowCut = 1;
76                         e.marginLeft = e.marginRight = 0.5;
77         me.TR(me);
78         me.TR(me);
79                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Description:")));
80                 me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
81                         cvarlist.cvarDescriptionBox = e;
82                         e.allowWrap = 1;
83         me.gotoRC(me, me.rows - 1, 0);
84                 me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), SKINCOLOR_CVARLIST_CONTROLS));
85                         e.onClick = Dialog_Close;
86                         e.onClickEntity = me;
87 }
88
89 #endif