]> de.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.TDempty(me, 0.2);
28                 me.TD(me, 1, 0.7, e = makeXonoticTextLabel(0.5, _("Filter:")));
29                 me.TD(me, 1, 2.9, e = makeXonoticInputBox(0, string_null));
30                         e.onChange = HUDSkinList_Filter_Change;
31                         e.onChangeEntity = hudskinlist;
32         me.TR(me);
33                 me.TD(me, 12, 4, hudskinlist);
34         me.gotoRC(me, me.rows - 4, 0);
35                 me.TDempty(me, 0.2);
36                 me.TD(me, 1, 1.4, e = makeXonoticButton(_("Refresh"), '0 0 0'));
37                         e.onClick = HUDSkinList_Refresh_Click;
38                         e.onClickEntity = hudskinlist;
39                 me.TD(me, 1, 2.2, e = makeXonoticButton(_("Set skin"), '0 0 0'));
40                         e.onClick = SetHUDSkin_Click;
41                         e.onClickEntity = hudskinlist;
42         me.gotoRC(me, me.rows - 2.5, 0);
43                 me.TD(me, 1, 2, e = makeXonoticButton_T(_("Save current skin"), '0 0 0',
44                         "Note: HUD skins are saved in data/data/ directory and can be manually renamed/deleted from there"));
45                         e.onClick = SaveHUDSkin_Click;
46                         e.onClickEntity = hudskinlist;
47                 me.TD(me, 1, 2, e = makeXonoticInputBox(0, string_null));
48                         e.onChange = HUDSkinList_SavedName_Change;
49                         e.onChangeEntity = hudskinlist;
50
51         me.gotoRC(me, 0, 4.2); me.setFirstColumn(me, me.currentColumn);
52                 me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Panel background defaults:")));
53         me.TR(me);
54                 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Background:")));
55                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg"));
56                                 e.addValue(e, _("Disable"), "0");
57                                 e.addValue(e, "border_default", "border_default"); // this is a file name!
58                                 e.configureXonoticTextSliderValues(e);
59         me.TR(me);
60                 me.TDempty(me, 0.2);
61                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
62                 me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_panel_bg_color", "hud_panel_bg_color"));
63         me.TR(me);
64         me.TR(me);
65                 me.TDempty(me, 0.2);
66                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Border size:")));
67                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_border"));
68                                 e.addValue(e, _("Disable"), "0");
69                                 for(i = 1; i <= 10; ++i)
70                                         e.addValue(e, strzone(ftos_decimals(i * 2, 0)), strzone(ftos(i * 2)));
71                                 e.configureXonoticTextSliderValues(e);
72         me.TR(me);
73                 me.TDempty(me, 0.2);
74                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
75                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_alpha"));
76                                 for(i = 1; i <= 10; ++i)
77                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
78                                 e.configureXonoticTextSliderValues(e);
79         me.TR(me);
80                 me.TDempty(me, 0.2);
81                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Team color:")));
82                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_color_team"));
83                                 e.addValue(e, _("Disable"), "0");
84                                 for(i = 1; i <= 10; ++i)
85                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
86                                 e.configureXonoticTextSliderValues(e);
87         me.TR(me);
88                 me.TDempty(me, 0.4);
89                 me.TD(me, 1, 3.6, e = makeXonoticCheckBox(0, "hud_configure_teamcolorforced", _("Test team color in configure mode")));
90         me.TR(me);
91                 me.TDempty(me, 0.2);
92                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Padding:")));
93                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_padding"));
94                                 for(i = 0; i <= 10; ++i)
95                                         e.addValue(e, strzone(ftos_decimals(i - 5, 0)), strzone(ftos(i - 5)));
96                                 e.configureXonoticTextSliderValues(e);
97
98         me.TR(me);
99                 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("HUD Dock:")));
100                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock"));
101                                 e.addValue(e, ZCTX(_("DOCK^Disabled")), "0");
102                                 e.addValue(e, ZCTX(_("DOCK^Small")), "dock_small");
103                                 e.addValue(e, ZCTX(_("DOCK^Medium")), "dock_medium");
104                                 e.addValue(e, ZCTX(_("DOCK^Large")), "dock_large");
105                                 e.configureXonoticTextSliderValues(e);
106         me.TR(me);
107                 me.TDempty(me, 0.2);
108                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
109                 me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_dock_color", "hud_dock_color"));
110         me.TR(me);
111         me.TR(me);
112                 me.TDempty(me, 0.2);
113                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
114                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_alpha"));
115                                 for(i = 1; i <= 10; ++i)
116                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
117                                 e.configureXonoticTextSliderValues(e);
118         me.TR(me);
119                 me.TDempty(me, 0.2);
120                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Team color:")));
121                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_color_team"));
122                                 e.addValue(e, _("Disable"), "0");
123                                 for(i = 1; i <= 10; ++i)
124                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
125                                 e.configureXonoticTextSliderValues(e);
126         me.TR(me);
127                 me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Grid settings:")));
128         me.TR(me);
129                 me.TDempty(me, 0.2);
130                 me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_configure_grid", _("Snap panels to grid")));
131         me.TR(me);
132                 me.TDempty(me, 0.2);
133                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Grid size:")));
134                         setDependent(e, "hud_configure_grid", 1, 1);
135                 me.TD(me, 1, 0.2, e = makeXonoticTextLabel(0, _("X:")));
136                         setDependent(e, "hud_configure_grid", 1, 1);
137                         me.TD(me, 1, 1.1, e = makeXonoticTextSlider("hud_configure_grid_xsize"));
138                                 for(i = 1; i <= 14; ++i)
139                                         e.addValue(e, strzone(sprintf("%.1f%%", i/2)), strzone(ftos(i/200)));
140                                 e.configureXonoticTextSliderValues(e);
141                                 setDependent(e, "hud_configure_grid", 1, 1);
142                 me.TD(me, 1, 0.2, e = makeXonoticTextLabel(0, _("Y:")));
143                         setDependent(e, "hud_configure_grid", 1, 1);
144                         me.TD(me, 1, 1.1, e = makeXonoticTextSlider("hud_configure_grid_ysize"));
145                                 for(i = 1; i <= 14; ++i)
146                                         e.addValue(e, strzone(sprintf("%.1f%%", i/2)), strzone(ftos(i/200)));
147                                 e.configureXonoticTextSliderValues(e);
148                                 setDependent(e, "hud_configure_grid", 1, 1);
149
150         me.gotoRC(me, me.rows - 1, 0);
151                 me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Exit setup"), '0 0 0', "_hud_configure 0", 1));
152 }
153 #endif