* more messages to help users know what to do next if they're just clicking around trying to figure out things work

This commit is contained in:
Reinhard Pointner 2013-09-29 19:46:41 +00:00
parent a054f08946
commit 20aef4e385
3 changed files with 122 additions and 132 deletions

View File

@ -1,7 +1,5 @@
package net.sourceforge.filebot.ui.rename; package net.sourceforge.filebot.ui.rename;
import static javax.swing.JOptionPane.*; import static javax.swing.JOptionPane.*;
import static javax.swing.SwingUtilities.*; import static javax.swing.SwingUtilities.*;
import static net.sourceforge.filebot.ui.NotificationLogging.*; import static net.sourceforge.filebot.ui.NotificationLogging.*;
@ -71,7 +69,6 @@ import ca.odell.glazedlists.EventList;
import ca.odell.glazedlists.ListSelection; import ca.odell.glazedlists.ListSelection;
import ca.odell.glazedlists.swing.EventSelectionModel; import ca.odell.glazedlists.swing.EventSelectionModel;
public class RenamePanel extends JComponent { public class RenamePanel extends JComponent {
protected final RenameModel renameModel = new RenameModel(); protected final RenameModel renameModel = new RenameModel();
@ -90,7 +87,6 @@ public class RenamePanel extends JComponent {
private static final PreferencesEntry<String> persistentPreferredLanguage = Settings.forPackage(RenamePanel.class).entry("rename.language").defaultValue("en"); private static final PreferencesEntry<String> persistentPreferredLanguage = Settings.forPackage(RenamePanel.class).entry("rename.language").defaultValue("en");
private static final PreferencesEntry<String> persistentPreferredEpisodeOrder = Settings.forPackage(RenamePanel.class).entry("rename.episode.order").defaultValue("Airdate"); private static final PreferencesEntry<String> persistentPreferredEpisodeOrder = Settings.forPackage(RenamePanel.class).entry("rename.episode.order").defaultValue("Airdate");
public RenamePanel() { public RenamePanel() {
namesList.setTitle("New Names"); namesList.setTitle("New Names");
namesList.setTransferablePolicy(new NamesListTransferablePolicy(renameModel.values())); namesList.setTransferablePolicy(new NamesListTransferablePolicy(renameModel.values()));
@ -176,7 +172,8 @@ public class RenamePanel extends JComponent {
ActionPopup fetchPopup = createFetchPopup(); ActionPopup fetchPopup = createFetchPopup();
final Action fetchPopupAction = new ShowPopupAction("Fetch", ResourceManager.getIcon("action.fetch")); final Action fetchPopupAction = new ShowPopupAction("Fetch", ResourceManager.getIcon("action.fetch"));
JButton fetchButton = createImageButton(fetchPopupAction); JButton fetchButton = new JButton(fetchPopupAction);
filesList.getListComponent().setComponentPopupMenu(fetchPopup);
namesList.getListComponent().setComponentPopupMenu(fetchPopup); namesList.getListComponent().setComponentPopupMenu(fetchPopup);
fetchButton.setComponentPopupMenu(fetchPopup); fetchButton.setComponentPopupMenu(fetchPopup);
matchButton.setComponentPopupMenu(fetchPopup); matchButton.setComponentPopupMenu(fetchPopup);
@ -204,7 +201,7 @@ public class RenamePanel extends JComponent {
namesList.getButtonPanel().add(settingsButton, "gap indent"); namesList.getButtonPanel().add(settingsButton, "gap indent");
// open rename log button // open rename log button
filesList.getButtonPanel().add(createImageButton(clearFilesAction), "gap 0"); filesList.getButtonPanel().add(new JButton(clearFilesAction), "gap 0");
filesList.getButtonPanel().add(createImageButton(openHistoryAction), "gap indent"); filesList.getButtonPanel().add(createImageButton(openHistoryAction), "gap indent");
// reveal file location on double click // reveal file location on double click
@ -271,7 +268,6 @@ public class RenamePanel extends JComponent {
add(new LoadingOverlayPane(namesList, namesList, "32px", "30px"), "grow, sizegroupx list"); add(new LoadingOverlayPane(namesList, namesList, "32px", "30px"), "grow, sizegroupx list");
} }
protected ActionPopup createFetchPopup() { protected ActionPopup createFetchPopup() {
final ActionPopup actionPopup = new ActionPopup("Series / Movie Data", ResourceManager.getIcon("action.fetch")); final ActionPopup actionPopup = new ActionPopup("Series / Movie Data", ResourceManager.getIcon("action.fetch"));
@ -307,18 +303,18 @@ public class RenamePanel extends JComponent {
if (dialog.submit()) { if (dialog.submit()) {
switch (dialog.getMode()) { switch (dialog.getMode()) {
case Episode: case Episode:
renameModel.useFormatter(Episode.class, new ExpressionFormatter(dialog.getFormat().getExpression(), EpisodeFormat.SeasonEpisode, Episode.class)); renameModel.useFormatter(Episode.class, new ExpressionFormatter(dialog.getFormat().getExpression(), EpisodeFormat.SeasonEpisode, Episode.class));
persistentEpisodeFormat.setValue(dialog.getFormat().getExpression()); persistentEpisodeFormat.setValue(dialog.getFormat().getExpression());
break; break;
case Movie: case Movie:
renameModel.useFormatter(Movie.class, new ExpressionFormatter(dialog.getFormat().getExpression(), MovieFormat.NameYear, Movie.class)); renameModel.useFormatter(Movie.class, new ExpressionFormatter(dialog.getFormat().getExpression(), MovieFormat.NameYear, Movie.class));
persistentMovieFormat.setValue(dialog.getFormat().getExpression()); persistentMovieFormat.setValue(dialog.getFormat().getExpression());
break; break;
case Music: case Music:
renameModel.useFormatter(AudioTrack.class, new ExpressionFormatter(dialog.getFormat().getExpression(), new AudioTrackFormat(), AudioTrack.class)); renameModel.useFormatter(AudioTrack.class, new ExpressionFormatter(dialog.getFormat().getExpression(), new AudioTrackFormat(), AudioTrack.class));
persistentMusicFormat.setValue(dialog.getFormat().getExpression()); persistentMusicFormat.setValue(dialog.getFormat().getExpression());
break; break;
} }
} }
} }
@ -380,7 +376,6 @@ public class RenamePanel extends JComponent {
return actionPopup; return actionPopup;
} }
protected ActionPopup createSettingsPopup() { protected ActionPopup createSettingsPopup() {
ActionPopup actionPopup = new ActionPopup("Rename Options", ResourceManager.getIcon("action.settings")); ActionPopup actionPopup = new ActionPopup("Rename Options", ResourceManager.getIcon("action.settings"));
@ -398,7 +393,7 @@ public class RenamePanel extends JComponent {
return actionPopup; return actionPopup;
} }
protected final Action clearFilesAction = new AbstractAction("Clear Files", ResourceManager.getIcon("action.clear")) { protected final Action clearFilesAction = new AbstractAction("Clear", ResourceManager.getIcon("action.clear")) {
@Override @Override
public void actionPerformed(ActionEvent evt) { public void actionPerformed(ActionEvent evt) {
@ -429,14 +424,12 @@ public class RenamePanel extends JComponent {
} }
}; };
protected static class ShowPopupAction extends AbstractAction { protected static class ShowPopupAction extends AbstractAction {
public ShowPopupAction(String name, Icon icon) { public ShowPopupAction(String name, Icon icon) {
super(name, icon); super(name, icon);
} }
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
// display popup below component // display popup below component
@ -445,18 +438,15 @@ public class RenamePanel extends JComponent {
} }
}; };
protected class SetRenameMode extends AbstractAction { protected class SetRenameMode extends AbstractAction {
private final boolean activate; private final boolean activate;
private SetRenameMode(boolean activate, String name, Icon icon) { private SetRenameMode(boolean activate, String name, Icon icon) {
super(name, icon); super(name, icon);
this.activate = activate; this.activate = activate;
} }
@Override @Override
public void actionPerformed(ActionEvent evt) { public void actionPerformed(ActionEvent evt) {
renameModel.setPreserveExtension(!activate); renameModel.setPreserveExtension(!activate);
@ -469,18 +459,15 @@ public class RenamePanel extends JComponent {
} }
} }
protected class SetRenameAction extends AbstractAction { protected class SetRenameAction extends AbstractAction {
private final StandardRenameAction action; private final StandardRenameAction action;
public SetRenameAction(StandardRenameAction action, String name, Icon icon) { public SetRenameAction(StandardRenameAction action, String name, Icon icon) {
super(name, icon); super(name, icon);
this.action = action; this.action = action;
} }
@Override @Override
public void actionPerformed(ActionEvent evt) { public void actionPerformed(ActionEvent evt) {
if (action == StandardRenameAction.MOVE) { if (action == StandardRenameAction.MOVE) {
@ -493,12 +480,10 @@ public class RenamePanel extends JComponent {
} }
} }
protected class AutoCompleteAction extends AbstractAction { protected class AutoCompleteAction extends AbstractAction {
private final AutoCompleteMatcher matcher; private final AutoCompleteMatcher matcher;
public AutoCompleteAction(String name, Icon icon, AutoCompleteMatcher matcher) { public AutoCompleteAction(String name, Icon icon, AutoCompleteMatcher matcher) {
super(name, icon); super(name, icon);
@ -515,10 +500,10 @@ public class RenamePanel extends JComponent {
}); });
} }
@Override @Override
public void actionPerformed(final ActionEvent evt) { public void actionPerformed(final ActionEvent evt) {
if (renameModel.files().isEmpty()) { if (renameModel.files().isEmpty()) {
UILogger.info("Original Files is empty. Please add some files first.");
return; return;
} }
@ -532,7 +517,6 @@ public class RenamePanel extends JComponent {
private final Locale locale = new Locale(persistentPreferredLanguage.getValue()); private final Locale locale = new Locale(persistentPreferredLanguage.getValue());
private final boolean autodetection = !isShiftOrAltDown(evt); // skip name auto-detection if SHIFT is pressed private final boolean autodetection = !isShiftOrAltDown(evt); // skip name auto-detection if SHIFT is pressed
@Override @Override
protected List<Match<File, ?>> doInBackground() throws Exception { protected List<Match<File, ?>> doInBackground() throws Exception {
List<Match<File, ?>> matches = matcher.match(remainingFiles, order, locale, autodetection, getWindow(RenamePanel.this)); List<Match<File, ?>> matches = matcher.match(remainingFiles, order, locale, autodetection, getWindow(RenamePanel.this));
@ -545,7 +529,6 @@ public class RenamePanel extends JComponent {
return matches; return matches;
} }
@Override @Override
protected void done() { protected void done() {
try { try {

View File

@ -1120,6 +1120,7 @@ iNSECTS
iNSOMNi iNSOMNi
iNSPiRED iNSPiRED
InSubs InSubs
iNT-TD
IntelliQ IntelliQ
iNTERNAL iNTERNAL
iNTiMiD iNTiMiD
@ -2366,6 +2367,7 @@ zomg
Zomg-Killerhurtalot Zomg-Killerhurtalot
Zorori-Project Zorori-Project
Zox Zox
ZSiSO
Zurako Zurako
Zuzuu Zuzuu
ZZGtv ZZGtv

View File

@ -78,5 +78,10 @@
"user": "Raydan", "user": "Raydan",
"date": "2013-09-08", "date": "2013-09-08",
"text": "I can really recommend using filebot for sorting, moving, deleting, subtitle searching... I just started the script once... and it was quite mindblowing to be honest." "text": "I can really recommend using filebot for sorting, moving, deleting, subtitle searching... I just started the script once... and it was quite mindblowing to be honest."
},
{
"user": "Nitish Kumar",
"date": "2013-09-21",
"text": "FileBot is such an amazing piece of work. Been using it for TV Shows renaming but today tried over movies as well. Big time success!"
} }
] ]