Author: yradtsevich
Date: 2012-02-16 10:01:08 -0500 (Thu, 16 Feb 2012)
New Revision: 38824
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/model/DevicesList.java
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/model/DevicesListStorage.java
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/resources/config/devices.cfg
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/EditDeviceDialog.java
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/ManageDevicesDialog.java
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/Messages.java
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/messages.properties
Log:
https://issues.jboss.org/browse/JBIDE-10431 : browsersim should be sexy
- added persistence for the "Use Skins" option
- added skin selection in the Add/Edit Device dialog
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/model/DevicesList.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/model/DevicesList.java 2012-02-16
14:55:06 UTC (rev 38823)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/model/DevicesList.java 2012-02-16
15:01:08 UTC (rev 38824)
@@ -21,11 +21,12 @@
public class DevicesList extends Observable {
private List<Device> devices;
private int selectedDeviceIndex;
- private boolean useSkins = true;
+ private boolean useSkins;
- public DevicesList(List<Device> devices, int selectedDeviceIndex) {
+ public DevicesList(List<Device> devices, int selectedDeviceIndex, boolean
useSkins) {
this.devices = devices;
this.selectedDeviceIndex = selectedDeviceIndex;
+ this.useSkins = useSkins;
}
public List<Device> getDevices() {
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/model/DevicesListStorage.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/model/DevicesListStorage.java 2012-02-16
14:55:06 UTC (rev 38823)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/model/DevicesListStorage.java 2012-02-16
15:01:08 UTC (rev 38824)
@@ -33,7 +33,7 @@
private static final String DEFAULT_PREFERENCES_RESOURCE =
"config/devices.cfg";
private static final String USER_PREFERENCES_FOLDER =
"org.jboss.tools.vpe.browsersim";
private static final String USER_PREFERENCES_FILE = "devices.cfg";
- private static final int CURRENT_CONFIG_VERSION = 2;
+ private static final int CURRENT_CONFIG_VERSION = 3;
public static void saveUserDefinedDevicesList(DevicesList devicesList) {
File configFolder = new File(USER_PREFERENCES_FOLDER);
@@ -74,7 +74,7 @@
Device device = new Device("Default", 1024, 768, null, null);
List<Device> devices = new ArrayList<Device>();
devices.add(device);
- devicesList = new DevicesList(devices, 0);
+ devicesList = new DevicesList(devices, 0, true);
}
return devicesList;
@@ -85,6 +85,7 @@
writer.write("ConfigVersion=" + String.valueOf(CURRENT_CONFIG_VERSION) +
"\n");
writer.write("SelectedDeviceIndex=" +
String.valueOf(devicesList.getSelectedDeviceIndex()) + "\n");
+ writer.write("UseSkins=" + String.valueOf(devicesList.getUseSkins()) +
"\n");
for (Device device : devicesList.getDevices()) {
writer.write( encode(device.getName() ));
@@ -116,6 +117,7 @@
List<Device> devices = null;
int selectedDeviceIndex = 0;
+ boolean useSkins = true;
try {
String nextLine;
@@ -137,6 +139,14 @@
}
}
+ if ((nextLine = reader.readLine()) != null) {
+ Pattern pattern = Pattern.compile("UseSkins=(true|false)");
+ Matcher matcher = pattern.matcher(nextLine);
+ if (matcher.matches()) {
+ useSkins = Boolean.parseBoolean(matcher.group(1));
+ }
+ }
+
Pattern devicePattern =
Pattern.compile("^(.*)\\t(\\-?[0-9]+)\\t(\\-?[0-9]+)\\t(.+)?\\t(.+)?$");
devices = new ArrayList<Device>();
@@ -164,7 +174,7 @@
if (devices == null || devices.size() <= selectedDeviceIndex) {
return null;
} else {
- return new DevicesList(devices, selectedDeviceIndex);
+ return new DevicesList(devices, selectedDeviceIndex, useSkins);
}
}
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/resources/config/devices.cfg
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/resources/config/devices.cfg 2012-02-16
14:55:06 UTC (rev 38823)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/resources/config/devices.cfg 2012-02-16
15:01:08 UTC (rev 38824)
@@ -1,5 +1,6 @@
-ConfigVersion=2
+ConfigVersion=3
SelectedDeviceIndex=2
+UseSkins=true
Desktop (Default User-Agent) 1024 768
Apple iPad 2 768 1024 Mozilla/5.0 (iPad; U; CPU OS 4_3_1 like Mac OS X; en-us)
AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5 Apple
iPhone 3
Apple iPhone 3 320 480 Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us)
AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7 Apple
iPhone 3
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/EditDeviceDialog.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/EditDeviceDialog.java 2012-02-16
14:55:06 UTC (rev 38823)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/EditDeviceDialog.java 2012-02-16
15:01:08 UTC (rev 38824)
@@ -10,6 +10,12 @@
******************************************************************************/
package org.jboss.tools.vpe.browsersim.ui;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
@@ -21,6 +27,7 @@
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Dialog;
import org.eclipse.swt.widgets.Display;
@@ -28,6 +35,7 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.jboss.tools.vpe.browsersim.model.Device;
+import org.jboss.tools.vpe.browsersim.model.SkinMap;
/**
* @author Yahor Radtsevich (yradtsevich)
@@ -43,6 +51,8 @@
private Button checkButtonWidth;
private Button checkButtonHeight;
private Button checkButtonUserAgent;
+ private Combo comboSkin;
+ private List<String> skinIds;
/**
* Create the dialog.
@@ -134,6 +144,23 @@
attachCheckBoxToText(checkButtonUserAgent, textUserAgent);
+ Label labelSkin = new Label(shell, SWT.NONE);
+ labelSkin.setText(Messages.EditDeviceDialog_SKIN);
+
+ comboSkin = new Combo (shell, SWT.READ_ONLY);
+ comboSkin.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+
+ skinIds = new ArrayList<String>(SkinMap.getInstance().getSkinIds());
+ Collections.sort(skinIds, new Comparator<String>() {
+ @Override
+ public int compare(String o1, String o2) {
+ return o1.toLowerCase().compareTo(o2.toLowerCase());
+ }
+ });
+ skinIds.add(0, Messages.EditDeviceDialog_NONE);
+ comboSkin.setItems(skinIds.toArray(new String[0]));
+ comboSkin.setText(initialDevice.getSkinId() == null ? Messages.EditDeviceDialog_NONE :
initialDevice.getSkinId());
+
Composite composite = new Composite(shell, SWT.NONE);
composite.setLayout(new FillLayout(SWT.HORIZONTAL));
composite.setLayoutData(new GridData(SWT.RIGHT, SWT.BOTTOM, true, true, 2, 1));
@@ -146,7 +173,7 @@
checkButtonWidth.getSelection() ? Integer.valueOf("0" +
textWidth.getText()) : Device.DEFAULT_SIZE,
checkButtonHeight.getSelection() ? Integer.valueOf("0" +
textHeight.getText()) : Device.DEFAULT_SIZE,
checkButtonUserAgent.getSelection() ? textUserAgent.getText() : null,
- null);
+ comboSkin.getSelectionIndex() == 0 ? null :
skinIds.get(comboSkin.getSelectionIndex()));
shell.close();
}
});
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/ManageDevicesDialog.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/ManageDevicesDialog.java 2012-02-16
14:55:06 UTC (rev 38823)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/ManageDevicesDialog.java 2012-02-16
15:01:08 UTC (rev 38824)
@@ -79,7 +79,7 @@
*/
private void createContents() {
shell = new Shell(getParent(), getStyle());
- shell.setSize(450, 300);
+ shell.setSize(650, 450);
shell.setText(getText());
shell.setLayout(new GridLayout(2, false));
@@ -109,6 +109,10 @@
tableColumnUseragent.setWidth(100);
tableColumnUseragent.setText(Messages.ManageDevicesDialog_USER_AGENT);
+ TableColumn tableColumnSkin = new TableColumn(table, SWT.NONE);
+ tableColumnSkin.setWidth(100);
+ tableColumnSkin.setText(Messages.ManageDevicesDialog_SKIN);
+
Composite compositeControls = new Composite(shell, SWT.NONE);
compositeControls.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
compositeControls.setLayout(new FillLayout(SWT.VERTICAL));
@@ -188,7 +192,7 @@
shell.setDefaultButton(buttonOk);
buttonOk.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
- resultDevicesList = new DevicesList(devices, selectedDeviceIndex);
+ resultDevicesList = new DevicesList(devices, selectedDeviceIndex,
oldDevicesList.getUseSkins());
shell.close();
}
});
@@ -214,7 +218,8 @@
device.getName(),
device.getWidth() == Device.DEFAULT_SIZE ? Messages.ManageDevicesDialog_DEFAULT :
String.valueOf(device.getWidth()),
device.getHeight() == Device.DEFAULT_SIZE ? Messages.ManageDevicesDialog_DEFAULT :
String.valueOf(device.getHeight()),
- device.getUserAgent() == null ? Messages.ManageDevicesDialog_DEFAULT :
device.getUserAgent()
+ device.getUserAgent() == null ? Messages.ManageDevicesDialog_DEFAULT :
device.getUserAgent(),
+ device.getSkinId() == null ? Messages.ManageDevicesDialog_NONE :
device.getSkinId()
});
}
table.setSelection(selectedDeviceIndex);
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/Messages.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/Messages.java 2012-02-16
14:55:06 UTC (rev 38823)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/Messages.java 2012-02-16
15:01:08 UTC (rev 38824)
@@ -34,7 +34,9 @@
public static String EditDeviceDialog_HEIGHT;
public static String EditDeviceDialog_MANAGE_DEVICES;
public static String EditDeviceDialog_NAME;
+ public static String EditDeviceDialog_NONE;
public static String EditDeviceDialog_OK;
+ public static String EditDeviceDialog_SKIN;
public static String EditDeviceDialog_USER_AGENT;
public static String EditDeviceDialog_WIDTH;
public static String ManageDevicesDialog_ADD;
@@ -44,11 +46,13 @@
public static String ManageDevicesDialog_EDIT;
public static String ManageDevicesDialog_HEIGHT;
public static String ManageDevicesDialog_NAME;
+ public static String ManageDevicesDialog_NONE;
public static String ManageDevicesDialog_NEW_DEVICE;
public static String ManageDevicesDialog_NEW_USER_AGENT;
public static String ManageDevicesDialog_OK;
public static String ManageDevicesDialog_REMOVE;
public static String ManageDevicesDialog_REVERT_ALL;
+ public static String ManageDevicesDialog_SKIN;
public static String ManageDevicesDialog_LOAD_DEFAULTS;
public static String ManageDevicesDialog_USER_AGENT;
public static String ManageDevicesDialog_WIDTH;
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/messages.properties
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/messages.properties 2012-02-16
14:55:06 UTC (rev 38823)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.browsersim/src/org/jboss/tools/vpe/browsersim/ui/messages.properties 2012-02-16
15:01:08 UTC (rev 38824)
@@ -15,7 +15,9 @@
EditDeviceDialog_HEIGHT=Height:
EditDeviceDialog_MANAGE_DEVICES=Manage Devices
EditDeviceDialog_NAME=Name:
+EditDeviceDialog_NONE=None
EditDeviceDialog_OK=OK
+EditDeviceDialog_SKIN=Skin:
EditDeviceDialog_USER_AGENT=User-Agent:
EditDeviceDialog_WIDTH=Width:
ManageDevicesDialog_ADD=Add
@@ -25,11 +27,13 @@
ManageDevicesDialog_EDIT=Edit
ManageDevicesDialog_HEIGHT=Height
ManageDevicesDialog_NAME=Name
+ManageDevicesDialog_NONE=None
ManageDevicesDialog_NEW_DEVICE=New Device
ManageDevicesDialog_NEW_USER_AGENT=New User-Agent
ManageDevicesDialog_OK=OK
ManageDevicesDialog_REMOVE=Remove
ManageDevicesDialog_REVERT_ALL=Revert All
+ManageDevicesDialog_SKIN=Skin
ManageDevicesDialog_LOAD_DEFAULTS=Load Defaults
ManageDevicesDialog_USER_AGENT=User-Agent
ManageDevicesDialog_WIDTH=Width