Skip to content
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package org.jabref.gui.maintable;

import java.util.List;

import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;

Expand All @@ -16,6 +18,26 @@ public MainTablePreferences(ColumnPreferences columnPreferences,
this.extraFileColumnsEnabled.set(extraFileColumnsEnabled);
}

/// Creates Object with default values
private MainTablePreferences() {
this(
new ColumnPreferences(List.of(), List.of()), // Default column preferences
false, // Default resize columns to fit
false // Default extra file columns disabled
);
}

public static MainTablePreferences getDefault() {
return new MainTablePreferences();
}

public void setAll(MainTablePreferences preferences) {
this.columnPreferences.setColumns(preferences.getColumnPreferences().getColumns());
this.columnPreferences.setColumnSortOrder(preferences.getColumnPreferences().getColumnSortOrder());
this.setResizeColumnsToFit(preferences.getResizeColumnsToFit());
this.setExtraFileColumnsEnabled(preferences.getExtraFileColumnsEnabled());
}

public ColumnPreferences getColumnPreferences() {
return columnPreferences;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,7 @@ public void clear() throws BackingStoreException {
getUnlinkedFilesDialogPreferences().setAll(UnlinkedFilesDialogPreferences.getDefault());
getNewEntryPreferences().setAll(NewEntryPreferences.getDefault());
getSpecialFieldsPreferences().setAll(SpecialFieldsPreferences.getDefault());
getMainTablePreferences().setAll(MainTablePreferences.getDefault());
}

@Override
Expand All @@ -406,6 +407,7 @@ public void importPreferences(Path path) throws JabRefException {
getUnlinkedFilesDialogPreferences().setAll(UnlinkedFilesDialogPreferences.getDefault());
getNewEntryPreferences().setAll(getNewEntryPreferencesFromBackingStore(getNewEntryPreferences()));
getSpecialFieldsPreferences().setAll(getSpecialFieldsPreferencesFromBackingStore(getSpecialFieldsPreferences()));
getMainTablePreferences().setAll(getMainTablePreferencesFromBackingStore(getMainTablePreferences()));
}

// region EntryEditorPreferences
Expand Down Expand Up @@ -996,10 +998,7 @@ public MainTablePreferences getMainTablePreferences() {
return mainTablePreferences;
}

mainTablePreferences = new MainTablePreferences(
getMainTableColumnPreferences(),
getBoolean(AUTO_RESIZE_MODE),
getBoolean(EXTRA_FILE_COLUMNS));
mainTablePreferences = getMainTablePreferencesFromBackingStore(MainTablePreferences.getDefault());

EasyBind.listen(mainTablePreferences.resizeColumnsToFitProperty(),
(obs, oldValue, newValue) -> putBoolean(AUTO_RESIZE_MODE, newValue));
Expand All @@ -1009,6 +1008,14 @@ public MainTablePreferences getMainTablePreferences() {
return mainTablePreferences;
}

private MainTablePreferences getMainTablePreferencesFromBackingStore(MainTablePreferences defaults) {
return new MainTablePreferences(
getMainTableColumnPreferences(),
getBoolean(AUTO_RESIZE_MODE, defaults.getResizeColumnsToFit()),
getBoolean(EXTRA_FILE_COLUMNS, defaults.getExtraFileColumnsEnabled())
);
}

public ColumnPreferences getMainTableColumnPreferences() {
if (mainTableColumnPreferences != null) {
return mainTableColumnPreferences;
Expand Down
Loading