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