]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_welcome.qc
Show a welcome window with MOTD on server connection
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_welcome.qc
1 #include "dialog_welcome.qh"
2
3 #include "image.qh"
4 #include "textlabel.qh"
5 #include "textbox.qh"
6 #include "radiobutton.qh"
7 #include "commandbutton.qh"
8 #include "slider.qh"
9
10 void welcomeDialog_resetStrings(entity me)
11 {
12         if(me.serverinfo_name)
13                 strunzone(me.serverinfo_name);
14         me.serverinfo_name = strzone(_("<NO NAME>"));
15
16         if(me.serverinfo_MOTD)
17                 strunzone(me.serverinfo_MOTD);
18         me.serverinfo_MOTD = strzone(_("<NO MOTD>"));
19 }
20 void XonoticWelcomeDialog_configureDialog(entity me)
21 {
22         welcomeDialog_resetStrings(me);
23         SUPER(XonoticWelcomeDialog).configureDialog(me);
24 }
25 void XonoticWelcomeDialog_readInputArgs(entity me, float argsbuf)
26 {
27         int i = 0;
28         string s;
29         welcomeDialog_resetStrings(me);
30         if(argsbuf >= 0)
31         while((s = bufstr_get(argsbuf, i)) != "")
32         {
33                 if(s == "name")
34                 {
35                         if(me.serverinfo_name)
36                                 strunzone(me.serverinfo_name);
37                         me.serverinfo_name = strzone(bufstr_get(argsbuf, i + 1));
38                         ++i;
39                 }
40                 else if(s == "motd")
41                 {
42                         if(me.serverinfo_MOTD)
43                                 strunzone(me.serverinfo_MOTD);
44                         me.serverinfo_MOTD = strzone(bufstr_get(argsbuf, i + 1));
45                         ++i;
46                 }
47                 ++i;
48         }
49         //me.serverinfo_name_ent.setText(me.serverinfo_name_ent, me.serverinfo_name);
50         me.serverinfo_MOTD_ent.setText(me.serverinfo_MOTD_ent, me.serverinfo_MOTD);
51         me.frame.setText(me.frame, me.serverinfo_name);
52 }
53
54 void XonoticWelcomeDialog_fill(entity me)
55 {
56         entity e;
57
58         me.TR(me);
59                 me.TD(me, me.rows - 1, me.columns, me.serverinfo_MOTD_ent = makeXonoticTextBox());
60                         me.serverinfo_MOTD_ent.align = 0.5;
61                         me.serverinfo_MOTD_ent.allowColors = true;
62                         me.serverinfo_MOTD_ent.escapedNewLines = true;
63         me.gotoRC(me, me.rows - 1, 0);
64                 me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
65                         e.onClick = Dialog_Close;
66                         e.onClickEntity = me;
67                         e.preferredFocusPriority = 1;
68 }