]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_welcome.qc
Close the centerprint welcome message too when closing the welcome dialog
[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_close(entity me)
21 {
22         SUPER(XonoticWelcomeDialog).close(me);
23 }
24 void XonoticWelcomeDialog_configureDialog(entity me)
25 {
26         welcomeDialog_resetStrings(me);
27         SUPER(XonoticWelcomeDialog).configureDialog(me);
28 }
29 void XonoticWelcomeDialog_readInputArgs(entity me, float argsbuf)
30 {
31         int i = 0;
32         string s;
33         welcomeDialog_resetStrings(me);
34         if(argsbuf >= 0)
35         while((s = bufstr_get(argsbuf, i)) != "")
36         {
37                 if(s == "name")
38                 {
39                         if(me.serverinfo_name)
40                                 strunzone(me.serverinfo_name);
41                         me.serverinfo_name = strzone(bufstr_get(argsbuf, i + 1));
42                         ++i;
43                 }
44                 else if(s == "motd")
45                 {
46                         if(me.serverinfo_MOTD)
47                                 strunzone(me.serverinfo_MOTD);
48                         me.serverinfo_MOTD = strzone(bufstr_get(argsbuf, i + 1));
49                         ++i;
50                 }
51                 ++i;
52         }
53         localcmd("\nwait; wait; +show_info; wait; wait; -show_info\n");
54         //me.serverinfo_name_ent.setText(me.serverinfo_name_ent, me.serverinfo_name);
55         me.serverinfo_MOTD_ent.setText(me.serverinfo_MOTD_ent, me.serverinfo_MOTD);
56         me.frame.setText(me.frame, me.serverinfo_name);
57 }
58
59 void XonoticWelcomeDialog_fill(entity me)
60 {
61         entity e;
62
63         me.TR(me);
64                 me.TD(me, me.rows - 1, me.columns, me.serverinfo_MOTD_ent = makeXonoticTextBox());
65                         me.serverinfo_MOTD_ent.align = 0.5;
66                         me.serverinfo_MOTD_ent.allowColors = true;
67                         me.serverinfo_MOTD_ent.escapedNewLines = true;
68         me.gotoRC(me, me.rows - 1, 0);
69                 me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
70                         e.onClick = Dialog_Close;
71                         e.onClickEntity = me;
72                         e.preferredFocusPriority = 1;
73 }