]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_hudsetup_exit.qc
Merge branch 'master' into terencehill/menu_hudskin_selector
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_hudsetup_exit.qc
1 #ifndef DIALOG_HUDSETUP_EXIT_H
2 #define DIALOG_HUDSETUP_EXIT_H
3 #include "rootdialog.qc"
4 CLASS(XonoticHUDExitDialog, XonoticRootDialog)
5         METHOD(XonoticHUDExitDialog, fill, void(entity));
6         ATTRIB(XonoticHUDExitDialog, title, string, _("Panel HUD Setup"))
7         ATTRIB(XonoticHUDExitDialog, color, vector, SKINCOLOR_DIALOG_TEAMSELECT)
8         ATTRIB(XonoticHUDExitDialog, intendedWidth, float, 0.8)
9         ATTRIB(XonoticHUDExitDialog, rows, float, 18)
10         ATTRIB(XonoticHUDExitDialog, columns, float, 8.2)
11         ATTRIB(XonoticHUDExitDialog, name, string, "HUDExit")
12         ATTRIB(XonoticHUDExitDialog, requiresConnection, float, true)
13 ENDCLASS(XonoticHUDExitDialog)
14
15 #endif
16
17 #ifdef IMPLEMENTATION
18 void XonoticHUDExitDialog_fill(entity me)
19 {
20         entity e;
21         int i;
22         hudskinlist = makeXonoticHUDSkinList();
23
24         me.TR(me);
25                 me.TD(me, 1, 4, makeXonoticHeaderLabel(_("HUD skins")));
26         me.TR(me);
27                 me.TD(me, 1, 0.9, e = makeXonoticButton(_("Refresh"), '0 0 0'));
28                         e.onClick = HUDSkinList_Refresh_Click;
29                         e.onClickEntity = hudskinlist;
30                 me.TDempty(me, 0.1);
31                 me.TD(me, 1, 1, e = makeXonoticTextLabel(1, _("Filter:")));
32                 me.TD(me, 1, 2, e = makeXonoticInputBox(0, string_null));
33                         e.onChange = HUDSkinList_Filter_Change;
34                         e.onChangeEntity = hudskinlist;
35                         hudskinlist.controlledTextbox = e;
36         me.TR(me);
37                 me.TD(me, 12.5, 4, hudskinlist);
38         me.gotoRC(me, me.rows - 3.5, 0);
39                 me.TDempty(me, 0.75);
40                 me.TD(me, 1, 2.5, e = makeXonoticButton(_("Set skin"), '0 0 0'));
41                         e.onClick = SetHUDSkin_Click;
42                         e.onClickEntity = hudskinlist;
43         me.TR(me);
44                 me.TDempty(me, 0.75);
45                 me.TD(me, 1, 2.5, e = makeXonoticButton(_("Save current skin"), '0 0 0'));
46                         e.onClick = SaveHUDSkin_Click;
47                         e.onClickEntity = hudskinlist;
48
49         me.gotoRC(me, 0, 4.2); me.setFirstColumn(me, me.currentColumn);
50                 me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Panel background defaults:")));
51         me.TR(me);
52                 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Background:")));
53                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg"));
54                                 e.addValue(e, _("Disable"), "0");
55                                 e.addValue(e, "border_default", "border_default"); // this is a file name!
56                                 e.configureXonoticTextSliderValues(e);
57         me.TR(me);
58                 me.TDempty(me, 0.2);
59                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
60                 me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_panel_bg_color", "hud_panel_bg_color"));
61         me.TR(me);
62         me.TR(me);
63                 me.TDempty(me, 0.2);
64                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Border size:")));
65                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_border"));
66                                 e.addValue(e, _("Disable"), "0");
67                                 for(i = 1; i <= 10; ++i)
68                                         e.addValue(e, strzone(ftos_decimals(i * 2, 0)), strzone(ftos(i * 2)));
69                                 e.configureXonoticTextSliderValues(e);
70         me.TR(me);
71                 me.TDempty(me, 0.2);
72                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
73                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_alpha"));
74                                 for(i = 1; i <= 10; ++i)
75                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
76                                 e.configureXonoticTextSliderValues(e);
77         me.TR(me);
78                 me.TDempty(me, 0.2);
79                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Team color:")));
80                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_color_team"));
81                                 e.addValue(e, _("Disable"), "0");
82                                 for(i = 1; i <= 10; ++i)
83                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
84                                 e.configureXonoticTextSliderValues(e);
85         me.TR(me);
86                 me.TDempty(me, 0.4);
87                 me.TD(me, 1, 3.6, e = makeXonoticCheckBox(0, "hud_configure_teamcolorforced", _("Test team color in configure mode")));
88         me.TR(me);
89                 me.TDempty(me, 0.2);
90                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Padding:")));
91                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_padding"));
92                                 for(i = 0; i <= 10; ++i)
93                                         e.addValue(e, strzone(ftos_decimals(i - 5, 0)), strzone(ftos(i - 5)));
94                                 e.configureXonoticTextSliderValues(e);
95
96         me.TR(me);
97                 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("HUD Dock:")));
98                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock"));
99                                 e.addValue(e, ZCTX(_("DOCK^Disabled")), "0");
100                                 e.addValue(e, ZCTX(_("DOCK^Small")), "dock_small");
101                                 e.addValue(e, ZCTX(_("DOCK^Medium")), "dock_medium");
102                                 e.addValue(e, ZCTX(_("DOCK^Large")), "dock_large");
103                                 e.configureXonoticTextSliderValues(e);
104         me.TR(me);
105                 me.TDempty(me, 0.2);
106                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
107                 me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_dock_color", "hud_dock_color"));
108         me.TR(me);
109         me.TR(me);
110                 me.TDempty(me, 0.2);
111                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
112                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_alpha"));
113                                 for(i = 1; i <= 10; ++i)
114                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
115                                 e.configureXonoticTextSliderValues(e);
116         me.TR(me);
117                 me.TDempty(me, 0.2);
118                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Team color:")));
119                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_color_team"));
120                                 e.addValue(e, _("Disable"), "0");
121                                 for(i = 1; i <= 10; ++i)
122                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
123                                 e.configureXonoticTextSliderValues(e);
124         me.TR(me);
125                 me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Grid settings:")));
126         me.TR(me);
127                 me.TDempty(me, 0.2);
128                 me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_configure_grid", _("Snap panels to grid")));
129         me.TR(me);
130                 me.TDempty(me, 0.2);
131                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Grid size:")));
132                         setDependent(e, "hud_configure_grid", 1, 1);
133                 me.TD(me, 1, 0.2, e = makeXonoticTextLabel(0, _("X:")));
134                         setDependent(e, "hud_configure_grid", 1, 1);
135                         me.TD(me, 1, 1.1, e = makeXonoticTextSlider("hud_configure_grid_xsize"));
136                                 for(i = 1; i <= 14; ++i)
137                                         e.addValue(e, strzone(sprintf("%.1f%%", i/2)), strzone(ftos(i/200)));
138                                 e.configureXonoticTextSliderValues(e);
139                                 setDependent(e, "hud_configure_grid", 1, 1);
140                 me.TD(me, 1, 0.2, e = makeXonoticTextLabel(0, _("Y:")));
141                         setDependent(e, "hud_configure_grid", 1, 1);
142                         me.TD(me, 1, 1.1, e = makeXonoticTextSlider("hud_configure_grid_ysize"));
143                                 for(i = 1; i <= 14; ++i)
144                                         e.addValue(e, strzone(sprintf("%.1f%%", i/2)), strzone(ftos(i/200)));
145                                 e.configureXonoticTextSliderValues(e);
146                                 setDependent(e, "hud_configure_grid", 1, 1);
147
148         me.gotoRC(me, me.rows - 1, 0);
149                 me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Exit setup"), '0 0 0', "_hud_configure 0", 1));
150 }
151 #endif