c6526f2ec8db9044663a6922081d8bb41199fd40
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_multiplayer_media_screenshot.qc
1 #ifndef DIALOG_MULTIPLAYER_MEDIA_SCREENSHOT_H
2 #define DIALOG_MULTIPLAYER_MEDIA_SCREENSHOT_H
3 #include "tab.qc"
4 CLASS(XonoticScreenshotBrowserTab, XonoticTab)
5         METHOD(XonoticScreenshotBrowserTab, fill, void(entity))
6         ATTRIB(XonoticScreenshotBrowserTab, intendedWidth, float, 1)
7         ATTRIB(XonoticScreenshotBrowserTab, rows, float, 21)
8         ATTRIB(XonoticScreenshotBrowserTab, columns, float, 6.5)
9         ATTRIB(XonoticScreenshotBrowserTab, name, string, "ScreenshotBrowser")
10
11         METHOD(XonoticScreenshotBrowserTab, loadPreviewScreenshot, void(entity, string))
12         ATTRIB(XonoticScreenshotBrowserTab, screenshotImage, entity, NULL)
13         ATTRIB(XonoticScreenshotBrowserTab, currentScrPath, string, string_null)
14 ENDCLASS(XonoticScreenshotBrowserTab)
15 entity makeXonoticScreenshotBrowserTab();
16 #endif
17
18 #ifdef IMPLEMENTATION
19 entity makeXonoticScreenshotBrowserTab()
20 {
21         entity me;
22         me = NEW(XonoticScreenshotBrowserTab);
23         me.configureDialog(me);
24         return me;
25 }
26 void XonoticScreenshotBrowserTab_loadPreviewScreenshot(entity me, string scrImage)
27 {
28         if (me.currentScrPath == scrImage)
29                 return;
30         if (me.currentScrPath)
31                 strunzone(me.currentScrPath);
32         me.currentScrPath = strzone(scrImage);
33         me.screenshotImage.load(me.screenshotImage, me.currentScrPath);
34 }
35 void XonoticScreenshotBrowserTab_fill(entity me)
36 {
37         entity e, slist;
38         slist = makeXonoticScreenshotList();
39         float slist_height = me.rows - 2;
40
41
42         me.TR(me);
43                 me.TD(me, 1, 0.6, e = makeXonoticTextLabel(1, _("Filter:")));
44                 me.TD(me, 1, 2.4, e = makeXonoticInputBox(0, string_null));
45                         e.onChange = ScreenshotList_Filter_Would_Change;
46                         e.onChangeEntity = slist;
47                         slist.screenshotViewerDialog = main.screenshotViewerDialog;
48                         main.screenshotViewerDialog.scrList = slist;
49
50         me.gotoRC(me, 0, 3.1);
51                 me.TD(me, 1, 1.9, e = makeXonoticCheckBoxEx(2, 1, "cl_autoscreenshot", _("Auto screenshot scoreboard")));
52                 me.TD(me, 1, 1, e = makeXonoticButton(_("Refresh"), '0 0 0'));
53                         e.onClick = ScreenshotList_Refresh_Click;
54                         e.onClickEntity = slist;
55
56         /*me.TR(me);
57                 me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, "Filter:"));
58                 me.TD(me, 1, me.columns - 1.5, e = makeXonoticInputBox(0, string_null));
59                         e.onChange = ScreenshotList_Filter_Would_Change;
60                         e.onChangeEntity = slist;
61                         slist.screenshotViewerDialog = main.screenshotViewerDialog;
62                         main.screenshotViewerDialog.scrList = slist;
63                 me.TD(me, 1, 1, e = makeXonoticButton(_("Refresh"), '0 0 0'));
64                         e.onClick = ScreenshotList_Refresh_Click;
65                         e.onClickEntity = slist;*/
66
67         me.gotoRC(me, 1.5, 0);
68                 me.TD(me, me.rows - 2.5, me.columns, slist);
69
70         me.gotoRC(me, slist_height + 1, 0);
71                 me.TD(me, 1, me.columns, e = makeXonoticButton(_("Open in the viewer"), '0 0 0'));
72                         e.onClick = StartScreenshot_Click;
73                         e.onClickEntity = slist;
74 /*
75         me.TR(me);
76                 me.TD(me, me.rows - me.currentRow, me.columns, e = makeXonoticScreenshotImage());
77                         e.showTitle = 0;
78                         me.screenshotImage = e;
79                         slist.screenshotPreview = e;
80                         slist.screenshotBrowserDialog = me;
81 */
82 }
83 #endif