Changeset 133


Ignore:
Timestamp:
12/16/06 16:00:13 (5 years ago)
Author:
jlee
Message:

Resource extraction and Windows testing

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/thestaticvoid/iriverter/AboutDialog.java

    r117 r133  
    3434        private Button dismiss; 
    3535         
     36        public static final String VERSION = "1.0.0"; 
     37         
    3638        public AboutDialog(Shell parent, int style) { 
    3739                super(parent, style); 
     
    5961                 
    6062                Label appName = new Label(shell, SWT.NONE); 
    61                 appName.setText("iriverter " + Config.VERSION); 
     63                appName.setText("iriverter " + VERSION); 
    6264                FontData[] fontData = appName.getFont().getFontData(); 
    6365                fontData[0].setStyle(SWT.BOLD); 
  • trunk/src/org/thestaticvoid/iriverter/ConverterOptions.java

    r117 r133  
    2525 
    2626public class ConverterOptions { 
    27         private static File optionsFile = new File(System.getProperty("user.home") + File.separator + ".iriverter.conf"); 
     27        public static final File CONF_DIR; 
     28        static { 
     29                if (System.getProperty("os.name").indexOf("Windows") >= 0) 
     30                        CONF_DIR = new File(System.getProperty("user.home") + File.separator + "Application Data" + File.separator + "iriverter"); 
     31                else 
     32                        CONF_DIR = new File(System.getProperty("user.home") + File.separator + ".iriverter"); 
     33        } 
     34        public static final File CONF_FILE = new File(CONF_DIR + File.separator + "conf"); 
    2835         
    2936        public static String getOptionsText() { 
    3037                BufferedReader input = null; 
    3138                try { 
    32                         input = new BufferedReader(new FileReader(optionsFile)); 
     39                        input = new BufferedReader(new FileReader(CONF_FILE)); 
    3340                } catch (IOException e) { 
    3441                        // empty 
     
    5360                        Logger.logMessage("Setting: " + option + "=" + setting, Logger.INFO); 
    5461                         
    55                         if (!optionsFile.exists()) 
    56                                 optionsFile.createNewFile(); 
    57  
    58                         BufferedReader input = new BufferedReader(new FileReader(optionsFile)); 
     62                        if (!CONF_FILE.exists()) { 
     63                                CONF_FILE.mkdirs(); 
     64                                CONF_FILE.delete(); 
     65                                CONF_FILE.createNewFile(); 
     66                        } 
     67 
     68                        BufferedReader input = new BufferedReader(new FileReader(CONF_FILE)); 
    5969 
    6070                        StringBuffer options = new StringBuffer(); 
     
    7585                        input.close(); 
    7686 
    77                         PrintWriter output = new PrintWriter(new BufferedWriter(new FileWriter(optionsFile)));                   
     87                        PrintWriter output = new PrintWriter(new BufferedWriter(new FileWriter(CONF_FILE)));                     
    7888                        output.print(options.toString()); 
    7989                        output.close(); 
     
    8797 
    8898                try { 
    89                         BufferedReader input = new BufferedReader(new FileReader(optionsFile)); 
     99                        BufferedReader input = new BufferedReader(new FileReader(CONF_FILE)); 
    90100                        String line; 
    91101 
  • trunk/src/org/thestaticvoid/iriverter/ConverterUI.java

    r117 r133  
    3232import java.io.*; 
    3333import java.util.*; 
     34import java.util.zip.*; 
    3435 
    3536public class ConverterUI implements SelectionListener, CTabFolder2Listener, DropTargetListener { 
     
    6061                shell.setLayout(gridLayout); 
    6162                 
     63                extractResources(); 
    6264                setupMenus(); 
    6365                setupToolBar(); 
     
    301303        } 
    302304         
     305        public void extractResources() { 
     306                ZipInputStream in = new ZipInputStream(getClass().getResourceAsStream("resources.zip")); 
     307                 
     308                try { 
     309                        ZipEntry entry; 
     310                        while ((entry = in.getNextEntry()) != null) { 
     311                                File extractedFile = new File(ConverterOptions.CONF_DIR + File.separator + entry.getName()); 
     312                                if (entry.isDirectory() && !extractedFile.exists()) 
     313                                        extractedFile.mkdirs(); 
     314                                else if (!extractedFile.exists() || entry.getTime() > extractedFile.lastModified()) { 
     315                                        OutputStream out = new FileOutputStream(extractedFile); 
     316                                         
     317                                        int length; 
     318                                        byte[] buffer = new byte[4096]; 
     319                                        while ((length = in.read(buffer)) > 0) 
     320                                                out.write(buffer, 0, length); 
     321                                         
     322                                        out.close(); 
     323                                         
     324                                        extractedFile.setLastModified(entry.getTime()); 
     325                                } 
     326                        } 
     327                } catch (IOException io) { 
     328                        Logger.logException(io); 
     329                         
     330                        MessageBox messageBox = new MessageBox(new Shell(display), SWT.ICON_ERROR | SWT.OK); 
     331                        messageBox.setText("Could Not Extract Resources"); 
     332                        messageBox.setMessage("An error occured while extracting the resources.  Execution will try to continue.  Please see the log for details."); 
     333                        messageBox.open(); 
     334                } 
     335                 
     336                try { 
     337                        in.close(); 
     338                } catch (IOException io) { 
     339                        Logger.logException(io); 
     340                } 
     341        } 
     342         
    303343        public void setupToolBar() {             
    304344                ToolBar toolBar = new ToolBar(shell, SWT.HORIZONTAL | SWT.FLAT); 
     
    482522                } 
    483523                 
    484                 if (e.getSource() == contents) { 
    485                         String index; 
    486                         if (Config.getPackageDataDir().equals(".")) 
    487                                 index = "file://" + System.getProperty("user.dir") + "/doc/html/index.html"; 
    488                         else 
    489                                 index = "file://" + Config.getPackageDataDir() + "/doc/html/index.html"; 
    490                          
    491                         new HelpBrowser(index); 
    492                 } 
     524                if (e.getSource() == contents) 
     525                        new HelpBrowser("file://" + ConverterOptions.CONF_DIR + "/doc/index.html"); 
    493526                 
    494527                if (e.getSource() == logViewer) { 
     
    675708                        new ConverterUI(); 
    676709                } catch (Throwable t) { 
    677                         String message = "An unhandled exception occured: " + t.getClass() + "\n" + t.getMessage() + "\n\n"; 
    678                         StackTraceElement[] st = t.getStackTrace(); 
    679                         for (int i = 0; i < st.length; i++) 
    680                                 message += st[i] + "\n"; 
    681                          
    682                         Logger.logMessage(message, Logger.ERROR); 
     710                        Logger.logException(t); 
    683711                         
    684712                        MessageBox messageBox = new MessageBox(new Shell(Display.getDefault()), SWT.ICON_ERROR | SWT.OK); 
  • trunk/src/org/thestaticvoid/iriverter/Logger.java

    r117 r133  
    3232        private static void openLogFile() { 
    3333                try { 
    34                         output = new PrintWriter(new BufferedWriter(new FileWriter(new File(System.getProperty("user.home") + File.separator + ".iriverter.log")))); 
     34                        output = new PrintWriter(new BufferedWriter(new FileWriter(new File(ConverterOptions.CONF_DIR + File.separator + "log")))); 
    3535                         
    3636                        if (LogViewer.getSingleton() != null) 
    3737                                LogViewer.getSingleton().clear(); 
    3838                         
    39                         logMessage("iriverter " + Config.VERSION + "\n", Logger.INFO); 
     39                        logMessage("iriverter " + AboutDialog.VERSION + "\n", Logger.INFO); 
    4040                        logMessage("Settings:\n" + ConverterOptions.getOptionsText().trim() + "\n", Logger.INFO); 
    4141                } catch (IOException e) { 
     
    6767        } 
    6868         
     69        public static void logException(Throwable t) { 
     70                String message = "An unhandled exception occured: " + t.getClass() + "\n" + t.getMessage() + "\n\n"; 
     71                StackTraceElement[] st = t.getStackTrace(); 
     72                for (int i = 0; i < st.length; i++) 
     73                        message += st[i] + "\n"; 
     74                 
     75                logMessage(message, Logger.ERROR); 
     76        } 
     77         
    6978        public static String getLogText() { 
    7079                InputStream input = null; 
    7180                try { 
    72                         input = new FileInputStream(new File(System.getProperty("user.home") + File.separator + ".iriverter.log")); 
     81                        input = new FileInputStream(new File(ConverterOptions.CONF_DIR + File.separator + "log")); 
    7382                } catch (IOException e) { 
    7483                        // empty 
  • trunk/src/org/thestaticvoid/iriverter/MPlayerPathDialog.java

    r117 r133  
    5757                gridLayout = new GridLayout(); 
    5858                gridLayout.horizontalSpacing = 6; 
    59                 gridLayout.verticalSpacing = 0; 
     59                gridLayout.verticalSpacing = 3; 
    6060                gridLayout.marginHeight = 0; 
    6161                gridLayout.marginWidth = 0; 
     
    7676                gridLayout = new GridLayout(); 
    7777                gridLayout.horizontalSpacing = 6; 
    78                 gridLayout.verticalSpacing = 0; 
     78                gridLayout.verticalSpacing = 3; 
    7979                gridLayout.marginHeight = 0; 
    8080                gridLayout.marginWidth = 0; 
     
    136136                } 
    137137                 
    138                 shell.pack();            
     138                shell.pack(); 
     139                shell.setSize(450, shell.getSize().y); 
    139140                shell.open(); 
    140141                while (!shell.isDisposed()) 
  • trunk/src/org/thestaticvoid/iriverter/Profile.java

    r117 r133  
    3333 
    3434        public static Profile getProfile(String profileName) { 
    35                 return new Profile(new File(Config.getPackageDataDir() + File.separator + "profiles" + File.separator + profileName + ".profile")); 
     35                return new Profile(new File(ConverterOptions.CONF_DIR + File.separator + "profiles" + File.separator + profileName + ".profile")); 
    3636        } 
    3737 
    3838        public static Profile[] getAllProfiles() { 
    39                 String[] profilesStrings = new File(Config.getPackageDataDir() + File.separator + "profiles" + File.separator).list(new ProfileFilter()); 
     39                String[] profilesStrings = new File(ConverterOptions.CONF_DIR + File.separator + "profiles" + File.separator).list(new ProfileFilter()); 
    4040                Profile[] profiles = new Profile[profilesStrings.length]; 
    4141 
    4242                for (int i = 0; i < profiles.length; i++) 
    43                         profiles[i] = new Profile(new File(Config.getPackageDataDir() + File.separator + "profiles" + File.separator + profilesStrings[i])); 
     43                        profiles[i] = new Profile(new File(ConverterOptions.CONF_DIR + File.separator + "profiles" + File.separator + profilesStrings[i])); 
    4444 
    4545                return profiles; 
  • trunk/src/org/thestaticvoid/iriverter/VolumeDialog.java

    r117 r133  
    5656                gridLayout = new GridLayout(); 
    5757                gridLayout.horizontalSpacing = 6; 
    58                 gridLayout.verticalSpacing = 0; 
     58                gridLayout.verticalSpacing = 3; 
    5959                gridLayout.numColumns = 3; 
    6060                filterGroup.setLayout(gridLayout); 
  • trunk/web/iriverter.jnlp

    r122 r133  
    1010                <icon href="iriverter.gif" /> 
    1111                <offline-allowed /> 
     12                <shortcut online="false"> 
     13                        <desktop /> 
     14                        <menu /> 
     15                </shortcut> 
    1216        </information> 
    1317 
Note: See TracChangeset for help on using the changeset viewer.