package ca.canucksoftware.themebuilder; import javax.swing.JFileChooser; import java.io.File; import java.util.List; public class AddFile extends javax.swing.JDialog { public FileEntry item; public String version; public File prevDir; public AddFile(java.awt.Frame parent, FileEntry curr, String currVersion, List<String> versions, String currCategory) { super(parent); initComponents(); if(curr!=null) { setTitle("Edit Entry"); jButton2.setText("OK"); item = curr; jTextField1.setText(item.file.getPath()); jTextField2.setText(item.dest); for(int i=0; i<jComboBox1.getItemCount(); i++) { String cat = ((String) jComboBox1.getItemAt(i)).toLowerCase().replaceAll(" ", "_"); if(cat.equals(curr.category)) { jComboBox1.setSelectedIndex(i); break; } } } else { for(int i=0; i<jComboBox1.getItemCount(); i++) { String cat = ((String) jComboBox1.getItemAt(i)).toLowerCase().replaceAll(" ", "_"); if(cat.equals(currCategory)) { jComboBox1.setSelectedIndex(i); break; } } item = new FileEntry(); } version = currVersion; for(int i=0; i<versions.size(); i++) { jComboBox2.addItem("webOS " + versions.get(i)); } jComboBox2.setSelectedItem("webOS " + version); getContentPane().requestFocus(); } private String formatDest(String path) { String result = null; result = path.replace("\\", "/"); if(!result.startsWith("/")) result = "/" + result; return result; } private File loadFileChooser() { JFileChooser fc = new JFileChooser(); //Create a file chooser if(prevDir!=null) fc.setCurrentDirectory(prevDir); fc.setAcceptAllFileFilterUsed(true); fc.setMultiSelectionEnabled(false); fc.setDialogTitle(""); if (fc.showDialog(null, "Select") == JFileChooser.APPROVE_OPTION) { prevDir = fc.getSelectedFile().getParentFile(); return fc.getSelectedFile(); } else { return null; } } public void closeAddContent() { dispose(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jLayeredPane1 = new javax.swing.JLayeredPane(); jLayeredPane2 = new javax.swing.JLayeredPane(); jButton3 = new javax.swing.JButton(); jTextField1 = new javax.swing.JTextField(); jComboBox1 = new javax.swing.JComboBox(); jComboBox2 = new javax.swing.JComboBox(); jLabel4 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jTextField2 = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); jButton2 = new javax.swing.JButton(); jLabel3 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(ca.canucksoftware.themebuilder.WebOSThemeBuilderApp.class).getContext().getResourceMap(AddFile.class); setTitle(resourceMap.getString("title")); // NOI18N setBackground(resourceMap.getColor("transfer.background")); // NOI18N setForeground(resourceMap.getColor("transfer.foreground")); // NOI18N setIconImage(null); setModal(true); setName("transfer"); // NOI18N setResizable(false); addWindowListener(new java.awt.event.WindowAdapter() { public void windowActivated(java.awt.event.WindowEvent evt) { formWindowActivated(evt); } public void windowClosed(java.awt.event.WindowEvent evt) { formWindowClosed(evt); } public void windowOpened(java.awt.event.WindowEvent evt) { formWindowOpened(evt); } }); jLayeredPane1.setName("jLayeredPane1"); // NOI18N jLayeredPane2.setBorder(javax.swing.BorderFactory.createLineBorder(resourceMap.getColor("jLayeredPane2.border.lineColor"))); // NOI18N jLayeredPane2.setName("jLayeredPane2"); // NOI18N jButton3.setFont(resourceMap.getFont("jButton3.font")); // NOI18N jButton3.setText(resourceMap.getString("jButton3.text")); // NOI18N jButton3.setName("jButton3"); // NOI18N jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton3ActionPerformed(evt); } }); jButton3.setBounds(260, 140, 79, 25); jLayeredPane2.add(jButton3, javax.swing.JLayeredPane.DEFAULT_LAYER); jTextField1.setText(resourceMap.getString("jTextField1.text")); // NOI18N jTextField1.setFocusable(false); jTextField1.setName("jTextField1"); // NOI18N jTextField1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jTextField1MouseClicked(evt); } public void mousePressed(java.awt.event.MouseEvent evt) { jTextField1MousePressed(evt); } }); jTextField1.setBounds(130, 10, 300, 22); jLayeredPane2.add(jTextField1, javax.swing.JLayeredPane.DEFAULT_LAYER); jComboBox1.setMaximumRowCount(13); jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "App Icons", "App Launcher", "Applications", "Boot Logo", "Enyo Widgets", "Exhibition", "Just Type", "Keyboard", "Lock Screen", "Quick Launcher", "Status Bar", "System Menus", "Wallpapers" })); jComboBox1.setSelectedIndex(2); jComboBox1.setName("jComboBox1"); // NOI18N jComboBox1.setBounds(130, 70, 180, 22); jLayeredPane2.add(jComboBox1, javax.swing.JLayeredPane.DEFAULT_LAYER); jComboBox2.setName("jComboBox2"); // NOI18N jComboBox2.setBounds(130, 100, 180, 22); jLayeredPane2.add(jComboBox2, javax.swing.JLayeredPane.DEFAULT_LAYER); jLabel4.setFont(resourceMap.getFont("jLabel4.font")); // NOI18N jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N jLabel4.setName("jLabel4"); // NOI18N jLabel4.setBounds(20, 70, 110, 20); jLayeredPane2.add(jLabel4, javax.swing.JLayeredPane.DEFAULT_LAYER); jLabel2.setFont(resourceMap.getFont("jLabel2.font")); // NOI18N jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N jLabel2.setName("jLabel2"); // NOI18N jLabel2.setBounds(20, 10, 50, 20); jLayeredPane2.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER); jTextField2.setText(resourceMap.getString("jTextField2.text")); // NOI18N jTextField2.setName("jTextField2"); // NOI18N jTextField2.setBounds(130, 40, 300, 22); jLayeredPane2.add(jTextField2, javax.swing.JLayeredPane.DEFAULT_LAYER); jLabel5.setFont(resourceMap.getFont("jLabel5.font")); // NOI18N jLabel5.setText(resourceMap.getString("jLabel5.text")); // NOI18N jLabel5.setName("jLabel5"); // NOI18N jLabel5.setBounds(20, 100, 110, 20); jLayeredPane2.add(jLabel5, javax.swing.JLayeredPane.DEFAULT_LAYER); jButton2.setFont(resourceMap.getFont("jButton2.font")); // NOI18N jButton2.setText(resourceMap.getString("jButton2.text")); // NOI18N jButton2.setName("jButton2"); // NOI18N jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); jButton2.setBounds(100, 140, 140, 25); jLayeredPane2.add(jButton2, javax.swing.JLayeredPane.DEFAULT_LAYER); jLabel3.setFont(resourceMap.getFont("jLabel3.font")); // NOI18N jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N jLabel3.setName("jLabel3"); // NOI18N jLabel3.setBounds(20, 40, 100, 20); jLayeredPane2.add(jLabel3, javax.swing.JLayeredPane.DEFAULT_LAYER); jLayeredPane2.setBounds(10, 10, 450, 180); jLayeredPane1.add(jLayeredPane2, javax.swing.JLayeredPane.DEFAULT_LAYER); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 470, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE) ); pack(); }// </editor-fold>//GEN-END:initComponents private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened }//GEN-LAST:event_formWindowOpened private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated }//GEN-LAST:event_formWindowActivated private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed }//GEN-LAST:event_formWindowClosed private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed if(jTextField1.getText().length()>0 && jTextField2.getText().length()>0) { item.dest = formatDest(jTextField2.getText().trim()); item.file = new File(jTextField1.getText()); item.category = ((String) jComboBox1.getSelectedItem()).toLowerCase().replaceAll(" ", "_"); version = ((String) jComboBox2.getSelectedItem()).replace("webOS ", ""); closeAddContent(); } }//GEN-LAST:event_jButton2ActionPerformed private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed closeAddContent(); }//GEN-LAST:event_jButton3ActionPerformed private void jTextField1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextField1MouseClicked }//GEN-LAST:event_jTextField1MouseClicked private void jTextField1MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextField1MousePressed File tmp = loadFileChooser(); if(tmp!=null) { jTextField1.setText(tmp.getPath()); } getContentPane().requestFocus(); }//GEN-LAST:event_jTextField1MousePressed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JComboBox jComboBox1; private javax.swing.JComboBox jComboBox2; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLayeredPane jLayeredPane1; private javax.swing.JLayeredPane jLayeredPane2; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField2; // End of variables declaration//GEN-END:variables }