]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_multiplayer_screenshot.c
Merge remote-tracking branch 'origin/master' into terencehill/screenshot_viewer
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_multiplayer_screenshot.c
1 #ifdef INTERFACE
2 CLASS(XonoticScreenshotBrowserTab) EXTENDS(XonoticTab)
3         METHOD(XonoticScreenshotBrowserTab, fill, void(entity))
4         ATTRIB(XonoticScreenshotBrowserTab, title, string, "Screenshot")
5         ATTRIB(XonoticScreenshotBrowserTab, intendedWidth, float, 1)
6         ATTRIB(XonoticScreenshotBrowserTab, rows, float, 22)
7         ATTRIB(XonoticScreenshotBrowserTab, columns, float, 6.5)
8         ATTRIB(XonoticScreenshotBrowserTab, name, string, "ScreenshotBrowser")
9         
10         METHOD(XonoticScreenshotBrowserTab, loadPreviewScreenshot, void(entity, string))
11         ATTRIB(XonoticScreenshotBrowserTab, screenshotImage, entity, NULL)
12         ATTRIB(XonoticScreenshotBrowserTab, currentScrPath, string, string_null)
13 ENDCLASS(XonoticScreenshotBrowserTab)
14 entity makeXonoticScreenshotBrowserTab();
15 #endif
16
17 #ifdef IMPLEMENTATION
18 entity makeXonoticScreenshotBrowserTab()
19 {
20         entity me;
21         me = spawnXonoticScreenshotBrowserTab();
22         me.configureDialog(me);
23         return me;
24 }
25 void XonoticScreenshotBrowserTab_loadPreviewScreenshot(entity me, string scrImage)
26 {
27         if (me.currentScrPath == scrImage)
28                 return;
29         if (me.currentScrPath)
30                 strunzone(me.currentScrPath);
31         me.currentScrPath = strzone(scrImage);
32         me.screenshotImage.load(me.screenshotImage, me.currentScrPath);
33 }
34 void XonoticScreenshotBrowserTab_fill(entity me)
35 {
36         entity e, slist;
37         slist = makeXonoticScreenshotList();
38         float slist_height = me.rows - 2;
39         me.TR(me);
40                 me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, "Filter:"));
41                 me.TD(me, 1, me.columns - 1.5, e = makeXonoticInputBox(0, string_null));
42                         e.onChange = ScreenshotList_Filter_Would_Change;
43                         e.onChangeEntity = slist;
44                         slist.screenshotViewerDialog = main.screenshotViewerDialog;
45                         main.screenshotViewerDialog.scrList = slist;
46                 me.TD(me, 1, 1, e = makeXonoticButton(_("Refresh"), '0 0 0'));
47                         e.onClick = ScreenshotList_Refresh_Click;
48                         e.onClickEntity = slist;
49         me.TR(me);
50                 me.TD(me, slist_height, me.columns, slist);
51
52         me.gotoRC(me, slist_height + 1, 0);
53                 me.TD(me, 1, me.columns, e = makeXonoticButton(_("Open in the viewer"), '0 0 0'));
54                         e.onClick = StartScreenshot_Click;
55                         e.onClickEntity = slist;
56 /*
57         me.TR(me);
58                 me.TD(me, me.rows - me.currentRow, me.columns, e = makeXonoticScreenshotImage());
59                         e.showTitle = 0;
60                         me.screenshotImage = e;
61                         slist.screenshotPreview = e;
62                         slist.screenshotBrowserDialog = me;
63 */
64 }
65 #endif