]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_hudsetup_exit.qc
Add an input box near the "Save current skin" button to insert a custom filename
[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(_("Save current skin"), '0 0 0'));
44                         e.onClick = SaveHUDSkin_Click;
45                         e.onClickEntity = hudskinlist;
46                 me.TD(me, 1, 2, e = makeXonoticInputBox(0, string_null));
47                         e.onChange = HUDSkinList_SavedName_Change;
48                         e.onChangeEntity = hudskinlist;
49
50         me.gotoRC(me, 0, 4.2); me.setFirstColumn(me, me.currentColumn);
51                 me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Panel background defaults:")));
52         me.TR(me);
53                 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Background:")));
54                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg"));
55                                 e.addValue(e, _("Disable"), "0");
56                                 e.addValue(e, "border_default", "border_default"); // this is a file name!
57                                 e.configureXonoticTextSliderValues(e);
58         me.TR(me);
59                 me.TDempty(me, 0.2);
60                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
61                 me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_panel_bg_color", "hud_panel_bg_color"));
62         me.TR(me);
63         me.TR(me);
64                 me.TDempty(me, 0.2);
65                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Border size:")));
66                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_border"));
67                                 e.addValue(e, _("Disable"), "0");
68                                 for(i = 1; i <= 10; ++i)
69                                         e.addValue(e, strzone(ftos_decimals(i * 2, 0)), strzone(ftos(i * 2)));
70                                 e.configureXonoticTextSliderValues(e);
71         me.TR(me);
72                 me.TDempty(me, 0.2);
73                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
74                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_alpha"));
75                                 for(i = 1; i <= 10; ++i)
76                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
77                                 e.configureXonoticTextSliderValues(e);
78         me.TR(me);
79                 me.TDempty(me, 0.2);
80                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Team color:")));
81                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_color_team"));
82                                 e.addValue(e, _("Disable"), "0");
83                                 for(i = 1; i <= 10; ++i)
84                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
85                                 e.configureXonoticTextSliderValues(e);
86         me.TR(me);
87                 me.TDempty(me, 0.4);
88                 me.TD(me, 1, 3.6, e = makeXonoticCheckBox(0, "hud_configure_teamcolorforced", _("Test team color in configure mode")));
89         me.TR(me);
90                 me.TDempty(me, 0.2);
91                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Padding:")));
92                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_panel_bg_padding"));
93                                 for(i = 0; i <= 10; ++i)
94                                         e.addValue(e, strzone(ftos_decimals(i - 5, 0)), strzone(ftos(i - 5)));
95                                 e.configureXonoticTextSliderValues(e);
96
97         me.TR(me);
98                 me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("HUD Dock:")));
99                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock"));
100                                 e.addValue(e, ZCTX(_("DOCK^Disabled")), "0");
101                                 e.addValue(e, ZCTX(_("DOCK^Small")), "dock_small");
102                                 e.addValue(e, ZCTX(_("DOCK^Medium")), "dock_medium");
103                                 e.addValue(e, ZCTX(_("DOCK^Large")), "dock_large");
104                                 e.configureXonoticTextSliderValues(e);
105         me.TR(me);
106                 me.TDempty(me, 0.2);
107                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Color:")));
108                 me.TD(me, 2, 2.6, e = makeXonoticColorpickerString("hud_dock_color", "hud_dock_color"));
109         me.TR(me);
110         me.TR(me);
111                 me.TDempty(me, 0.2);
112                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Alpha:")));
113                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_alpha"));
114                                 for(i = 1; i <= 10; ++i)
115                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
116                                 e.configureXonoticTextSliderValues(e);
117         me.TR(me);
118                 me.TDempty(me, 0.2);
119                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Team color:")));
120                         me.TD(me, 1, 2.6, e = makeXonoticTextSlider("hud_dock_color_team"));
121                                 e.addValue(e, _("Disable"), "0");
122                                 for(i = 1; i <= 10; ++i)
123                                         e.addValue(e, strzone(ftos_decimals(i/10, 1)), strzone(ftos(i/10)));
124                                 e.configureXonoticTextSliderValues(e);
125         me.TR(me);
126                 me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Grid settings:")));
127         me.TR(me);
128                 me.TDempty(me, 0.2);
129                 me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_configure_grid", _("Snap panels to grid")));
130         me.TR(me);
131                 me.TDempty(me, 0.2);
132                 me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Grid size:")));
133                         setDependent(e, "hud_configure_grid", 1, 1);
134                 me.TD(me, 1, 0.2, e = makeXonoticTextLabel(0, _("X:")));
135                         setDependent(e, "hud_configure_grid", 1, 1);
136                         me.TD(me, 1, 1.1, e = makeXonoticTextSlider("hud_configure_grid_xsize"));
137                                 for(i = 1; i <= 14; ++i)
138                                         e.addValue(e, strzone(sprintf("%.1f%%", i/2)), strzone(ftos(i/200)));
139                                 e.configureXonoticTextSliderValues(e);
140                                 setDependent(e, "hud_configure_grid", 1, 1);
141                 me.TD(me, 1, 0.2, e = makeXonoticTextLabel(0, _("Y:")));
142                         setDependent(e, "hud_configure_grid", 1, 1);
143                         me.TD(me, 1, 1.1, e = makeXonoticTextSlider("hud_configure_grid_ysize"));
144                                 for(i = 1; i <= 14; ++i)
145                                         e.addValue(e, strzone(sprintf("%.1f%%", i/2)), strzone(ftos(i/200)));
146                                 e.configureXonoticTextSliderValues(e);
147                                 setDependent(e, "hud_configure_grid", 1, 1);
148
149         me.gotoRC(me, me.rows - 1, 0);
150                 me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Exit setup"), '0 0 0', "_hud_configure 0", 1));
151 }
152 #endif