]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/dialog_multiplayer_media_screenshot_viewer.c
Merge branch 'Mario/qc_updates' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_multiplayer_media_screenshot_viewer.c
diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_media_screenshot_viewer.c b/qcsrc/menu/xonotic/dialog_multiplayer_media_screenshot_viewer.c
deleted file mode 100644 (file)
index 146f496..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-#ifdef INTERFACE
-CLASS(XonoticScreenshotViewerDialog) EXTENDS(XonoticDialog)
-       METHOD(XonoticScreenshotViewerDialog, fill, void(entity))
-       METHOD(XonoticScreenshotViewerDialog, keyDown, float(entity, float, float, float))
-       METHOD(XonoticScreenshotViewerDialog, loadScreenshot, void(entity, string))
-       METHOD(XonoticScreenshotViewerDialog, close, void(entity))
-       ATTRIB(XonoticScreenshotViewerDialog, title, string, "Screenshot Viewer")
-       ATTRIB(XonoticScreenshotViewerDialog, name, string, "ScreenshotViewer")
-       ATTRIB(XonoticScreenshotViewerDialog, intendedWidth, float, 1)
-       ATTRIB(XonoticScreenshotViewerDialog, rows, float, 25)
-       ATTRIB(XonoticScreenshotViewerDialog, columns, float, 4)
-       ATTRIB(XonoticScreenshotViewerDialog, color, vector, SKINCOLOR_DIALOG_SCREENSHOTVIEWER)
-       ATTRIB(XonoticScreenshotViewerDialog, scrList, entity, NULL)
-       ATTRIB(XonoticScreenshotViewerDialog, screenshotImage, entity, NULL)
-       ATTRIB(XonoticScreenshotViewerDialog, slideShowButton, entity, NULL)
-       ATTRIB(XonoticScreenshotViewerDialog, currentScrPath, string, string_null)
-ENDCLASS(XonoticScreenshotViewerDialog)
-#endif
-
-#ifdef IMPLEMENTATION
-float music_playlist_index_backup;
-void XonoticScreenshotViewerDialog_loadScreenshot(entity me, string scrImage)
-{
-       // disable music as it can lag depending on image loading time
-       if(!cvar("menu_screenshotviewer_enablemusic"))
-       if(cvar("music_playlist_index") != 999) // if the playlist isn't paused
-       {
-               // pause music
-               if(cvar("music_playlist_index") != -1)
-               {
-                       music_playlist_index_backup = cvar("music_playlist_index");
-                       cvar_set("music_playlist_sampleposition0", "0");
-                       cvar_set("music_playlist_index", "999");
-               }
-               else
-                       localcmd("\ncd pause\n");
-       }
-
-       if (me.currentScrPath == scrImage)
-               return;
-       if (me.currentScrPath)
-               strunzone(me.currentScrPath);
-       me.currentScrPath = strzone(scrImage);
-       me.screenshotImage.load(me.screenshotImage, me.currentScrPath);
-       me.frame.setText(me.frame, me.screenshotImage.screenshotTitle);
-}
-void prevScreenshot_Click(entity btn, entity me)
-{
-       me.scrList.goScreenshot(me.scrList, -1);
-}
-void nextScreenshot_Click(entity btn, entity me)
-{
-       me.scrList.goScreenshot(me.scrList, +1);
-}
-void increaseZoom_Click(entity btn, entity me)
-{
-       me.screenshotImage.setZoom(me.screenshotImage, -2, FALSE);
-}
-void decreaseZoom_Click(entity btn, entity me)
-{
-       me.screenshotImage.setZoom(me.screenshotImage, -1/2, FALSE);
-}
-void resetZoom_Click(entity btn, entity me)
-{
-       me.screenshotImage.setZoom(me.screenshotImage, 0, FALSE);
-}
-void toggleSlideShow_Click(entity btn, entity me)
-{
-       if (me.slideShowButton.forcePressed)
-       {
-               me.scrList.stopSlideShow(me.scrList);
-               me.slideShowButton.forcePressed = 0;
-       }
-       else
-       {
-               me.scrList.startSlideShow(me.scrList);
-               me.slideShowButton.forcePressed = 1;
-       }
-}
-float XonoticScreenshotViewerDialog_keyDown(entity me, float key, float ascii, float shift)
-{
-       switch(key)
-       {
-               case K_KP_LEFTARROW:
-               case K_LEFTARROW:
-                       me.scrList.goScreenshot(me.scrList, -1);
-                       return 1;
-               case K_KP_RIGHTARROW:
-               case K_RIGHTARROW:
-                       me.scrList.goScreenshot(me.scrList, +1);
-                       return 1;
-               case K_KP_ENTER:
-               case K_ENTER:
-               case K_SPACE:
-                       // we cannot use SPACE/ENTER directly, as in a dialog they are needed
-                       // to press buttons while browsing with only the keyboard
-                       if (shift & S_CTRL)
-                       {
-                               toggleSlideShow_Click(world, me);
-                               return 1;
-                       }
-                       return SUPER(XonoticScreenshotViewerDialog).keyDown(me, key, ascii, shift);
-               default:
-                       if (key == K_MWHEELUP || ascii == '+')
-                       {
-                               me.screenshotImage.setZoom(me.screenshotImage, -2, (key == K_MWHEELUP));
-                               return 1;
-                       }
-                       else if (key == K_MWHEELDOWN || ascii == '-')
-                       {
-                               me.screenshotImage.setZoom(me.screenshotImage, -1/2, (key == K_MWHEELDOWN));
-                               return 1;
-                       }
-                       if (me.scrList.keyDown(me.scrList, key, ascii, shift))
-                       {
-                               // keyDown has already changed the selected item
-                               me.scrList.goScreenshot(me.scrList, 0);
-                               return 1;
-                       }
-                       return SUPER(XonoticScreenshotViewerDialog).keyDown(me, key, ascii, shift);
-       }
-}
-void XonoticScreenshotViewerDialog_close(entity me)
-{
-       // resume music
-       if(!cvar("menu_screenshotviewer_enablemusic"))
-       if(cvar("music_playlist_index") == 999)
-       {
-               cvar_set("music_playlist_index", ftos(music_playlist_index_backup));
-       }
-       else
-               localcmd("\ncd resume\n");
-
-       me.scrList.stopSlideShow(me.scrList);
-       me.slideShowButton.forcePressed = 0;
-       SUPER(XonoticScreenshotViewerDialog).close(me);
-}
-void XonoticScreenshotViewerDialog_fill(entity me)
-{
-       entity e;
-       me.TR(me);
-               me.TD(me, me.rows - 1, me.columns, e = makeXonoticScreenshotImage());
-                       e.showTitle = 0; // dialog title is enough
-                       me.screenshotImage = e;
-       me.gotoRC(me, me.rows - 1, 0);
-               me.TDempty(me, 1/20 * me.columns);
-               me.TD(me, 1, 1/20 * me.columns, e = makeXonoticButton("-", '0 0 0'));
-                       e.onClick = decreaseZoom_Click;
-                       e.onClickEntity = me;
-               me.TD(me, 1, 1/20 * me.columns, e = makeXonoticButton("+", '0 0 0'));
-                       e.onClick = increaseZoom_Click;
-                       e.onClickEntity = me;
-               me.TD(me, 1, 2/20 * me.columns, e = makeXonoticButton(_("Reset"), '0 0 0'));
-                       e.onClick = resetZoom_Click;
-                       e.onClickEntity = me;
-
-               me.TDempty(me, 2/20 * me.columns);
-               me.TD(me, 1, 3/20 * me.columns, e = makeXonoticButton(_("Previous"), '0 0 0'));
-                       e.onClick = prevScreenshot_Click;
-                       e.onClickEntity = me;
-               me.TD(me, 1, 3/20 * me.columns, e = makeXonoticButton(_("Next"), '0 0 0'));
-                       e.onClick = nextScreenshot_Click;
-                       e.onClickEntity = me;
-
-               me.TDempty(me, 2/20 * me.columns);
-               me.TD(me, 1, 4/20 * me.columns, e = makeXonoticButton(_("Slide show"), '0 0 0'));
-                       e.onClick = toggleSlideShow_Click;
-                       e.onClickEntity = me;
-                       me.slideShowButton = e;
-}
-#endif