package org.limewire.ui.swing.wizard;
import java.awt.Frame;
import org.limewire.core.api.library.LibraryData;
import org.limewire.core.api.library.LibraryManager;
import org.limewire.core.settings.InstallSettings;
import org.limewire.ui.swing.util.GuiUtils;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class SetupWizard {
private Wizard wizard;
private final LibraryData libraryData;
@Inject
public SetupWizard(Provider<SetupComponentDecoratorFactory> decoratorFactory,
Provider<LibraryManager> libraryManagerProvider) {
this.libraryData = libraryManagerProvider.get().getLibraryData();
createWizard(decoratorFactory.get(), libraryData);
}
public static boolean shouldShowWizard() {
return shouldShowPage1();
}
public void showDialog(Frame owner) {
wizard.showDialog(owner);
}
private void createWizard(SetupComponentDecoratorFactory decoratorFactory,
LibraryData libraryData) {
SetupComponentDecorator decorator = decoratorFactory.create();
wizard = new Wizard(decorator);
if (shouldShowPage1()) {
wizard.addPage(new SetupPage1(decorator));
}
wizard.addPage(new SetupPage2(decorator, libraryData));
}
private static boolean shouldShowPage1() {
if (!InstallSettings.AUTO_SHARING_OPTION.getValue()) {
return true;
}
if (!InstallSettings.START_STARTUP.getValue()) {
return GuiUtils.shouldShowStartOnStartupWindow();
}
return false;
}
}