]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_multiplayer_join_termsofservice.qc
Merge branch 'master' into develop
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_multiplayer_join_termsofservice.qc
1 #include "dialog_multiplayer_join_termsofservice.qh"
2
3 #include "textbox.qh"
4 #include <lib/urllib.qh>
5
6
7 entity makeXonoticServerToSTab()
8 {
9         entity me;
10         me = NEW(XonoticServerToSTab);
11         me.configureDialog(me);
12         return me;
13 }
14
15 void XonoticServerToSTab_loadToS(entity me, string downloadurl)
16 {
17         url_single_fopen(downloadurl, FILE_READ, AdditionalServerInfo_OnGet, me);
18 }
19
20 void XonoticServerToSTab_fill(entity me)
21 {
22         entity e;
23         me.TR(me);
24         me.TD(me, me.rows, me.columns, e = me.textBox = makeXonoticTextBox());
25                 e.allowColors = true;
26 }
27
28 void AdditionalServerInfo_OnGet(entity fh, entity me, int status)
29 {
30         switch (status) {
31                 case URL_READY_CLOSED:
32                 {
33                         break;
34                 }
35                 case URL_READY_ERROR:
36                 {
37                         me.text = strzone("Error reading ToS");
38                         me.textBox.setText(me.textBox, me.text);
39                         break;
40                 }
41                 case URL_READY_CANREAD:
42                 {
43                         strfree(me.text);
44                         string temp = "";
45                         for (string s; (s = url_fgets(fh)); )
46                         {
47                                 if (temp != "")
48                                         temp = strcat(temp, "\n", s);
49                                 else
50                                         temp = s;
51                         }
52                         url_fclose(fh);
53                         me.text = strzone(temp);
54                         me.textBox.setText(me.textBox, me.text);
55                         break;
56                 }
57                 default:
58                 {
59                         break;
60                 }
61         }
62 }