/* * SK's Minecraft Launcher * Copyright (C) 2010-2014 Albert Pham <http://www.sk89q.com> and contributors * Please see LICENSE.txt for license information. */ package com.skcraft.launcher.creator.controller; import com.skcraft.launcher.creator.dialog.ManifestEntryDialog; import com.skcraft.launcher.creator.model.creator.ManifestEntry; import com.skcraft.launcher.swing.SwingHelper; public class ManifestEntryController { private final ManifestEntryDialog dialog; private final ManifestEntry manifestEntry; private boolean save; public ManifestEntryController(ManifestEntryDialog dialog, ManifestEntry manifestEntry) { this.dialog = dialog; this.manifestEntry = manifestEntry; initListeners(); copyFrom(); } private void copyFrom() { dialog.getIncludeCheck().setSelected(manifestEntry.isSelected()); dialog.getPrioritySpinner().setValue(manifestEntry.getManifestInfo().getPriority()); SwingHelper.setTextAndResetCaret(dialog.getGameKeysText(), SwingHelper.listToLines(manifestEntry.getGameKeys())); } private void copyTo() { manifestEntry.setSelected(dialog.getIncludeCheck().isSelected()); manifestEntry.getManifestInfo().setPriority((Integer) dialog.getPrioritySpinner().getValue()); manifestEntry.setGameKeys(SwingHelper.linesToList(dialog.getGameKeysText().getText())); } public boolean show() { dialog.setVisible(true); return save; } private void initListeners() { dialog.getOkButton().addActionListener(e -> { copyTo(); save = true; dialog.dispose(); }); dialog.getCancelButton().addActionListener(e -> dialog.dispose()); } }