]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_termsofservice.qc
Fix compilation units
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_termsofservice.qc
1 #include "dialog_termsofservice.qh"
2
3 #include "../menu.qh"
4 #include "mainwindow.qh"
5 #include "dialog_firstrun.qh"
6 #include "textbox.qh"
7 #include "textlabel.qh"
8 #include "button.qh"
9
10 void Close_Clicked(entity btn, entity me)
11 {
12     cvar_set("_termsofservice_accepted", "1");
13     localcmd("saveconfig");
14     if (main.firstRunDialog.shouldShow())
15     {
16         main.dialogToShow = main.firstRunDialog;
17     }
18     Dialog_Close(btn, me);
19 }
20
21 void DontAccept_Clicked(entity btn, entity me)
22 {
23     localcmd("quit");
24 }
25
26 void XonoticToSDialog_loadXonoticToS(entity me)
27 {
28     string ToSText = "";
29     int fh = fopen("TermsOfService", FILE_READ);
30     if (fh >= 0)
31     {
32         for (string line; (line = fgets(fh)); ) {
33             if (ToSText != "")
34             {
35                 ToSText = strcat(ToSText, "\n", line);
36             }
37             else
38             {
39                 ToSText = line;
40             }
41         }
42         fclose(fh);
43     }
44     me.textBox.setText(me.textBox, ToSText);
45 }
46
47 bool XonoticToSDialog_shouldShow()
48 {
49     return (fexists("TermsOfService") && !autocvar__termsofservice_accepted);
50 }
51
52 void XonoticToSDialog_fill(entity me)
53 {
54         entity e;
55
56         me.TR(me);
57                 me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Welcome to Xonotic! Please read the following Terms of Service")));
58                 e.allowWrap = 1;
59
60     me.TR(me);
61         me.TR(me);
62                 me.TD(me, me.rows - 4, me.columns, me.textBox = makeXonoticTextBox());
63         me.loadXonoticToS(me);
64
65     me.TR(me);
66         me.gotoRC(me, me.rows - 1, 0);
67         me.TD(me, 1, me.columns/2, e = makeXonoticButton(_("Accept"), '0 0 0'));
68             e.onClick = Close_Clicked;
69             e.onClickEntity = me;
70         me.TD(me, 1, me.columns/2, e = makeXonoticButton(_("Don't accept & quit"), '0 0 0'));
71             e.onClick = DontAccept_Clicked;
72             e.onClickEntity = me;
73 }
74