#include base classes
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_multiplayer_media_musicplayer.qc
1 #ifndef DIALOG_MULTIPLAYER_MEDIA_MUSICPLAYER_H
2 #define DIALOG_MULTIPLAYER_MEDIA_MUSICPLAYER_H
3 #include "tab.qc"
4 CLASS(XonoticMusicPlayerTab, XonoticTab)
5         METHOD(XonoticMusicPlayerTab, fill, void(entity))
6         ATTRIB(XonoticMusicPlayerTab, title, string, _("Music"))
7         ATTRIB(XonoticMusicPlayerTab, intendedWidth, float, 0.9)
8         ATTRIB(XonoticMusicPlayerTab, rows, float, 21)
9         ATTRIB(XonoticMusicPlayerTab, columns, float, 6.5)
10         ATTRIB(XonoticMusicPlayerTab, name, string, "MusicPlayer")
11 ENDCLASS(XonoticMusicPlayerTab)
12 entity makeXonoticMusicPlayerTab();
13 #endif
14
15 #ifdef IMPLEMENTATION
16 entity makeXonoticMusicPlayerTab()
17 {
18         entity me;
19         me = NEW(XonoticMusicPlayerTab);
20         me.configureDialog(me);
21         return me;
22 }
23 void XonoticMusicPlayerTab_fill(entity me)
24 {
25         entity e;
26         entity soundList, playList;
27         float columns_nospacing = (me.columns - 0.2);
28
29         me.TR(me);
30                 me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, _("Filter:")));
31                 me.TD(me, 1, 2.5, e = makeXonoticInputBox(0, string_null));
32                         soundList = makeXonoticSoundList();
33                         e.onChange = SoundList_Filter_Change;
34                         e.onChangeEntity = soundList;
35                         soundList.controlledTextbox = e;
36                         playList = makeXonoticPlayList();
37                         soundList.playlist = playList;
38
39         me.TR(me);
40                 me.TD(me, me.rows - 4, columns_nospacing / 2, soundList);
41
42         me.gotoRC(me, me.rows - 3, 0);
43                 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add")), '0 0 0'));
44                         e.onClick = SoundList_Add;
45                         e.onClickEntity = soundList;
46                 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add all")), '0 0 0'));
47                         e.onClick = SoundList_Add_All;
48                         e.onClickEntity = soundList;
49         me.TR(me);
50                 me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Set as menu track"), '0 0 0'));
51                         e.onClick = SoundList_Menu_Track_Change;
52                         e.onClickEntity = soundList;
53         me.TR(me);
54                 me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Reset default menu track"), '0 0 0'));
55                         e.onClick = SoundList_Menu_Track_Reset;
56                         e.onClickEntity = soundList;
57         me.TR(me);
58         me.TR(me);
59         me.gotoRC(me, 0, columns_nospacing / 2 + 0.2); me.setFirstColumn(me, me.currentColumn);
60                 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticTextLabel(0, _("Playlist:")));
61                 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticCheckBox(0, "music_playlist_random0", _("Random order")));
62         me.TR(me);
63                 me.TD(me, me.rows - 3, columns_nospacing / 2, playList);
64
65         me.gotoRC(me, me.rows - 2, columns_nospacing / 2 + 0.2);
66                 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Stop")), '0 0 0'));
67                         e.onClick = StopSound_Click;
68                         e.onClickEntity = playList;
69                 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Play")), '0 0 0'));
70                         e.onClick = StartSound_Click;
71                         e.onClickEntity = playList;
72                 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Pause")), '0 0 0'));
73                         e.onClick = PauseSound_Click;
74                         e.onClickEntity = playList;
75                 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Prev")), '0 0 0'));
76                         e.onClick = PrevSound_Click;
77                         e.onClickEntity = playList;
78                 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Next")), '0 0 0'));
79                         e.onClick = NextSound_Click;
80                         e.onClickEntity = playList;
81         me.TR(me);
82                 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove")), '0 0 0'));
83                         e.onClick = PlayList_Remove;
84                         e.onClickEntity = playList;
85                 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove all")), '0 0 0'));
86                         e.onClick = PlayList_Remove_All;
87                         e.onClickEntity = playList;
88 }
89 #endif