/** * 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); }