Skip to content

Commit

Permalink
Add default save actions
Browse files Browse the repository at this point in the history
  • Loading branch information
lenhard committed Feb 22, 2016
1 parent a77f351 commit 6a26e43
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 12 deletions.
7 changes: 7 additions & 0 deletions src/main/java/net/sf/jabref/exporter/SaveActions.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ public class SaveActions {

private boolean enabled;

public static final SaveActions DEFAULT_ACTIONS;

static {
String defaultFormatterString = "pages[PageNumbersFormatter]month[MonthFormatter]booktitle[SuperscriptFormatter]";
DEFAULT_ACTIONS = new SaveActions(false, defaultFormatterString);
}

public SaveActions(boolean enabled, String formatterString) {

actions = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import javax.swing.JRadioButton;
import javax.swing.JTextField;

import net.sf.jabref.exporter.SaveActions;
import net.sf.jabref.gui.BasePanel;
import net.sf.jabref.gui.SaveOrderConfigDisplay;
import net.sf.jabref.gui.actions.BrowseAction;
Expand Down Expand Up @@ -320,18 +321,22 @@ private void storeSettings() {
saveOrderConfigChanged = true;
}

if(saveOrderConfigChanged) {
if (saveOrderConfigChanged) {
List<String> serialized = newSaveOrderConfig.getConfigurationList();
if(newSaveOrderConfig.equals(defaultSaveOrderConfig)){
if (newSaveOrderConfig.equals(defaultSaveOrderConfig)) {
metaData.remove(MetaData.SAVE_ORDER_CONFIG);
} else {
} else {
metaData.putData(MetaData.SAVE_ORDER_CONFIG, serialized);
}
}

boolean saveActionsChanged = saveActionsPanel.hasChanged();
if(saveActionsChanged) {
saveActionsPanel.storeSettings(metaData);
if (saveActionsChanged) {
if (saveActionsPanel.isDefaultSaveActions()) {
metaData.remove(SaveActions.META_KEY);
} else {
saveActionsPanel.storeSettings(metaData);
}
}

boolean changed = saveOrderConfigChanged || !newEncoding.equals(oldEncoding)
Expand Down
30 changes: 23 additions & 7 deletions src/main/java/net/sf/jabref/gui/dbproperties/SaveActionsPanel.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,12 @@ public void setValues(MetaData metaData) {
Objects.requireNonNull(metaData);

List<String> saveActionsMetaList = metaData.getData(SaveActions.META_KEY);
boolean enablementStatus = false;
String formatterString = "";
if (saveActionsMetaList != null && saveActionsMetaList.size() >= 2) {
enablementStatus = "enabled".equals(saveActionsMetaList.get(0));
formatterString = saveActionsMetaList.get(1);
}

initializeSaveActions(saveActionsMetaList);

// first clear existing content
this.removeAll();

saveActions = new SaveActions(enablementStatus, formatterString);
List<FieldFormatterCleanup> configuredActions = saveActions.getConfiguredActions();

enabled.setSelected(saveActions.isEnabled());
Expand Down Expand Up @@ -85,6 +80,19 @@ public void setValues(MetaData metaData) {
this.add(builder.getPanel(), BorderLayout.WEST);
}

private void initializeSaveActions(List<String> saveActionsMetaList) {

if (saveActionsMetaList != null && saveActionsMetaList.size() >= 2) {
boolean enablementStatus = "enabled".equals(saveActionsMetaList.get(0));
String formatterString = saveActionsMetaList.get(1);
saveActions = new SaveActions(enablementStatus, formatterString);
} else {
// apply default actions
saveActions = SaveActions.DEFAULT_ACTIONS;
}

}

private JPanel getSelectorPanel() {
FormBuilder builder = FormBuilder.create().layout(new FormLayout("left:pref, 4dlu, left:pref, 4dlu, pref:grow",
"pref, 2dlu,"));
Expand Down Expand Up @@ -148,6 +156,14 @@ public boolean hasChanged() {
return hasChanged;
}

public boolean isDefaultSaveActions () {
List<FieldFormatterCleanup> newActions = ((SaveActionsListModel) actionsList.getModel()).getAllActions();
String formatterString = SaveActions.getMetaDataString(newActions);
boolean isDefault = SaveActions.DEFAULT_ACTIONS.equals(new SaveActions(enabled.isSelected(), formatterString));

return isDefault;
}

class AddButtonListener implements ActionListener {

@Override
Expand Down

0 comments on commit 6a26e43

Please sign in to comment.