diff -r 4ad59aaee882 -r 2f468c1958d0 javauis/eswt_qt/org.eclipse.swt/Eclipse SWT/qt/org/eclipse/swt/widgets/Shell.java --- a/javauis/eswt_qt/org.eclipse.swt/Eclipse SWT/qt/org/eclipse/swt/widgets/Shell.java Fri Sep 17 08:28:21 2010 +0300 +++ b/javauis/eswt_qt/org.eclipse.swt/Eclipse SWT/qt/org/eclipse/swt/widgets/Shell.java Mon Oct 04 00:10:53 2010 +0300 @@ -422,6 +422,20 @@ addListener (SWT.Deactivate, typedListener); } +void checkNoBackground() { + if((style & SWT.NO_BACKGROUND) != 0) { + if(handle != 0) { + OS.QWidget_setAttribute(handle, OS.QT_WA_NOSYSTEMBACKGROUND, true); + } + if(scrollAreaHandle != 0) { + OS.QWidget_setAttribute(scrollAreaHandle, OS.QT_WA_NOSYSTEMBACKGROUND, true); + } + if(topHandle != 0) { + OS.QWidget_setAttribute(topHandle, OS.QT_WA_NOSYSTEMBACKGROUND, true); + } + } +} + /** * Requests that the window manager close the receiver in * the same way it would be closed when the user clicks on @@ -593,6 +607,13 @@ // Shell must not by default accept focus by clicking. int policy = OS.QWidget_focusPolicy(topHandle) & ~OS.QT_FOCUSPOLICY_CLICKFOCUS; OS.QWidget_setFocusPolicy(topHandle, policy); + policy = OS.QWidget_focusPolicy(scrollAreaHandle) & ~OS.QT_FOCUSPOLICY_CLICKFOCUS; + OS.QWidget_setFocusPolicy(scrollAreaHandle, policy); + policy = OS.QWidget_focusPolicy(handle) & ~OS.QT_FOCUSPOLICY_CLICKFOCUS; + OS.QWidget_setFocusPolicy(handle, policy); + + // The Shell should not become active when Shell.setVisible(true) is called. + OS.QWidget_setAttribute(topHandle, OS.QT_WA_SHOWWITHOUTACTIVATING, true); // Stand-alone Composites, Shells, Canvases set the CANVAS flag state |= WidgetState.HANDLE | WidgetState.CANVAS;