]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Do not display the preview if there isn't any screenshot in the list
authorterencehill <piuntn@gmail.com>
Tue, 10 Aug 2010 16:06:32 +0000 (18:06 +0200)
committerterencehill <piuntn@gmail.com>
Tue, 10 Aug 2010 16:06:32 +0000 (18:06 +0200)
Also clean something up

gfx/transparent.tga [new file with mode: 0644]
qcsrc/menu/xonotic/dialog_multiplayer_screenshot.c
qcsrc/menu/xonotic/dialog_multiplayer_screenshot_screenshotviewer.c
qcsrc/menu/xonotic/screenshotlist.c

diff --git a/gfx/transparent.tga b/gfx/transparent.tga
new file mode 100644 (file)
index 0000000..9fabe89
Binary files /dev/null and b/gfx/transparent.tga differ
index 86fbaf89dc7b0b81d7eaf98f081a329e9a458b90..f1a3dbe9a1c3ec87d7af85d858becfb0db7707da 100644 (file)
@@ -9,7 +9,6 @@ CLASS(XonoticScreenshotBrowserTab) EXTENDS(XonoticTab)
        
        METHOD(XonoticScreenshotBrowserTab, loadPreviewScreenshot, void(entity, string))
        ATTRIB(XonoticScreenshotBrowserTab, screenshotImage, entity, NULL)
-       ATTRIB(XonoticScreenshotBrowserTab, currentScrName, string, string_null)
        ATTRIB(XonoticScreenshotBrowserTab, currentScrPath, string, string_null)
 ENDCLASS(XonoticScreenshotBrowserTab)
 entity makeXonoticScreenshotBrowserTab();
@@ -27,18 +26,15 @@ void XonoticScreenshotBrowserTab_loadPreviewScreenshot(entity me, string scrImag
 {
        if (me.currentScrPath)
                strunzone(me.currentScrPath);
+       if (scrImage == "")
+               scrImage = "/gfx/transparent";
        me.currentScrPath = strzone(scrImage);
        me.screenshotImage.configureImage(me.screenshotImage, me.currentScrPath);
        me.screenshotImage.updateAspect(me.screenshotImage);
-
-       if (me.currentScrName)
-               strunzone(me.currentScrName);
-       me.currentScrName = strzone(substring(scrImage, 13, strlen(scrImage) - 13));
 }
 void XonoticScreenshotBrowserTab_fill(entity me)
 {
        entity e, btn, slist;
-       me.TR(me);
        slist = makeXonoticScreenshotList();
        me.TR(me);
                me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, "Filter:"));
@@ -52,13 +48,14 @@ void XonoticScreenshotBrowserTab_fill(entity me)
                        slist.screenshotViewerDialog = main.screenshotViewerDialog;
                        main.screenshotViewerDialog.scrList = slist;
        me.TR(me);
-               me.TD(me, me.rows - 4 - 11, me.columns, slist);
-       me.gotoRC(me, me.rows - 2 - 11, 0);
-               me.TD(me, 1, me.columns, e = makeXonoticButton("View", '0 0 0'));
+               me.TD(me, 8, me.columns, slist);
+       me.gotoRC(me, 9, 0);
+               me.TD(me, 1, me.columns, e = makeXonoticButton("Open in the viewer", '0 0 0'));
                        e.onClick = StartScreenshot_Click;
                        e.onClickEntity = slist;
-       me.gotoRC(me, me.rows - 1 - 11, 0);
-               me.TD(me, 12, me.columns, e = makeXonoticImage(string_null, -1));
+       me.TR(me);
+               me.TD(me, me.rows - 10, me.columns, e = makeXonoticImage(string_null, -1));
+                       e.src = "/gfx/transparent"; // in case there isn't any screenshot to show
                        me.screenshotImage = e;
                        slist.screenshotPreview = e;
                        slist.screenshotBrowserDialog = me;
index 706b426a72f83c2c38d39e9a04aa430c782e8d8b..cf2c1bb507c928583de3c7de5074ad9faf281ab4 100644 (file)
@@ -67,9 +67,9 @@ void XonoticScreenshotViewerDialog_fill(entity me)
 
        me.TR(me);
                me.TD(me, me.rows - 1, me.columns, e = makeXonoticImage(string_null, -1));
-               me.screenshotImage = e;
+                       me.screenshotImage = e;
                me.TD(me, 1, me.columns, e = makeXonoticTextLabel(0.5, ""));
-               me.titleLabel = e;
+                       me.titleLabel = e;
        me.gotoRC(me, me.rows - 1, 0);
                me.TD(me, 1, me.columns/2, e = makeXonoticButton("Previous", '0 0 0'));
                        e.onClick = prevScreenshot_Click;
index e7b45c00f441a09022151e66a70a46f4c49bac63..9b639242e750743e51f97bb868a1492afb0281f2 100644 (file)
@@ -155,7 +155,10 @@ void ScreenshotList_Filter_Change(entity box, entity me)
                me.filterString = string_null;
 
        me.getScreenshots(me);
-       me.setSelected(me, 0); //alway select the first element after a new search
+       if (me.nItems <= 0)
+               me.screenshotBrowserDialog.loadPreviewScreenshot(me.screenshotBrowserDialog, "");
+       else
+               me.setSelected(me, 0); //always select the first element after a new search
 }
 
 void XonoticScreenshotList_goScreenshot(entity me, float d)