/******************************************************************************* * Copyright (c) 2015 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributor: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.vpe.reddeer.utils; import org.eclipse.core.runtime.Platform; import org.jboss.reddeer.workbench.ui.dialogs.WorkbenchPreferenceDialog; import org.jboss.reddeer.common.logging.Logger; import org.jboss.reddeer.common.platform.OS; import org.jboss.reddeer.common.platform.RunningPlatform; import org.jboss.tools.vpe.editor.util.VpePlatformUtil; import org.jboss.tools.vpe.reddeer.preferences.VisualPageEditorPreferencePage; /** * Handles web engine switching * * @author vlado pakan */ public class WebEngineSwitchingManager { protected final static Logger log = Logger.getLogger(WebEngineSwitchingManager.class); /** * Sets Do Not Show Browser Engine Dialog property of VPE * Working only on Linux with GTK2 otherwise doesn't make sense * @param enable */ private static void setDoNotShowBrowserEngineDialogProperty (boolean enable){ if (RunningPlatform.isOperationSystem(OS.LINUX)){ if (!VpePlatformUtil.isGTK3()){ if (!Platform.getPreferencesService() .getBoolean("org.jboss.tools.jst.web.ui", "Remember visual editor engine", false, null)){ WorkbenchPreferenceDialog preferencesDialog = new WorkbenchPreferenceDialog(); preferencesDialog.open(); VisualPageEditorPreferencePage visualPageEditorPreferencePage = new VisualPageEditorPreferencePage(); preferencesDialog.select(visualPageEditorPreferencePage); visualPageEditorPreferencePage.setDoNotShowBrowserEngineDialog(true); preferencesDialog.ok(); } else{ log.debug("Do Not Show Browser Engine Dialog property is already set to true"); } } else{ log.debug("Do Not Show Browser Engine Dialog property not set because running system is using GTK3"); } } else { log.debug("Do Not Show Browser Engine Dialog property not set because running system is not Linux"); } } /** * Checks Do Not Show Browser Engine Dialog property of VPE */ public static void checkDoNotShowBrowserEngineDialogProperty (){ setDoNotShowBrowserEngineDialogProperty(true); } /** * Unchecks Do Not Show Browser Engine Dialog property of VPE */ public static void uncheckDoNotShowBrowserEngineDialogProperty (){ setDoNotShowBrowserEngineDialogProperty(false); } }