]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/dialog_quit.qc
Don't allow other clients to connect when starting a singleplayer game; also the...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_quit.qc
index 74692cf87677e734e16b7e8c814ca548a6c52fcb..1bd90038ad48fead20918d686d9c79d03c30663b 100644 (file)
@@ -1,31 +1,35 @@
-#ifndef DIALOG_QUIT_H
-#define DIALOG_QUIT_H
-#include "dialog.qc"
-CLASS(XonoticQuitDialog, XonoticDialog)
-       METHOD(XonoticQuitDialog, fill, void(entity));
-       ATTRIB(XonoticQuitDialog, title, string, _("Quit"))
-       ATTRIB(XonoticQuitDialog, tooltip, string, _("Quit the game"))
-       ATTRIB(XonoticQuitDialog, color, vector, SKINCOLOR_DIALOG_QUIT)
-       ATTRIB(XonoticQuitDialog, intendedWidth, float, 0.5)
-       ATTRIB(XonoticQuitDialog, rows, float, 3)
-       ATTRIB(XonoticQuitDialog, columns, float, 2)
-       ATTRIB(XonoticQuitDialog, name, string, "Quit")
-ENDCLASS(XonoticQuitDialog)
-#endif
+#include "dialog_quit.qh"
+
+#include "textlabel.qh"
+#include "commandbutton.qh"
+#include "button.qh"
+
+void Disconnect_Click(entity btn, entity me)
+{
+       localcmd(QUITGAME_CMD);
+       Dialog_Close(btn, me);
+}
+
+void XonoticQuitDialog_draw(entity me)
+{
+       entity e = me.disconnectButton;
+       e.disabled = !(gamestatus & (GAME_ISSERVER | GAME_CONNECTED));
+       e.setText(e, quitGameButton_getText(e));
+       SUPER(XonoticQuitDialog).draw(me);
+}
 
-#ifdef IMPLEMENTATION
 void XonoticQuitDialog_fill(entity me)
 {
        entity e;
        me.TR(me);
-               me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("Are you sure you want to quit?")));
+               me.TDempty(me, 0.5);
+               me.TD(me, 1, 1, me.disconnectButton = makeXonoticButton(string_null, '0 0 0'));
+                       me.disconnectButton.onClick = Disconnect_Click;
+                       me.disconnectButton.onClickEntity = me;
        me.TR(me);
        me.TR(me);
-               me.TD(me, 1, 1, e = makeXonoticCommandButton_T(_("Yes"), '1 0 0', "echo ]quit\nquit", 0,
-                       _("Back to work...")));
-               me.TD(me, 1, 1, e = makeXonoticButton_T(_("No"), '0 1 0',
-                       _("I got some more fragging to do!")));
+               me.TD(me, 1, 1, e = makeXonoticCommandButton(_("Quit Xonotic"), '1 0 0', "echo ]quit; quit", 0));
+               me.TD(me, 1, 1, e = makeXonoticButton(_("Cancel"), '0 1 0'));
                        e.onClick = Dialog_Close;
                        e.onClickEntity = me;
 }
-#endif