home *** CD-ROM | disk | FTP | other *** search
Wrap
package com.sfs.iavazip; import com.sfs.awt.Picture; import com.sfs.awt.TexturePanel; import com.sfs.awt.treeview.Folder; import com.sfs.awt.treeview.ItemSorter; import com.sfs.awt.treeview.TreeView; import com.sfs.awt.treeview.TreeViewEventObject; import com.sfs.awt.treeview.TreeViewException; import com.sfs.awt.treeview.TreeViewListener; import com.sfs.debug.Debug; import com.sfs.util.Reg; import java.awt.AWTEvent; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dialog; import java.awt.Dimension; import java.awt.FileDialog; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Image; import java.awt.Label; import java.awt.Rectangle; import java.awt.Toolkit; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.WindowEvent; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; import java.util.Enumeration; import java.util.Properties; import java.util.StringTokenizer; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class iavaZip extends Frame implements TreeViewListener, ActionListener, FilenameFilter { boolean dialogOpen; Properties assigments = new Properties(); Properties properties = new Properties(); Image backgroundTexture; Image progressAnimation; Image Logo; // $FF: renamed from: tw com.sfs.awt.treeview.TreeView TreeView field_0; ZipFile zipFile; String zipFileName; ViewerPanel viewerpanel; Label Status; Button bImport; Button bExport; Button bDelete; boolean ZipIsEmpty; TexturePanel LogoPanel; public iavaZip(String var1) { super("iavaZip"); ((Container)this).setLayout(new BorderLayout()); try { this.backgroundTexture = ((Window)this).getToolkit().getImage(this.getClass().getResource("texture.jpg")); } catch (InternalError var14) { System.out.println("No display available for iavaZip.\nDescription: This error occures typically under unix if no display\n(no started X) is available.\nPlease start X and try it again.\n\nSFS Software Gbr"); super.dispose(); System.exit(0); } ((Component)this).prepareImage(this.backgroundTexture, this); this.Logo = ((Window)this).getToolkit().getImage(this.getClass().getResource("logo.gif")); ((Component)this).prepareImage(this.Logo, this); this.progressAnimation = ((Window)this).getToolkit().getImage(this.getClass().getResource("progress.gif")); ((Component)this).prepareImage(this.progressAnimation, this); this.LogoPanel = new TexturePanel(this, this.backgroundTexture); this.LogoPanel.setLayout(new BorderLayout()); this.LogoPanel.add("Center", new Picture(this, this.Logo, false)); TexturePanel var2 = new TexturePanel(this, this.backgroundTexture); ((Container)var2).setLayout(new FlowLayout(0)); Button var3; ((Container)var2).add(var3 = new Button("New")); var3.addActionListener(this); ((Container)var2).add(var3 = new Button("Open")); var3.addActionListener(this); ((Container)var2).add(this.bImport = new Button("Import")); this.bImport.addActionListener(this); if (var1 == null) { this.bImport.setEnabled(false); } ((Container)var2).add(this.bExport = new Button("Extract")); this.bExport.addActionListener(this); if (var1 == null) { this.bExport.setEnabled(false); } ((Container)var2).add(this.bDelete = new Button("Delete")); this.bDelete.addActionListener(this); if (var1 == null) { this.bDelete.setEnabled(false); } ((Container)var2).add(var3 = new Button("About iavaZip")); var3.addActionListener(this); ((Container)var2).add(var3 = new Button("Quit")); var3.addActionListener(this); ((Container)var2).add(var3 = new Button("Help")); var3.addActionListener(this); ((Container)this).add("North", var2); ((Container)this).add(this.viewerpanel = new ViewerPanel(this)); ((Container)this).add(this.LogoPanel); this.viewerpanel.setVisible(false); this.Status = new Label(""); this.Status.setBackground(Color.gray); ((Container)this).add("South", this.Status); ((Component)this).setBackground(Color.lightGray); try { this.showStatus("loading assignments ..."); this.assigments.load(this.getClass().getResourceAsStream("iavaZip.assignments")); this.showStatus("ready"); } catch (IOException var13) { this.showStatus("Error reading property file iavaZip.assignments: " + ((Throwable)var13).getMessage()); } boolean var4 = false; try { this.showStatus("loading properties ..."); this.properties.load(new FileInputStream(System.getProperty("user.home") + File.separator + "iavaZip.properties")); this.showStatus("ready"); } catch (IOException var12) { this.showStatus("iavaZip.properties not found. Create new property file."); var4 = true; } String var5; if ((var5 = this.properties.getProperty("main.window")) == null) { ((Window)this).getToolkit(); Dimension var6 = Toolkit.getDefaultToolkit().getScreenSize(); ((Component)this).setBounds((var6.width - 640) / 2, (var6.height - 480) / 2, 640, 480); } else { StringTokenizer var20 = new StringTokenizer(var5, ","); int var7 = Integer.parseInt(var20.nextToken()); int var8 = Integer.parseInt(var20.nextToken()); int var9 = Integer.parseInt(var20.nextToken()); int var10 = Integer.parseInt(var20.nextToken()); ((Component)this).setBounds(var7, var8, var9, var10); } ((Frame)this).setResizable(true); if (var1 != null) { this.Open(var1); } if (!Reg.isSerialRegcode(this.properties.getProperty("user.Code", "-1"))) { EvaluationDialog var21 = new EvaluationDialog(this); if (!var21.doModal()) { this.dispose(); System.exit(0); } } ((Component)this).enableEvents(96L); } protected void processWindowEvent(WindowEvent var1) { switch (((AWTEvent)var1).getID()) { case 201: this.cleanup(); this.dispose(); return; default: } } public boolean accept(File var1, String var2) { File var3 = new File(var1, var2); if (var3.isDirectory()) { return true; } else { int var4 = var2.lastIndexOf("."); if (var4 != -1) { String var5 = var2.substring(var4 + 1, var2.length()); var5.toLowerCase(); if (var5.equals("zip")) { return true; } } return false; } } protected void cleanup() { if (this.field_0 != null) { this.field_0.removeTreeViewListener(this); ((Container)this).remove(this.field_0); this.field_0 = null; try { if (this.zipFile != null) { this.zipFile.close(); } } catch (IOException var1) { this.showStatus("IOException occured while closing " + this.zipFile.getName()); } this.zipFile = null; System.runFinalization(); System.gc(); } this.viewerpanel.setVisible(false); } public void handleTreeViewEvent(TreeViewEventObject var1) { if ((var1.getAction() == 3 || var1.getAction() == 2) && var1.getClickCount() == 2 && !(var1.getItem() instanceof Folder)) { if (this.LogoPanel != null) { ((Container)this).remove(this.LogoPanel); this.LogoPanel = null; ((Container)this).add(this.viewerpanel); } this.viewerpanel.viewZipEntry((ZipEntry)var1.getItem().getContent()); } } public void actionPerformed(ActionEvent var1) { String var2 = var1.getActionCommand(); if (!this.dialogOpen) { if (var2.equals("New")) { this.dialogOpen = true; FileDialog var3 = new FileDialog(this, "New Zip File", 1); var3.setFilenameFilter(this); ((Window)var3).toFront(); ((Dialog)var3).show(); String var4 = var3.getFile(); if (var4 != null) { String var5 = var3.getDirectory(); Debug.Info("new: " + var5 + var4); try { new FileOutputStream(var5 + var4); } catch (IOException var8) { Debug.Info("IOException occured: " + ((Throwable)var8).getMessage()); ((Throwable)var8).printStackTrace(); this.showStatus("IOException occured: " + ((Throwable)var8).getMessage()); return; } this.Open(var5 + var4); } } else if (var2.equals("Open")) { this.dialogOpen = true; FileDialog var9 = new FileDialog(this, "Load Zip File", 0); var9.setFilenameFilter(this); ((Window)var9).toFront(); ((Dialog)var9).show(); String var15 = var9.getFile(); if (var15 != null) { String var16 = var9.getDirectory(); this.Open(var16 + var15); } } else if (var2.equals("Quit")) { this.dialogOpen = true; this.dispose(); } else if (var2.equals("Extract")) { this.dialogOpen = true; ExtractDialog var10 = new ExtractDialog(this); var10.doModal(); } else if (var2.equals("Help")) { this.dialogOpen = true; InfoDialog var11 = new InfoDialog(this, "help/index.html"); var11.doModal(); ((Window)this).toFront(); } else if (var2.equals("Import")) { this.dialogOpen = true; ImportDialog var12 = new ImportDialog(this); var12.doModal(); } else if (var2.equals("Delete")) { this.dialogOpen = true; DeleteDialog var13 = new DeleteDialog(this); var13.doModal(); } else if (var2.equals("About iavaZip")) { this.dialogOpen = true; About var14 = new About(this); var14.doModal(); } ((Window)this).toFront(); this.dialogOpen = false; } } public void setWaitCursor() { ((Frame)this).setCursor(3); } public static void main(String[] var0) { System.runFinalizersOnExit(true); iavaZip var1 = new iavaZip(var0.length > 0 ? var0[0] : null); ((Window)var1).show(); } protected void processMouseMotionEvent(MouseEvent var1) { } void insertZipEntry(ZipEntry var1) { if (this.field_0 != null) { Object var2 = this.field_0.Root; StringTokenizer var3 = new StringTokenizer(var1.getName(), "/"); while(var3.hasMoreTokens()) { String var4 = var3.nextToken(); if (var3.hasMoreTokens()) { Folder var5 = (Folder)((Folder)var2).lookup(var4); if (var5 == null) { try { var2 = ((Folder)var2).addFolder(var4, (Object)null); } catch (TreeViewException var6) { } } else { var2 = var5; } } else { try { if (var1.isDirectory()) { ((Folder)var2).addFolder(var4, var1); } else { ((Folder)var2).addItem(var4, var1); } } catch (TreeViewException var7) { } } } } } public void showStatus(String var1) { this.Status.setText(var1); } public void dispose() { try { this.cleanup(); Rectangle var1 = ((Component)this).getBounds(); StringBuffer var2 = new StringBuffer(); var2.append(var1.x).append(',').append(var1.y).append(',').append(var1.width).append(',').append(var1.height); this.properties.put("main.window", var2.toString()); FileOutputStream var3 = new FileOutputStream(System.getProperty("user.home") + File.separator + "iavaZip.properties"); this.properties.save(var3, "iavaZip.properties" + System.getProperty("line.separator") + "#DO NOT MAKE CHANGES BY HAND. THIS FILE IS MACHINE GENERATED !"); var3.close(); } catch (IOException var4) { Debug.Info("Unable to change settings."); } super.dispose(); System.exit(0); } protected synchronized void Open(String var1) { this.cleanup(); String var2 = var1.substring(var1.lastIndexOf(File.separatorChar) + 1, var1.length()); this.field_0 = new TreeView(this, var2, (Object)null); this.field_0.setSorter(new ItemSorter()); this.field_0.setBackground(Color.lightGray); ((Container)this).add("West", this.field_0); this.field_0.addTreeViewListener(this); this.field_0.setSize(200, 480); this.bImport.setEnabled(true); ((Container)this).doLayout(); if (this.LogoPanel != null) { this.LogoPanel.doLayout(); } this.zipFileName = var1; File var3 = new File(var1); if (var3.length() == 0L) { this.ZipIsEmpty = true; this.bExport.setEnabled(false); this.bDelete.setEnabled(false); } else { try { this.showStatus("loading zipFile ..."); this.zipFile = new ZipFile(var1); Enumeration var4 = this.zipFile.entries(); while(var4.hasMoreElements()) { ZipEntry var5 = (ZipEntry)var4.nextElement(); this.insertZipEntry(var5); } } catch (IOException var7) { this.cleanup(); ((Container)this).doLayout(); this.showStatus("Error reading file \"" + var1 + "\": " + ((Throwable)var7).getMessage()); return; } this.ZipIsEmpty = false; this.bExport.setEnabled(true); this.bDelete.setEnabled(true); } ((Frame)this).setTitle("iavaZip - " + var1); this.showStatus("ready"); this.field_0.repaint(); } public void setDefaultCursor() { ((Frame)this).setCursor(0); } }