allowing clicking any mousearea back to the textfield/disable movement ctrls

This commit is contained in:
Wayne Chen 2018-11-29 17:18:40 -08:00
parent e033492472
commit 707339dd2a
4 changed files with 27 additions and 3 deletions

View file

@ -18,6 +18,7 @@ import stylesUit 1.0 as HifiStylesUit
import TabletScriptingInterface 1.0
Item {
z: -2
id: linkAccountBody
clip: true
focus: true
@ -82,6 +83,7 @@ Item {
}
Item {
z: 10
id: mainContainer
width: root.width
height: root.height
@ -442,6 +444,16 @@ Item {
}
}
}
MouseArea {
anchors.fill: parent
onClicked: {
print("clicked");
if (!emailField.focus && !passwordField.focus) {
print("forcing active focus");
emailField.forceActiveFocus();
}
}
}
Component.onCompleted: {
//but rise Tablet's one instead for Tablet interface

View file

@ -393,6 +393,16 @@ Item {
}
}
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.LeftButton
onClicked: {
if (!usernameField.focus && !emailField.focus && !passwordField.focus) {
usernameField.focus = true;
}
}
}
Component.onCompleted: {
//but rise Tablet's one instead for Tablet interface
root.keyboardEnabled = HMD.active;

View file

@ -5340,6 +5340,7 @@ void Application::pauseUntilLoginDetermined() {
}
getMyAvatar()->setEnableMeshVisible(false);
_controllerScriptingInterface->disableMapping("Standard to Action");
const auto& nodeList = DependencyManager::get<NodeList>();
// save interstitial mode setting until resuming.
@ -5381,6 +5382,7 @@ void Application::resumeAfterLoginDialogActionTaken() {
updateSystemTabletMode();
getMyAvatar()->setEnableMeshVisible(true);
_controllerScriptingInterface->enableMapping("Standard to Action");
const auto& nodeList = DependencyManager::get<NodeList>();
nodeList->getDomainHandler().setInterstitialModeEnabled(_interstitialModeEnabled);
@ -8727,7 +8729,7 @@ void Application::createLoginDialogOverlay() {
{ "dpi", overlayDpi },
{ "visible", true }
};
auto& overlays = getOverlays();
_loginDialogOverlayID = getOverlays().addOverlay("web3d", overlayProperties);
auto keyboard = DependencyManager::get<Keyboard>().data();
if (!keyboard->getAnchorID().isNull() && !_loginDialogOverlayID.isNull()) {
@ -8736,7 +8738,7 @@ void Application::createLoginDialogOverlay() {
{ "localPosition", vec3toVariant(glm::vec3(-0.3f, -0.3f, 0.2f)) },
{ "localOrientation", quatToVariant(glm::quat(0.0f, 0.0, 1.0f, 0.25f)) },
};
getOverlays().editOverlay(keyboard->getAnchorID(), properties);
overlays.editOverlay(keyboard->getAnchorID(), properties);
keyboard->setResetKeyboardPositionOnRaise(false);
}
getApplicationCompositor().getReticleInterface()->setAllowMouseCapture(false);

View file

@ -223,6 +223,7 @@ bool Web3DOverlay::isWebContent() const {
void Web3DOverlay::setupQmlSurface(bool isTablet) {
_webSurface->getSurfaceContext()->setContextProperty("Users", DependencyManager::get<UsersScriptingInterface>().data());
_webSurface->getSurfaceContext()->setContextProperty("Account", AccountServicesScriptingInterface::getInstance()); // DEPRECATED - TO BE REMOVED
_webSurface->getSurfaceContext()->setContextProperty("HMD", DependencyManager::get<HMDScriptingInterface>().data());
_webSurface->getSurfaceContext()->setContextProperty("UserActivityLogger", DependencyManager::get<UserActivityLoggerScriptingInterface>().data());
_webSurface->getSurfaceContext()->setContextProperty("Preferences", DependencyManager::get<Preferences>().data());
@ -242,7 +243,6 @@ void Web3DOverlay::setupQmlSurface(bool isTablet) {
_webSurface->getSurfaceContext()->setContextProperty("offscreenFlags", flags);
_webSurface->getSurfaceContext()->setContextProperty("AddressManager", DependencyManager::get<AddressManager>().data());
_webSurface->getSurfaceContext()->setContextProperty("Account", AccountServicesScriptingInterface::getInstance()); // DEPRECATED - TO BE REMOVED
_webSurface->getSurfaceContext()->setContextProperty("GlobalServices", AccountServicesScriptingInterface::getInstance()); // DEPRECATED - TO BE REMOVED
_webSurface->getSurfaceContext()->setContextProperty("AccountServices", AccountServicesScriptingInterface::getInstance());