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