1
0
mirror of https://github.com/mitb-archive/filebot synced 2024-08-13 17:03:45 -04:00

* remember select dialog size

This commit is contained in:
Reinhard Pointner 2012-07-27 07:17:21 +00:00
parent 6579d8ce1d
commit 6b6d7e380d
2 changed files with 25 additions and 6 deletions

View File

@ -39,6 +39,7 @@ import javax.swing.Action;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import net.sourceforge.filebot.Analytics; import net.sourceforge.filebot.Analytics;
import net.sourceforge.filebot.Settings;
import net.sourceforge.filebot.similarity.CommonSequenceMatcher; import net.sourceforge.filebot.similarity.CommonSequenceMatcher;
import net.sourceforge.filebot.similarity.EpisodeMatcher; import net.sourceforge.filebot.similarity.EpisodeMatcher;
import net.sourceforge.filebot.similarity.Match; import net.sourceforge.filebot.similarity.Match;
@ -99,13 +100,22 @@ class EpisodeListMatcher implements AutoCompleteMatcher {
selectDialog.getHeaderLabel().setText(String.format("Shows matching '%s':", query)); selectDialog.getHeaderLabel().setText(String.format("Shows matching '%s':", query));
selectDialog.getCancelAction().putValue(Action.NAME, "Ignore"); selectDialog.getCancelAction().putValue(Action.NAME, "Ignore");
selectDialog.setMinimumSize(new Dimension(250, 150));
// restore original dialog size
Settings prefs = Settings.forPackage(EpisodeListMatcher.class);
int w = Integer.parseInt(prefs.get("dialog.select.w", "280"));
int h = Integer.parseInt(prefs.get("dialog.select.h", "300"));
selectDialog.setPreferredSize(new Dimension(w, h));
selectDialog.pack(); selectDialog.pack();
// show dialog // show dialog
selectDialog.setLocation(getOffsetLocation(selectDialog.getOwner())); selectDialog.setLocation(getOffsetLocation(selectDialog.getOwner()));
selectDialog.setVisible(true); selectDialog.setVisible(true);
// remember dialog size
prefs.put("dialog.select.w", Integer.toString(selectDialog.getWidth()));
prefs.put("dialog.select.h", Integer.toString(selectDialog.getHeight()));
// selected value or null if the dialog was canceled by the user // selected value or null if the dialog was canceled by the user
return selectDialog.getSelectedValue(); return selectDialog.getSelectedValue();
} }
@ -257,8 +267,7 @@ class EpisodeListMatcher implements AutoCompleteMatcher {
} }
public List<Match<File, ?>> matchEpisodeSet(final List<File> files, Collection<String> queries, SortOrder sortOrder, Locale locale, boolean autodetection, Map<String, SearchResult> selectionMemory, public List<Match<File, ?>> matchEpisodeSet(final List<File> files, Collection<String> queries, SortOrder sortOrder, Locale locale, boolean autodetection, Map<String, SearchResult> selectionMemory, Map<String, List<String>> inputMemory, Component parent) throws Exception {
Map<String, List<String>> inputMemory, Component parent) throws Exception {
Set<Episode> episodes = emptySet(); Set<Episode> episodes = emptySet();
// detect series name and fetch episode list // detect series name and fetch episode list

View File

@ -46,6 +46,7 @@ import javax.swing.SwingUtilities;
import net.sourceforge.filebot.Analytics; import net.sourceforge.filebot.Analytics;
import net.sourceforge.filebot.ResourceManager; import net.sourceforge.filebot.ResourceManager;
import net.sourceforge.filebot.Settings;
import net.sourceforge.filebot.similarity.Match; import net.sourceforge.filebot.similarity.Match;
import net.sourceforge.filebot.similarity.NameSimilarityMetric; import net.sourceforge.filebot.similarity.NameSimilarityMetric;
import net.sourceforge.filebot.similarity.SimilarityMetric; import net.sourceforge.filebot.similarity.SimilarityMetric;
@ -98,7 +99,7 @@ class MovieHashMatcher implements AutoCompleteMatcher {
// match movie hashes online // match movie hashes online
final Map<File, Movie> movieByFile = new TreeMap<File, Movie>(); final Map<File, Movie> movieByFile = new TreeMap<File, Movie>();
if (movieFiles.size() > 0) { if (autodetect && movieFiles.size() > 0) {
try { try {
Map<File, Movie> hashLookup = service.getMovieDescriptors(movieFiles, locale); Map<File, Movie> hashLookup = service.getMovieDescriptors(movieFiles, locale);
movieByFile.putAll(hashLookup); movieByFile.putAll(hashLookup);
@ -328,8 +329,6 @@ class MovieHashMatcher implements AutoCompleteMatcher {
selectDialog.setTitle(folderQuery.isEmpty() ? fileQuery : String.format("%s / %s", folderQuery, fileQuery)); selectDialog.setTitle(folderQuery.isEmpty() ? fileQuery : String.format("%s / %s", folderQuery, fileQuery));
selectDialog.getHeaderLabel().setText(String.format("Movies matching '%s':", fileQuery.length() >= 2 || folderQuery.length() <= 2 ? fileQuery : folderQuery)); selectDialog.getHeaderLabel().setText(String.format("Movies matching '%s':", fileQuery.length() >= 2 || folderQuery.length() <= 2 ? fileQuery : folderQuery));
selectDialog.getCancelAction().putValue(Action.NAME, "Ignore"); selectDialog.getCancelAction().putValue(Action.NAME, "Ignore");
selectDialog.setMinimumSize(new Dimension(280, 300));
selectDialog.pack();
// add repeat button // add repeat button
JCheckBox checkBox = new JCheckBox(); JCheckBox checkBox = new JCheckBox();
@ -340,10 +339,21 @@ class MovieHashMatcher implements AutoCompleteMatcher {
JComponent c = (JComponent) selectDialog.getContentPane(); JComponent c = (JComponent) selectDialog.getContentPane();
c.add(checkBox, "pos 1al select.y n select.y2"); c.add(checkBox, "pos 1al select.y n select.y2");
// restore original dialog size
Settings prefs = Settings.forPackage(MovieHashMatcher.class);
int w = Integer.parseInt(prefs.get("dialog.select.w", "280"));
int h = Integer.parseInt(prefs.get("dialog.select.h", "300"));
selectDialog.setPreferredSize(new Dimension(w, h));
selectDialog.pack();
// show dialog // show dialog
selectDialog.setLocation(getOffsetLocation(selectDialog.getOwner())); selectDialog.setLocation(getOffsetLocation(selectDialog.getOwner()));
selectDialog.setVisible(true); selectDialog.setVisible(true);
// remember dialog size
prefs.put("dialog.select.w", Integer.toString(selectDialog.getWidth()));
prefs.put("dialog.select.h", Integer.toString(selectDialog.getHeight()));
// remember if we should auto-repeat the chosen action in the future // remember if we should auto-repeat the chosen action in the future
if (checkBox.isSelected()) { if (checkBox.isSelected()) {
memory.put("repeat", selectDialog.getSelectedValue() != null ? "select" : "ignore"); memory.put("repeat", selectDialog.getSelectedValue() != null ? "select" : "ignore");