-#ifndef DIALOG_HUDSETUP_EXIT_H
-#define DIALOG_HUDSETUP_EXIT_H
-#include "rootdialog.qc"
-CLASS(XonoticHUDExitDialog, XonoticRootDialog)
- METHOD(XonoticHUDExitDialog, fill, void(entity));
- ATTRIB(XonoticHUDExitDialog, title, string, _("Panel HUD Setup"))
- ATTRIB(XonoticHUDExitDialog, color, vector, SKINCOLOR_DIALOG_TEAMSELECT)
- ATTRIB(XonoticHUDExitDialog, intendedWidth, float, 0.8)
- ATTRIB(XonoticHUDExitDialog, rows, float, 18)
- ATTRIB(XonoticHUDExitDialog, columns, float, 8.2)
- ATTRIB(XonoticHUDExitDialog, name, string, "HUDExit")
- ATTRIB(XonoticHUDExitDialog, requiresConnection, float, true)
-ENDCLASS(XonoticHUDExitDialog)
+#include "dialog_hudsetup_exit.qh"
-#endif
+#include "textlabel.qh"
+#include "button.qh"
+#include "textslider.qh"
+#include "inputbox.qh"
+#include "hudskinlist.qh"
+#include "colorpicker_string.qh"
+#include "checkbox.qh"
+#include "commandbutton.qh"
-#ifdef IMPLEMENTATION
void XonoticHUDExitDialog_fill(entity me)
{
entity e;
me.TR(me);
me.TD(me, 1, 4, makeXonoticHeaderLabel(_("HUD skins")));
me.TR(me);
- me.TD(me, 1, 0.9, e = makeXonoticButton(_("Refresh"), '0 0 0'));
- e.onClick = HUDSkinList_Refresh_Click;
- e.onClickEntity = hudskinlist;
- me.TDempty(me, 0.1);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(1, _("Filter:")));
- me.TD(me, 1, 2, e = makeXonoticInputBox(0, string_null));
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.7, e = makeXonoticTextLabel(0.5, _("Filter:")));
+ me.TD(me, 1, 2.9, e = makeXonoticInputBox(0, string_null));
e.onChange = HUDSkinList_Filter_Change;
e.onChangeEntity = hudskinlist;
- hudskinlist.controlledTextbox = e;
me.TR(me);
- me.TD(me, 13.5, 4, hudskinlist);
- me.gotoRC(me, me.rows - 2.5, 0);
- me.TDempty(me, 0.75);
- me.TD(me, 1, 2.5, e = makeXonoticButton(_("Set skin"), '0 0 0'));
+ me.TD(me, 12, 4, hudskinlist);
+ me.gotoRC(me, me.rows - 4, 0);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 1.4, e = makeXonoticButton(_("Refresh"), '0 0 0'));
+ e.onClick = HUDSkinList_Refresh_Click;
+ e.onClickEntity = hudskinlist;
+ me.TD(me, 1, 2.2, e = makeXonoticButton(_("Set skin"), '0 0 0'));
e.onClick = SetHUDSkin_Click;
e.onClickEntity = hudskinlist;
+ me.gotoRC(me, me.rows - 2.5, 0);
+ me.TD(me, 1, 2, e = makeXonoticButton_T(_("Save current skin"), '0 0 0',
+ "Note: HUD skins are saved in data/data/ directory and can be manually renamed/deleted from there"));
+ e.onClick = SaveHUDSkin_Click;
+ e.onClickEntity = hudskinlist;
+ me.TD(me, 1, 2, e = makeXonoticInputBox(0, string_null));
+ e.onChange = HUDSkinList_SavedName_Change;
+ e.onChangeEntity = hudskinlist;
me.gotoRC(me, 0, 4.2); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 4, makeXonoticTextLabel(0, _("Panel background defaults:")));
setDependent(e, "hud_configure_grid", 1, 1);
me.gotoRC(me, me.rows - 1, 0);
- me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Exit setup"), '0 0 0', "_hud_configure 0", 1));
+ me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Exit setup"), '0 0 0', "_hud_configure 0", COMMANDBUTTON_CLOSE));
}
-#endif