mirror of
https://github.com/mitb-archive/filebot
synced 2024-12-25 09:18:51 -05:00
Added MediaInfo tool in Tools panel
This commit is contained in:
parent
bf0cbe41f6
commit
590c667d5e
@ -12,6 +12,7 @@ import java.util.List;
|
|||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.ListSelectionModel;
|
||||||
import javax.swing.table.AbstractTableModel;
|
import javax.swing.table.AbstractTableModel;
|
||||||
import javax.swing.table.TableModel;
|
import javax.swing.table.TableModel;
|
||||||
|
|
||||||
@ -31,9 +32,15 @@ class AttributeTool extends Tool<TableModel> {
|
|||||||
super("Attributes");
|
super("Attributes");
|
||||||
|
|
||||||
table.setAutoCreateRowSorter(true);
|
table.setAutoCreateRowSorter(true);
|
||||||
|
table.setAutoCreateColumnsFromModel(true);
|
||||||
table.setFillsViewportHeight(true);
|
table.setFillsViewportHeight(true);
|
||||||
|
|
||||||
|
table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
|
||||||
|
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
|
||||||
|
|
||||||
table.setBackground(Color.white);
|
table.setBackground(Color.white);
|
||||||
table.setRowHeight(20);
|
table.setGridColor(new Color(0xEEEEEE));
|
||||||
|
table.setRowHeight(25);
|
||||||
|
|
||||||
JScrollPane scrollPane = new JScrollPane(table);
|
JScrollPane scrollPane = new JScrollPane(table);
|
||||||
scrollPane.setBorder(BorderFactory.createEmptyBorder());
|
scrollPane.setBorder(BorderFactory.createEmptyBorder());
|
||||||
|
@ -53,12 +53,16 @@ class ExtractTool extends Tool<TableModel> {
|
|||||||
public ExtractTool() {
|
public ExtractTool() {
|
||||||
super("Archives");
|
super("Archives");
|
||||||
|
|
||||||
table.setFillsViewportHeight(true);
|
|
||||||
table.setAutoCreateRowSorter(true);
|
table.setAutoCreateRowSorter(true);
|
||||||
table.setAutoCreateColumnsFromModel(true);
|
table.setAutoCreateColumnsFromModel(true);
|
||||||
|
table.setFillsViewportHeight(true);
|
||||||
|
|
||||||
table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
|
table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
|
||||||
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
|
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
|
||||||
table.setRowHeight(20);
|
|
||||||
|
table.setBackground(Color.white);
|
||||||
|
table.setGridColor(new Color(0xEEEEEE));
|
||||||
|
table.setRowHeight(25);
|
||||||
|
|
||||||
JScrollPane tableScrollPane = new JScrollPane(table);
|
JScrollPane tableScrollPane = new JScrollPane(table);
|
||||||
tableScrollPane.setBorder(new SeparatorBorder(2, new Color(0, 0, 0, 90), GradientStyle.TOP_TO_BOTTOM, SeparatorBorder.Position.BOTTOM));
|
tableScrollPane.setBorder(new SeparatorBorder(2, new Color(0, 0, 0, 90), GradientStyle.TOP_TO_BOTTOM, SeparatorBorder.Position.BOTTOM));
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package net.filebot.ui.analyze;
|
package net.filebot.ui.analyze;
|
||||||
|
|
||||||
|
import static java.util.Collections.*;
|
||||||
import static net.filebot.Logging.*;
|
import static net.filebot.Logging.*;
|
||||||
import static net.filebot.MediaTypes.*;
|
import static net.filebot.MediaTypes.*;
|
||||||
import static net.filebot.util.FileUtilities.*;
|
import static net.filebot.util.FileUtilities.*;
|
||||||
@ -14,6 +15,7 @@ import java.util.stream.IntStream;
|
|||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.ListSelectionModel;
|
||||||
import javax.swing.table.AbstractTableModel;
|
import javax.swing.table.AbstractTableModel;
|
||||||
import javax.swing.table.TableModel;
|
import javax.swing.table.TableModel;
|
||||||
|
|
||||||
@ -31,9 +33,15 @@ class MediaInfoTool extends Tool<TableModel> {
|
|||||||
super("MediaInfo");
|
super("MediaInfo");
|
||||||
|
|
||||||
table.setAutoCreateRowSorter(true);
|
table.setAutoCreateRowSorter(true);
|
||||||
|
table.setAutoCreateColumnsFromModel(true);
|
||||||
table.setFillsViewportHeight(true);
|
table.setFillsViewportHeight(true);
|
||||||
|
|
||||||
|
table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
|
||||||
|
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
|
||||||
|
|
||||||
table.setBackground(Color.white);
|
table.setBackground(Color.white);
|
||||||
table.setRowHeight(20);
|
table.setGridColor(new Color(0xEEEEEE));
|
||||||
|
table.setRowHeight(25);
|
||||||
|
|
||||||
JScrollPane scrollPane = new JScrollPane(table);
|
JScrollPane scrollPane = new JScrollPane(table);
|
||||||
scrollPane.setBorder(BorderFactory.createEmptyBorder());
|
scrollPane.setBorder(BorderFactory.createEmptyBorder());
|
||||||
@ -69,7 +77,7 @@ class MediaInfoTool extends Tool<TableModel> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return new MediaInfoTableModel(files.toArray(new File[0]), data.keySet().toArray(new MediaInfoKey[0]), data.values().toArray(new String[0][]));
|
return new MediaInfoTableModel(files, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -122,13 +130,13 @@ class MediaInfoTool extends Tool<TableModel> {
|
|||||||
private final String[][] rows;
|
private final String[][] rows;
|
||||||
|
|
||||||
public MediaInfoTableModel() {
|
public MediaInfoTableModel() {
|
||||||
this(new File[0], new MediaInfoKey[0], new String[0][]);
|
this(emptyList(), emptyMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
public MediaInfoTableModel(File[] files, MediaInfoKey[] keys, String[][] rows) {
|
public MediaInfoTableModel(List<File> files, Map<MediaInfoKey, String[]> values) {
|
||||||
this.files = files;
|
this.files = files.toArray(new File[0]);
|
||||||
this.keys = keys;
|
this.keys = values.keySet().toArray(new MediaInfoKey[0]);
|
||||||
this.rows = rows;
|
this.rows = values.values().toArray(new String[0][]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -150,6 +158,18 @@ class MediaInfoTool extends Tool<TableModel> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<?> getColumnClass(int column) {
|
||||||
|
switch (column) {
|
||||||
|
case 0:
|
||||||
|
return StreamKind.class;
|
||||||
|
case 1:
|
||||||
|
return Integer.class;
|
||||||
|
default:
|
||||||
|
return String.class;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getRowCount() {
|
public int getRowCount() {
|
||||||
return keys.length;
|
return keys.length;
|
||||||
|
@ -39,6 +39,7 @@ import javax.swing.JScrollPane;
|
|||||||
import javax.swing.JTabbedPane;
|
import javax.swing.JTabbedPane;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.ListSelectionModel;
|
||||||
import javax.swing.RowFilter;
|
import javax.swing.RowFilter;
|
||||||
import javax.swing.SwingWorker;
|
import javax.swing.SwingWorker;
|
||||||
import javax.swing.event.DocumentEvent;
|
import javax.swing.event.DocumentEvent;
|
||||||
@ -164,6 +165,7 @@ class BindingDialog extends JDialog {
|
|||||||
private JTable createBindingTable(TableModel model) {
|
private JTable createBindingTable(TableModel model) {
|
||||||
JTable table = new JTable(model);
|
JTable table = new JTable(model);
|
||||||
table.setAutoCreateRowSorter(true);
|
table.setAutoCreateRowSorter(true);
|
||||||
|
table.setAutoCreateColumnsFromModel(true);
|
||||||
table.setFillsViewportHeight(true);
|
table.setFillsViewportHeight(true);
|
||||||
table.setBackground(Color.white);
|
table.setBackground(Color.white);
|
||||||
|
|
||||||
@ -320,8 +322,15 @@ class BindingDialog extends JDialog {
|
|||||||
|
|
||||||
JTable table = new JTable(new ParameterTableModel(parameters));
|
JTable table = new JTable(new ParameterTableModel(parameters));
|
||||||
table.setAutoCreateRowSorter(true);
|
table.setAutoCreateRowSorter(true);
|
||||||
|
table.setAutoCreateColumnsFromModel(true);
|
||||||
table.setFillsViewportHeight(true);
|
table.setFillsViewportHeight(true);
|
||||||
|
|
||||||
|
table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
|
||||||
|
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
|
||||||
|
|
||||||
table.setBackground(Color.white);
|
table.setBackground(Color.white);
|
||||||
|
table.setGridColor(new Color(0xEEEEEE));
|
||||||
|
table.setRowHeight(25);
|
||||||
|
|
||||||
// set media info exclude filter
|
// set media info exclude filter
|
||||||
TableRowSorter<?> sorter = (TableRowSorter<?>) table.getRowSorter();
|
TableRowSorter<?> sorter = (TableRowSorter<?>) table.getRowSorter();
|
||||||
|
Loading…
Reference in New Issue
Block a user