/**
   * Fired when a control is clicked. This is the equivalent of
   * ActionListener.actionPerformed(ActionEvent e).
   */
  protected void actionPerformed(GuiButton par1GuiButton) {
    if (par1GuiButton.enabled) {
      if (par1GuiButton.id == 5) {
        File var2 =
            GuiScreenTemporaryResourcePackSelectSelectionList.func_110510_a(this.field_110346_c)
                .func_110612_e();
        String var3 = var2.getAbsolutePath();

        if (Util.func_110647_a() == EnumOS.MACOS) {
          try {
            this.mc.getLogAgent().logInfo(var3);
            Runtime.getRuntime().exec(new String[] {"/usr/bin/open", var3});
            return;
          } catch (IOException var9) {
            var9.printStackTrace();
          }
        } else if (Util.func_110647_a() == EnumOS.WINDOWS) {
          String var4 = String.format("cmd.exe /C start \"Open file\" \"%s\"", new Object[] {var3});

          try {
            Runtime.getRuntime().exec(var4);
            return;
          } catch (IOException var8) {
            var8.printStackTrace();
          }
        }

        boolean var10 = false;

        try {
          Class var5 = Class.forName("java.awt.Desktop");
          Object var6 =
              var5.getMethod("getDesktop", new Class[0]).invoke((Object) null, new Object[0]);
          var5.getMethod("browse", new Class[] {URI.class})
              .invoke(var6, new Object[] {var2.toURI()});
        } catch (Throwable var7) {
          var7.printStackTrace();
          var10 = true;
        }

        if (var10) {
          this.mc.getLogAgent().logInfo("Opening via system class!");
          Sys.openURL("file://" + var3);
        }
      } else if (par1GuiButton.id == 6) {
        this.mc.displayGuiScreen(this.field_110347_a);
      } else {
        this.field_110346_c.actionPerformed(par1GuiButton);
      }
    }
  }
  /** Draws the screen and all the components in it. */
  public void drawScreen(int par1, int par2, float par3) {
    this.field_110346_c.drawScreen(par1, par2, par3);

    if (this.refreshTimer <= 0) {
      GuiScreenTemporaryResourcePackSelectSelectionList.func_110510_a(this.field_110346_c)
          .func_110611_a();
      this.refreshTimer = 20;
    }

    this.drawCenteredString(
        this.fontRenderer, I18n.func_135053_a("resourcePack.title"), this.width / 2, 16, 16777215);
    this.drawCenteredString(
        this.fontRenderer,
        I18n.func_135053_a("resourcePack.folderInfo"),
        this.width / 2 - 77,
        this.height - 26,
        8421504);
    super.drawScreen(par1, par2, par3);
  }