Support remembering change to compact mode on list views

This commit is contained in:
drdev
2014-08-01 16:17:19 +00:00
parent c1cf87e339
commit 91ac72b55e
4 changed files with 23 additions and 1 deletions

View File

@@ -68,6 +68,7 @@ public final class ItemListView<T extends InventoryItem> extends ItemView<T> {
@Override
public void setup(ItemManagerConfig config, Map<ColumnDef, ItemColumn> colOverrides) {
list.compactModeHandler.setCompactMode(config.getCompactListView());
refresh(null, 0, 0);
}
@@ -284,6 +285,9 @@ public final class ItemListView<T extends InventoryItem> extends ItemView<T> {
if (compactModeHandler.update(amount)) {
revalidate(); //update scroll bounds
scrollSelectionIntoView(); //ensure selection remains in view
//update compact mode configuration
itemManager.getConfig().setCompactListView(compactModeHandler.isCompactMode());
}
return true;
}

View File

@@ -139,7 +139,7 @@ public class SettingsPage extends TabPage<SettingsScreen> {
4);
lstSettings.addItem(new BooleanSetting(FPref.UI_COMPACT_LIST_ITEMS,
"Compact List Items",
"Show only a single line of text for cards and decks on list views by default."),
"Show only a single line of text for cards and decks on all list views by default."),
4);
lstSettings.addItem(new BooleanSetting(FPref.UI_HIDE_REMINDER_TEXT,
"Hide Reminder Text",

View File

@@ -267,6 +267,9 @@ public class FList<E> extends FScrollPane implements Iterable<E> {
public boolean isCompactMode() {
return compactMode;
}
public void setCompactMode(boolean compactMode0) {
compactMode = compactMode0;
}
public boolean update(float amount) {
totalZoomAmount += amount;

View File

@@ -1,7 +1,9 @@
package forge.itemmanager;
import forge.itemmanager.ItemColumnConfig.SortState;
import forge.model.FModel;
import forge.properties.ForgeConstants;
import forge.properties.ForgePreferences.FPref;
import forge.util.XmlUtil;
import java.io.FileNotFoundException;
@@ -88,6 +90,7 @@ public enum ItemManagerConfig {
private Prop<Boolean> uniqueCardsOnly;
private Prop<Boolean> hideFilters;
private Prop<Boolean> compactListView;
private Prop<GroupDef> groupBy;
private Prop<ColumnDef> pileBy;
private Prop<Integer> imageColumnCount;
@@ -102,6 +105,7 @@ public enum ItemManagerConfig {
uniqueCardsOnly = new Prop<Boolean>(uniqueCardsOnly0);
hideFilters = new Prop<Boolean>(hideFilters0);
compactListView = new Prop<Boolean>(FModel.getPreferences().getPrefBoolean(FPref.UI_COMPACT_LIST_ITEMS)); //use main setting to determine default
groupBy = new Prop<GroupDef>(groupBy0);
pileBy = new Prop<ColumnDef>(pileBy0);
imageColumnCount = new Prop<Integer>(imageColumnCount0);
@@ -167,6 +171,13 @@ public enum ItemManagerConfig {
hideFilters.setValue(value0);
}
public boolean getCompactListView() {
return compactListView.getValue();
}
public void setCompactListView(boolean value0) {
compactListView.setValue(value0);
}
public GroupDef getGroupBy() {
return groupBy.getValue();
}
@@ -210,6 +221,9 @@ public enum ItemManagerConfig {
if (el.hasAttribute("hideFilters")) {
config.hideFilters.value = Boolean.parseBoolean(el.getAttribute("hideFilters"));
}
if (el.hasAttribute("compactListView")) {
config.compactListView.value = Boolean.parseBoolean(el.getAttribute("compactListView"));
}
if (el.hasAttribute("groupBy")) {
String value = el.getAttribute("groupBy");
if (value.isEmpty()) {
@@ -289,6 +303,7 @@ public enum ItemManagerConfig {
el.setAttribute("name", config.name());
config.uniqueCardsOnly.writeValue(el, "uniqueCardsOnly");
config.hideFilters.writeValue(el, "hideFilters");
config.compactListView.writeValue(el, "compactListView");
config.groupBy.writeValue(el, "groupBy");
config.pileBy.writeValue(el, "pileBy");
config.imageColumnCount.writeValue(el, "imageColumnCount");