diff --git a/src/main/java/pro/litvinovg/w2phtml/gui/ConfigurationWindow.java b/src/main/java/pro/litvinovg/w2phtml/gui/ConfigurationWindow.java
index 3c821e2..78688b5 100644
--- a/src/main/java/pro/litvinovg/w2phtml/gui/ConfigurationWindow.java
+++ b/src/main/java/pro/litvinovg/w2phtml/gui/ConfigurationWindow.java
@@ -45,6 +45,7 @@ import java.awt.CardLayout;
import java.awt.Component;
import javax.swing.SwingConstants;
+import javax.swing.JComboBox;
public class ConfigurationWindow extends JFrame {
@@ -223,7 +224,7 @@ public class ConfigurationWindow extends JFrame {
JCheckBox cb_convertToPx = new JCheckBox("Convert dimensions to pixels instead of REM (root em)");
configuration.put("convert_to_px", cb_convertToPx);
- JLabel lb_FilePath = new JLabel("File path");
+ JLabel lb_FilePath = new JLabel("Input file path");
JTextField tf_inputFile = new JTextField(fileName);
tf_inputFile.setColumns(10);
@@ -236,7 +237,7 @@ public class ConfigurationWindow extends JFrame {
JLabel lb_TargetFormat_description = new JLabel("Target format");
- JButton btnChooseFile = new JButton("Choose file");
+ JButton btnChooseFile = new JButton("Choose");
btnChooseFile.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
FileDialog fileDialog = new FileDialog();
@@ -246,39 +247,62 @@ public class ConfigurationWindow extends JFrame {
}
}
});
+ JTextField tf_OutputFile = new JTextField("");
+ configuration.put("outputFile", tf_OutputFile);
+ tf_OutputFile.setColumns(10);
+
+ JButton btn_ChooseOutputFile = new JButton("Choose");
+ btn_ChooseOutputFile.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ FileDialog fileDialog = new FileDialog();
+ String newFilePath = fileDialog.chooseFile(tf_OutputFile.getText(),"epub");
+ if (newFilePath != null && !newFilePath.isEmpty()) {
+ tf_OutputFile.setText(newFilePath);
+ }
+ }
+ });
+
+
+
+ JLabel lb_OutFilePath = new JLabel("Output file path");
GroupLayout gl_panel_configHTML = new GroupLayout(panel_configHTML);
gl_panel_configHTML.setHorizontalGroup(
gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_configHTML.createSequentialGroup()
.addGap(32)
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
+ .addGroup(gl_panel_configHTML.createSequentialGroup()
+ .addComponent(lb_Scale, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
+ .addGap(18)
+ .addComponent(tf_Scale, GroupLayout.PREFERRED_SIZE, 175, GroupLayout.PREFERRED_SIZE))
.addComponent(cb_UseMathJax, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
.addGroup(gl_panel_configHTML.createSequentialGroup()
.addComponent(lb_TargetFormat_description, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(lb_TargetFormat, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE))
- .addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
- .addGroup(gl_panel_configHTML.createSequentialGroup()
- .addComponent(lb_FilePath, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
- .addGap(18)
- .addComponent(tf_inputFile, GroupLayout.PREFERRED_SIZE, 604, GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(ComponentPlacement.RELATED)
- .addComponent(btnChooseFile, GroupLayout.PREFERRED_SIZE, 113, GroupLayout.PREFERRED_SIZE))
- .addGroup(gl_panel_configHTML.createSequentialGroup()
- .addComponent(lb_Scale, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
- .addGap(18)
- .addComponent(tf_Scale, GroupLayout.PREFERRED_SIZE, 175, GroupLayout.PREFERRED_SIZE))
- .addGroup(gl_panel_configHTML.createSequentialGroup()
- .addComponent(lb_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 253, GroupLayout.PREFERRED_SIZE)
- .addGap(18)
- .addComponent(tf_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE))
- .addComponent(cb_convertToPx, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
- .addComponent(cb_IgnoreHardLineBreaks, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
- .addComponent(cb_IgnoreEmptyParagraphs, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
- .addComponent(cb_EmbedRaster, GroupLayout.PREFERRED_SIZE, 194, GroupLayout.PREFERRED_SIZE)
- .addComponent(cb_EmbedVectorImages, GroupLayout.PREFERRED_SIZE, 214, GroupLayout.PREFERRED_SIZE)
- .addComponent(cb_InlineStyles, GroupLayout.PREFERRED_SIZE, 156, GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(80, Short.MAX_VALUE))
+ .addGroup(gl_panel_configHTML.createSequentialGroup()
+ .addComponent(lb_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 253, GroupLayout.PREFERRED_SIZE)
+ .addGap(18)
+ .addComponent(tf_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE))
+ .addComponent(cb_convertToPx, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
+ .addComponent(cb_IgnoreHardLineBreaks, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
+ .addComponent(cb_IgnoreEmptyParagraphs, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
+ .addComponent(cb_EmbedRaster, GroupLayout.PREFERRED_SIZE, 194, GroupLayout.PREFERRED_SIZE)
+ .addComponent(cb_EmbedVectorImages, GroupLayout.PREFERRED_SIZE, 214, GroupLayout.PREFERRED_SIZE)
+ .addComponent(cb_InlineStyles, GroupLayout.PREFERRED_SIZE, 156, GroupLayout.PREFERRED_SIZE)
+ .addGroup(gl_panel_configHTML.createSequentialGroup()
+ .addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
+ .addComponent(lb_OutFilePath, GroupLayout.PREFERRED_SIZE, 131, GroupLayout.PREFERRED_SIZE)
+ .addComponent(lb_FilePath, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE))
+ .addGap(12)
+ .addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
+ .addComponent(tf_inputFile, GroupLayout.PREFERRED_SIZE, 616, GroupLayout.PREFERRED_SIZE)
+ .addComponent(tf_OutputFile, GroupLayout.PREFERRED_SIZE, 616, GroupLayout.PREFERRED_SIZE))
+ .addGap(12)
+ .addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
+ .addComponent(btnChooseFile, GroupLayout.PREFERRED_SIZE, 113, GroupLayout.PREFERRED_SIZE)
+ .addComponent(btn_ChooseOutputFile, GroupLayout.PREFERRED_SIZE, 113, GroupLayout.PREFERRED_SIZE))))
+ .addGap(48))
);
gl_panel_configHTML.setVerticalGroup(
gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
@@ -296,13 +320,22 @@ public class ConfigurationWindow extends JFrame {
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.BASELINE)
.addComponent(tf_inputFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(btnChooseFile))))
- .addPreferredGap(ComponentPlacement.RELATED)
+ .addPreferredGap(ComponentPlacement.UNRELATED)
+ .addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
+ .addGroup(gl_panel_configHTML.createSequentialGroup()
+ .addGap(5)
+ .addComponent(lb_OutFilePath))
+ .addGroup(gl_panel_configHTML.createSequentialGroup()
+ .addGap(3)
+ .addComponent(tf_OutputFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+ .addComponent(btn_ChooseOutputFile))
+ .addGap(42)
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_configHTML.createSequentialGroup()
.addGap(2)
.addComponent(lb_Scale))
.addComponent(tf_Scale, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
- .addGap(25)
+ .addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_configHTML.createSequentialGroup()
.addGap(8)
@@ -324,7 +357,7 @@ public class ConfigurationWindow extends JFrame {
.addComponent(cb_IgnoreEmptyParagraphs)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(cb_UseMathJax)
- .addContainerGap(353, Short.MAX_VALUE))
+ .addContainerGap(347, Short.MAX_VALUE))
);
panel_configHTML.setLayout(gl_panel_configHTML);
return panel_configHTML;
@@ -603,7 +636,7 @@ public class ConfigurationWindow extends JFrame {
JCheckBox cb_convertToPx = new JCheckBox("Convert dimensions to pixels instead of REM (root em)");
configuration.put("convert_to_px", cb_convertToPx);
- JLabel lb_FilePath = new JLabel("File path");
+ JLabel lb_FilePath = new JLabel("Input file path");
JTextField tf_inputFile = new JTextField(fileName);
tf_inputFile.setColumns(10);
@@ -616,7 +649,7 @@ public class ConfigurationWindow extends JFrame {
JLabel lb_TargetFormat_description = new JLabel("Target format");
- JButton btnChooseFile = new JButton("Choose file");
+ JButton btnChooseFile = new JButton("Choose");
btnChooseFile.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
FileDialog fileDialog = new FileDialog();
@@ -626,39 +659,69 @@ public class ConfigurationWindow extends JFrame {
}
}
});
+
+ JLabel lb_OutFilePath = new JLabel("Output file path");
+
+ JTextField tf_OutputFile = new JTextField("");
+ configuration.put("outputFile", tf_OutputFile);
+ tf_OutputFile.setColumns(10);
+
+ JButton btn_ChooseOutputFile = new JButton("Choose");
+ btn_ChooseOutputFile.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ FileDialog fileDialog = new FileDialog();
+ String newFilePath = fileDialog.chooseFile(tf_OutputFile.getText(),"rdf");
+ if (newFilePath != null && !newFilePath.isEmpty()) {
+ tf_OutputFile.setText(newFilePath);
+ }
+ }
+ });
+ String[] types = {"статья ЭФЭ","статья энциклопедии", "книга", "журнал"};
+ JComboBox cbox_type = new JComboBox(types);
+
+ JLabel lb_type = new JLabel("Type");
GroupLayout gl_panel_configHTML = new GroupLayout(panel_configHTML);
gl_panel_configHTML.setHorizontalGroup(
gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_configHTML.createSequentialGroup()
.addGap(32)
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
- .addComponent(cb_UseMathJax, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
+ .addGroup(gl_panel_configHTML.createSequentialGroup()
+ .addComponent(lb_Scale, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(ComponentPlacement.RELATED)
+ .addComponent(tf_Scale, GroupLayout.PREFERRED_SIZE, 98, GroupLayout.PREFERRED_SIZE))
.addGroup(gl_panel_configHTML.createSequentialGroup()
.addComponent(lb_TargetFormat_description, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(lb_TargetFormat, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE))
- .addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
- .addGroup(gl_panel_configHTML.createSequentialGroup()
- .addComponent(lb_FilePath, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
- .addGap(18)
- .addComponent(tf_inputFile, GroupLayout.PREFERRED_SIZE, 614, GroupLayout.PREFERRED_SIZE)
- .addGap(6)
- .addComponent(btnChooseFile, GroupLayout.PREFERRED_SIZE, 113, GroupLayout.PREFERRED_SIZE))
- .addGroup(gl_panel_configHTML.createSequentialGroup()
- .addComponent(lb_Scale, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
- .addGap(18)
- .addComponent(tf_Scale, GroupLayout.PREFERRED_SIZE, 98, GroupLayout.PREFERRED_SIZE))
- .addGroup(gl_panel_configHTML.createSequentialGroup()
- .addComponent(lb_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 253, GroupLayout.PREFERRED_SIZE)
- .addGap(18)
- .addComponent(tf_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE))
- .addComponent(cb_convertToPx, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
- .addComponent(cb_IgnoreHardLineBreaks, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
- .addComponent(cb_IgnoreEmptyParagraphs, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
- .addComponent(cb_EmbedRaster, GroupLayout.PREFERRED_SIZE, 194, GroupLayout.PREFERRED_SIZE)
- .addComponent(cb_EmbedVectorImages, GroupLayout.PREFERRED_SIZE, 214, GroupLayout.PREFERRED_SIZE)
- .addComponent(cb_InlineStyles, GroupLayout.PREFERRED_SIZE, 156, GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(97, Short.MAX_VALUE))
+ .addComponent(cb_UseMathJax, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
+ .addGroup(gl_panel_configHTML.createSequentialGroup()
+ .addComponent(lb_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 253, GroupLayout.PREFERRED_SIZE)
+ .addGap(18)
+ .addComponent(tf_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE))
+ .addComponent(cb_convertToPx, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
+ .addComponent(cb_IgnoreHardLineBreaks, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
+ .addComponent(cb_IgnoreEmptyParagraphs, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
+ .addComponent(cb_EmbedRaster, GroupLayout.PREFERRED_SIZE, 194, GroupLayout.PREFERRED_SIZE)
+ .addComponent(cb_EmbedVectorImages, GroupLayout.PREFERRED_SIZE, 214, GroupLayout.PREFERRED_SIZE)
+ .addComponent(cb_InlineStyles, GroupLayout.PREFERRED_SIZE, 156, GroupLayout.PREFERRED_SIZE)
+ .addGroup(gl_panel_configHTML.createSequentialGroup()
+ .addComponent(lb_OutFilePath, GroupLayout.PREFERRED_SIZE, 125, GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(ComponentPlacement.UNRELATED)
+ .addComponent(tf_OutputFile, 600, 600, 600)
+ .addGap(6)
+ .addComponent(btn_ChooseOutputFile, GroupLayout.PREFERRED_SIZE, 113, GroupLayout.PREFERRED_SIZE))
+ .addGroup(gl_panel_configHTML.createSequentialGroup()
+ .addComponent(lb_FilePath, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
+ .addGap(32)
+ .addComponent(tf_inputFile, GroupLayout.PREFERRED_SIZE, 600, GroupLayout.PREFERRED_SIZE)
+ .addGap(6)
+ .addComponent(btnChooseFile, GroupLayout.PREFERRED_SIZE, 113, GroupLayout.PREFERRED_SIZE))
+ .addGroup(gl_panel_configHTML.createSequentialGroup()
+ .addComponent(lb_type, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(ComponentPlacement.RELATED)
+ .addComponent(cbox_type, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
+ .addContainerGap(70, Short.MAX_VALUE))
);
gl_panel_configHTML.setVerticalGroup(
gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
@@ -676,15 +739,23 @@ public class ConfigurationWindow extends JFrame {
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.BASELINE)
.addComponent(tf_inputFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(btnChooseFile))))
- .addPreferredGap(ComponentPlacement.RELATED)
+ .addPreferredGap(ComponentPlacement.UNRELATED)
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
+ .addGroup(gl_panel_configHTML.createParallelGroup(Alignment.BASELINE)
+ .addComponent(tf_OutputFile, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+ .addComponent(btn_ChooseOutputFile))
.addGroup(gl_panel_configHTML.createSequentialGroup()
- .addGap(8)
- .addComponent(lb_Scale))
- .addGroup(gl_panel_configHTML.createSequentialGroup()
- .addPreferredGap(ComponentPlacement.RELATED)
- .addComponent(tf_Scale, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
- .addGap(25)
+ .addGap(2)
+ .addComponent(lb_OutFilePath)))
+ .addGap(24)
+ .addGroup(gl_panel_configHTML.createParallelGroup(Alignment.BASELINE)
+ .addComponent(lb_type)
+ .addComponent(cbox_type, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+ .addGap(18)
+ .addGroup(gl_panel_configHTML.createParallelGroup(Alignment.BASELINE)
+ .addComponent(lb_Scale)
+ .addComponent(tf_Scale, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+ .addGap(18)
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_configHTML.createSequentialGroup()
.addGap(8)
@@ -706,7 +777,7 @@ public class ConfigurationWindow extends JFrame {
.addComponent(cb_IgnoreEmptyParagraphs)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(cb_UseMathJax)
- .addContainerGap(407, Short.MAX_VALUE))
+ .addContainerGap(311, Short.MAX_VALUE))
);
panel_configHTML.setLayout(gl_panel_configHTML);
return panel_configHTML;