screenShotDialog = null;
}
- /* close the Key Window */
- if (skinInfo.isPhoneShape() == false) {
- closeKeyWindow();
- }
-
- /* dispose the color */
- if (colorVM != null) {
- colorVM.dispose();
- }
-
/* save config only for emulator close */
config.setSkinProperty(
SkinPropertiesConstants.WINDOW_X, shell.getLocation().x);
SkinPropertiesConstants.WINDOW_ROTATION, currentState.getCurrentRotationId());
config.setSkinProperty(
SkinPropertiesConstants.WINDOW_ONTOP, Boolean.toString(isOnTop));
+
+ int dockValue = 0;
+ if (keyWindow != null && keyWindow.getShell().isVisible()) {
+ dockValue = keyWindow.getDockPosition();
+ }
+ config.setSkinProperty(
+ SkinPropertiesConstants.KEYWINDOW_POSITION, dockValue);
+
config.saveSkinProperties();
+
+ /* close the Key Window */
+ if (skinInfo.isPhoneShape() == false) {
+ closeKeyWindow();
+ }
+
+ /* dispose the color */
+ if (colorVM != null) {
+ colorVM.dispose();
+ }
}
if (currentState.getCurrentImage() != null) {
public static final String WINDOW_Y = "window.y";
public static final String WINDOW_ROTATION = "window.rotate";
public static final String WINDOW_SCALE = "window.scale";
- public static final String WINDOW_ONTOP = "window.ontop"; // always on top
+ public static final String WINDOW_ONTOP = "window.ontop"; /* always on top */
+ public static final String KEYWINDOW_POSITION = "window.keywindow.position";
}
public interface ConfigPropertiesConstants {
arrangeSkin(scale, rotationId);
/* open the key window */
+ final int dockValue = config.getSkinPropertyInt(
+ SkinPropertiesConstants.KEYWINDOW_POSITION, 0);
+
shell.getDisplay().asyncExec(new Runnable() {
@Override
public void run() {
- skin.openKeyWindow(SWT.RIGHT | SWT.CENTER, false);
+ if (dockValue == 0 || dockValue == SWT.NONE) {
+ skin.openKeyWindow(SWT.RIGHT | SWT.CENTER, false);
+ } else {
+ skin.openKeyWindow(dockValue, false);
+ }
}
});
}