|
@@ -0,0 +1,441 @@
|
|
|
+/*
|
|
|
+ * To change this license header, choose License Headers in Project Properties.
|
|
|
+ * To change this template file, choose Tools | Templates
|
|
|
+ * and open the template in the editor.
|
|
|
+ */
|
|
|
+
|
|
|
+package de.nplusc.izc.izpl.plugins.gameradio;
|
|
|
+
|
|
|
+import de.nplusc.izc.tools.baseTools.Messagers;
|
|
|
+import java.io.File;
|
|
|
+import java.io.IOException;
|
|
|
+import javax.swing.JOptionPane;
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ * @author iZc <nplusc.de>
|
|
|
+ */
|
|
|
+public class RadioConfig extends javax.swing.JFrame
|
|
|
+{
|
|
|
+ RadioManager mgr;
|
|
|
+ /**
|
|
|
+ * Creates new form RadioConfig
|
|
|
+ * @param r Reference for the radioManager that opened this UI
|
|
|
+ */
|
|
|
+ public RadioConfig(RadioManager r)
|
|
|
+ {
|
|
|
+ mgr=r;
|
|
|
+ initComponents();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 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.
|
|
|
+ */
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
|
|
+ private void initComponents()
|
|
|
+ {
|
|
|
+
|
|
|
+ bgrMode = new javax.swing.ButtonGroup();
|
|
|
+ rbSymlinked = new javax.swing.JRadioButton();
|
|
|
+ rbCopyMode = new javax.swing.JRadioButton();
|
|
|
+ rbFeedbackMode = new javax.swing.JRadioButton();
|
|
|
+ jLabel1 = new javax.swing.JLabel();
|
|
|
+ txfTracks = new javax.swing.JTextField();
|
|
|
+ cbxMerge = new javax.swing.JCheckBox();
|
|
|
+ jLabel2 = new javax.swing.JLabel();
|
|
|
+ jLabel3 = new javax.swing.JLabel();
|
|
|
+ txfStations = new javax.swing.JTextField();
|
|
|
+ cbxFolders = new javax.swing.JCheckBox();
|
|
|
+ btnRadioize = new javax.swing.JButton();
|
|
|
+ jScrollPane1 = new javax.swing.JScrollPane();
|
|
|
+ txaCString = new javax.swing.JTextArea();
|
|
|
+ jLabel4 = new javax.swing.JLabel();
|
|
|
+ btnGetConfig = new javax.swing.JButton();
|
|
|
+ jButton1 = new javax.swing.JButton();
|
|
|
+ txfBasePath = new javax.swing.JTextField();
|
|
|
+ txfStationNameBase = new javax.swing.JTextField();
|
|
|
+ jLabel5 = new javax.swing.JLabel();
|
|
|
+
|
|
|
+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
|
|
+
|
|
|
+ bgrMode.add(rbSymlinked);
|
|
|
+ rbSymlinked.setText("Symlinked Mode");
|
|
|
+ rbSymlinked.addActionListener(new java.awt.event.ActionListener()
|
|
|
+ {
|
|
|
+ public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
+ {
|
|
|
+ rbSymlinkedActionPerformed(evt);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ bgrMode.add(rbCopyMode);
|
|
|
+ rbCopyMode.setText("Copy Mode");
|
|
|
+ rbCopyMode.addActionListener(new java.awt.event.ActionListener()
|
|
|
+ {
|
|
|
+ public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
+ {
|
|
|
+ rbCopyModeActionPerformed(evt);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ bgrMode.add(rbFeedbackMode);
|
|
|
+ rbFeedbackMode.setText("Feedback Mode");
|
|
|
+ rbFeedbackMode.setEnabled(false);
|
|
|
+
|
|
|
+ jLabel1.setText("Mode");
|
|
|
+
|
|
|
+ cbxMerge.setText("Merge Tracks");
|
|
|
+
|
|
|
+ jLabel2.setText("Tracks");
|
|
|
+
|
|
|
+ jLabel3.setText("Stations");
|
|
|
+
|
|
|
+ cbxFolders.setText("Folders for stations?");
|
|
|
+ cbxFolders.addActionListener(new java.awt.event.ActionListener()
|
|
|
+ {
|
|
|
+ public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
+ {
|
|
|
+ cbxFoldersActionPerformed(evt);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ btnRadioize.setText("Radio-ize!");
|
|
|
+ btnRadioize.addActionListener(new java.awt.event.ActionListener()
|
|
|
+ {
|
|
|
+ public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
+ {
|
|
|
+ btnRadioizeActionPerformed(evt);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ txaCString.setColumns(20);
|
|
|
+ txaCString.setRows(5);
|
|
|
+ jScrollPane1.setViewportView(txaCString);
|
|
|
+
|
|
|
+ jLabel4.setText("Config-String:");
|
|
|
+
|
|
|
+ btnGetConfig.setText("get Configstring");
|
|
|
+ btnGetConfig.addActionListener(new java.awt.event.ActionListener()
|
|
|
+ {
|
|
|
+ public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
+ {
|
|
|
+ btnGetConfigActionPerformed(evt);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ jButton1.setText("BasePath select");
|
|
|
+
|
|
|
+ jLabel5.setText("Station baseName");
|
|
|
+
|
|
|
+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
|
|
+ getContentPane().setLayout(layout);
|
|
|
+ layout.setHorizontalGroup(
|
|
|
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addGap(34, 34, 34)
|
|
|
+ .addComponent(jLabel1))
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addGap(26, 26, 26)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ .addComponent(rbSymlinked)
|
|
|
+ .addComponent(rbCopyMode)
|
|
|
+ .addComponent(rbFeedbackMode))))
|
|
|
+ .addGap(0, 0, Short.MAX_VALUE))
|
|
|
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
|
|
+ .addGap(0, 0, Short.MAX_VALUE)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addGap(11, 11, 11)
|
|
|
+ .addComponent(jLabel2)
|
|
|
+ .addGap(36, 36, 36)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
|
|
+ .addComponent(txfStations)
|
|
|
+ .addComponent(txfTracks, javax.swing.GroupLayout.PREFERRED_SIZE, 111, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
|
+ .addComponent(jLabel3))
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ .addComponent(cbxMerge, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addComponent(cbxFolders)))
|
|
|
+ .addComponent(jLabel4)
|
|
|
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addComponent(btnRadioize, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
+ .addComponent(btnGetConfig, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addComponent(txfBasePath)
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
+ .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 54, Short.MAX_VALUE))))
|
|
|
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
|
|
+ .addGap(0, 15, Short.MAX_VALUE)
|
|
|
+ .addComponent(jLabel5)
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 19, Short.MAX_VALUE)
|
|
|
+ .addComponent(txfStationNameBase, javax.swing.GroupLayout.PREFERRED_SIZE, 198, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addGap(79, 79, 79)))
|
|
|
+ .addContainerGap())
|
|
|
+ );
|
|
|
+ layout.setVerticalGroup(
|
|
|
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
+ .addGroup(layout.createSequentialGroup()
|
|
|
+ .addGap(5, 5, 5)
|
|
|
+ .addComponent(jLabel1)
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
|
|
+ .addComponent(rbSymlinked)
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
|
|
+ .addComponent(rbCopyMode)
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
|
|
+ .addComponent(rbFeedbackMode)
|
|
|
+ .addGap(18, 18, 18)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
|
+ .addComponent(jLabel3)
|
|
|
+ .addComponent(txfStations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addComponent(cbxFolders))
|
|
|
+ .addGap(18, 18, 18)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
|
+ .addComponent(txfTracks, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addComponent(cbxMerge)
|
|
|
+ .addComponent(jLabel2))
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
|
+ .addComponent(txfStationNameBase, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addComponent(jLabel5))
|
|
|
+ .addGap(12, 12, 12)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
|
+ .addComponent(txfBasePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addComponent(jButton1))
|
|
|
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
|
|
+ .addComponent(btnRadioize, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addComponent(btnGetConfig))
|
|
|
+ .addGap(18, 18, 18)
|
|
|
+ .addComponent(jLabel4)
|
|
|
+ .addGap(3, 3, 3)
|
|
|
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
|
+ );
|
|
|
+
|
|
|
+ pack();
|
|
|
+ }// </editor-fold>//GEN-END:initComponents
|
|
|
+
|
|
|
+ private boolean previousSelectionState=false;
|
|
|
+
|
|
|
+ private void cbxFoldersActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_cbxFoldersActionPerformed
|
|
|
+ {//GEN-HEADEREND:event_cbxFoldersActionPerformed
|
|
|
+ if(cbxMerge.isEnabled())
|
|
|
+ {
|
|
|
+ previousSelectionState=cbxMerge.isSelected();
|
|
|
+ cbxMerge.setSelected(true);
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ cbxMerge.setSelected(previousSelectionState);
|
|
|
+ }
|
|
|
+ cbxMerge.setEnabled(!cbxFolders.isSelected());
|
|
|
+ }//GEN-LAST:event_cbxFoldersActionPerformed
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ private void updateRadioButtonState()
|
|
|
+ {
|
|
|
+ if(rbSymlinked.isSelected())
|
|
|
+ {
|
|
|
+ if(cbxMerge.isSelected())
|
|
|
+ {
|
|
|
+ JOptionPane.showMessageDialog(this, "Cannot use symlink-mode with merged files", "Input error", JOptionPane.ERROR_MESSAGE);
|
|
|
+ rbCopyMode.setSelected(true);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(cbxFolders.isSelected())
|
|
|
+ {
|
|
|
+ JOptionPane.showMessageDialog(this, "1 track/station doesnt make sense without merging", "Input error", JOptionPane.ERROR_MESSAGE);
|
|
|
+ rbCopyMode.setSelected(true);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ cbxFolders.setEnabled(false);
|
|
|
+ cbxMerge.setEnabled(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ cbxFolders.setEnabled(true);
|
|
|
+ cbxMerge.setEnabled(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void rbSymlinkedActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_rbSymlinkedActionPerformed
|
|
|
+ {//GEN-HEADEREND:event_rbSymlinkedActionPerformed
|
|
|
+ updateRadioButtonState();
|
|
|
+ }//GEN-LAST:event_rbSymlinkedActionPerformed
|
|
|
+
|
|
|
+ private void rbCopyModeActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_rbCopyModeActionPerformed
|
|
|
+ {//GEN-HEADEREND:event_rbCopyModeActionPerformed
|
|
|
+ updateRadioButtonState();
|
|
|
+ }//GEN-LAST:event_rbCopyModeActionPerformed
|
|
|
+
|
|
|
+ private void btnRadioizeActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnRadioizeActionPerformed
|
|
|
+ {//GEN-HEADEREND:event_btnRadioizeActionPerformed
|
|
|
+ processData(true);
|
|
|
+
|
|
|
+ }//GEN-LAST:event_btnRadioizeActionPerformed
|
|
|
+
|
|
|
+ private void btnGetConfigActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnGetConfigActionPerformed
|
|
|
+ {//GEN-HEADEREND:event_btnGetConfigActionPerformed
|
|
|
+ processData(false);
|
|
|
+ }//GEN-LAST:event_btnGetConfigActionPerformed
|
|
|
+
|
|
|
+
|
|
|
+ private void processData(boolean radioize)
|
|
|
+ {
|
|
|
+ int tracks=-1;
|
|
|
+ int stations=1;
|
|
|
+ try{
|
|
|
+ tracks=Integer.valueOf(txfTracks.getText());
|
|
|
+ stations=Integer.valueOf(txfStations.getText());
|
|
|
+ }
|
|
|
+ catch(NumberFormatException x)
|
|
|
+ {
|
|
|
+ JOptionPane.showMessageDialog(this, "Letters are no numbers!!!", "Input error", JOptionPane.ERROR_MESSAGE);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(stations>65535)
|
|
|
+ {
|
|
|
+ JOptionPane.showMessageDialog(this, "Folders dont support more than 65535 direct subfolders/files", "Input error", JOptionPane.ERROR_MESSAGE);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(tracks>65535&&!cbxMerge.isSelected())
|
|
|
+ {
|
|
|
+ JOptionPane.showMessageDialog(this, "Folders dont support more than 65535 direct subfolders/files", "Input error", JOptionPane.ERROR_MESSAGE);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(!(new File(txfBasePath.getText()).exists()))
|
|
|
+ {
|
|
|
+ JOptionPane.showMessageDialog(this, "Basepath must be there!!", "Input error", JOptionPane.ERROR_MESSAGE);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ if(!(new File(txfBasePath.getText()+File.separator+txfStationNameBase.getText()).getCanonicalPath()!=null))
|
|
|
+ {
|
|
|
+ JOptionPane.showMessageDialog(this, "BaseName for the stations must be a valid filename", "Input error", JOptionPane.ERROR_MESSAGE);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (IOException ex)
|
|
|
+ {
|
|
|
+ JOptionPane.showMessageDialog(this, "BaseName for the stations must be a valid filename", "Input error", JOptionPane.ERROR_MESSAGE);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //Scheme of cmdstring:
|
|
|
+ //B means T or F as boolean value
|
|
|
+ //I means Integer
|
|
|
+ //S=String
|
|
|
+ //P=Pfad, muss am ende stehen
|
|
|
+ //header:rbSym:rbCopy:rbInter:Stations:Stationsasfile:Tracks:cxMergeTracks:StationBaseName:RadioPath
|
|
|
+ //radio:B:B:B:I:B:I:B:S:P
|
|
|
+
|
|
|
+ String commandString = "radio:"+(rbSymlinked.isSelected()?"T":"F")+":"+(rbCopyMode.isSelected()?"T":"F")+
|
|
|
+ ":"+(rbFeedbackMode.isSelected()?"T":"F")+":"+stations+":"+(cbxFolders.isSelected()?"T":"F")+":"+tracks+":"+
|
|
|
+ (cbxMerge.isSelected()?"T":"F")+":"+txfStationNameBase.getText()+":"+txfBasePath.getText();
|
|
|
+
|
|
|
+ txaCString.setText(commandString);
|
|
|
+
|
|
|
+ if(radioize)
|
|
|
+ {
|
|
|
+ mgr.parseParameter(commandString);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param args the command line arguments
|
|
|
+ */
|
|
|
+ public static void main(String args[])
|
|
|
+ {
|
|
|
+ /* Set the Nimbus look and feel */
|
|
|
+ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
|
|
|
+ /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
|
|
|
+ * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
|
|
|
+ */
|
|
|
+ try
|
|
|
+ {
|
|
|
+ for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels())
|
|
|
+ {
|
|
|
+ if ("Nimbus".equals(info.getName()))
|
|
|
+ {
|
|
|
+ javax.swing.UIManager.setLookAndFeel(info.getClassName());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (ClassNotFoundException ex)
|
|
|
+ {
|
|
|
+ java.util.logging.Logger.getLogger(RadioConfig.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
|
|
+ }
|
|
|
+ catch (InstantiationException ex)
|
|
|
+ {
|
|
|
+ java.util.logging.Logger.getLogger(RadioConfig.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
|
|
+ }
|
|
|
+ catch (IllegalAccessException ex)
|
|
|
+ {
|
|
|
+ java.util.logging.Logger.getLogger(RadioConfig.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
|
|
+ }
|
|
|
+ catch (javax.swing.UnsupportedLookAndFeelException ex)
|
|
|
+ {
|
|
|
+ java.util.logging.Logger.getLogger(RadioConfig.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
|
|
+ }
|
|
|
+ //</editor-fold>
|
|
|
+
|
|
|
+ /* Create and display the form */
|
|
|
+ java.awt.EventQueue.invokeLater(new Runnable()
|
|
|
+ {
|
|
|
+ public void run()
|
|
|
+ {
|
|
|
+ new RadioConfig(new RadioManager()).setVisible(true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // Variables declaration - do not modify//GEN-BEGIN:variables
|
|
|
+ private javax.swing.ButtonGroup bgrMode;
|
|
|
+ private javax.swing.JButton btnGetConfig;
|
|
|
+ private javax.swing.JButton btnRadioize;
|
|
|
+ private javax.swing.JCheckBox cbxFolders;
|
|
|
+ private javax.swing.JCheckBox cbxMerge;
|
|
|
+ private javax.swing.JButton jButton1;
|
|
|
+ private javax.swing.JLabel jLabel1;
|
|
|
+ private javax.swing.JLabel jLabel2;
|
|
|
+ private javax.swing.JLabel jLabel3;
|
|
|
+ private javax.swing.JLabel jLabel4;
|
|
|
+ private javax.swing.JLabel jLabel5;
|
|
|
+ private javax.swing.JScrollPane jScrollPane1;
|
|
|
+ private javax.swing.JRadioButton rbCopyMode;
|
|
|
+ private javax.swing.JRadioButton rbFeedbackMode;
|
|
|
+ private javax.swing.JRadioButton rbSymlinked;
|
|
|
+ private javax.swing.JTextArea txaCString;
|
|
|
+ private javax.swing.JTextField txfBasePath;
|
|
|
+ private javax.swing.JTextField txfStationNameBase;
|
|
|
+ private javax.swing.JTextField txfStations;
|
|
|
+ private javax.swing.JTextField txfTracks;
|
|
|
+ // End of variables declaration//GEN-END:variables
|
|
|
+}
|