mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 10:07:58 +02:00
updates per discussion with triplelexx
This commit is contained in:
parent
630afb716f
commit
5d5d947ddb
4 changed files with 50 additions and 32 deletions
|
@ -23,33 +23,8 @@ Original.Button {
|
||||||
|
|
||||||
HifiConstants { id: hifi }
|
HifiConstants { id: hifi }
|
||||||
|
|
||||||
// FIXME: THIS WORKAROUND MIGRATED/CONSOLIDATED FROM RUNNINGSCRIPTS.QML
|
|
||||||
|
|
||||||
// For some reason trigginer an API that enters
|
|
||||||
// an internal event loop directly from the button clicked
|
|
||||||
// trigger below causes the appliction to behave oddly.
|
|
||||||
// Most likely because the button onClicked handling is never
|
|
||||||
// completed until the function returns.
|
|
||||||
// FIXME find a better way of handling the input dialogs that
|
|
||||||
// doesn't trigger this.
|
|
||||||
|
|
||||||
// NOTE: dialogs that need to use this workaround can connect via
|
|
||||||
// onQueuedClicked: ...
|
|
||||||
// instead of:
|
|
||||||
// onClicked: ...
|
|
||||||
|
|
||||||
onClicked: fromTimer.running = true
|
|
||||||
signal queuedClicked()
|
|
||||||
Timer {
|
|
||||||
id: fromTimer
|
|
||||||
interval: 5
|
|
||||||
repeat: false
|
|
||||||
running: false
|
|
||||||
onTriggered: { console.info('onQueuedClicked->onTriggered'); queuedClicked() }
|
|
||||||
}
|
|
||||||
onQueuedClicked: console.info('HifiControls.Button -- please define onClicked: or onQueuedClicked:')
|
|
||||||
|
|
||||||
style: ButtonStyle {
|
style: ButtonStyle {
|
||||||
|
|
||||||
background: Rectangle {
|
background: Rectangle {
|
||||||
radius: hifi.buttons.radius
|
radius: hifi.buttons.radius
|
||||||
|
|
||||||
|
|
43
interface/resources/qml/controls-uit/QueuedButton.qml
Normal file
43
interface/resources/qml/controls-uit/QueuedButton.qml
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
//
|
||||||
|
// QueuedButton.qml
|
||||||
|
// -- original Button.qml + signal timer workaround --ht
|
||||||
|
// Created by David Rowe on 16 Feb 2016
|
||||||
|
// Copyright 2016 High Fidelity, Inc.
|
||||||
|
//
|
||||||
|
// Distributed under the Apache License, Version 2.0.
|
||||||
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
//
|
||||||
|
|
||||||
|
import QtQuick 2.5
|
||||||
|
import QtQuick.Controls 1.4 as Original
|
||||||
|
import QtQuick.Controls.Styles 1.4
|
||||||
|
|
||||||
|
import "../styles-uit"
|
||||||
|
import "." as HifiControls
|
||||||
|
|
||||||
|
HifiControls.Button {
|
||||||
|
// FIXME: THIS WORKAROUND MIGRATED/CONSOLIDATED FROM RUNNINGSCRIPTS.QML
|
||||||
|
|
||||||
|
// For some reason trigginer an API that enters
|
||||||
|
// an internal event loop directly from the button clicked
|
||||||
|
// trigger below causes the appliction to behave oddly.
|
||||||
|
// Most likely because the button onClicked handling is never
|
||||||
|
// completed until the function returns.
|
||||||
|
// FIXME find a better way of handling the input dialogs that
|
||||||
|
// doesn't trigger this.
|
||||||
|
|
||||||
|
// NOTE: dialogs that need to use this workaround can connect via
|
||||||
|
// onQueuedClicked: ...
|
||||||
|
// instead of:
|
||||||
|
// onClicked: ...
|
||||||
|
|
||||||
|
signal clickedQueued()
|
||||||
|
Timer {
|
||||||
|
id: fromTimer
|
||||||
|
interval: 5
|
||||||
|
repeat: false
|
||||||
|
running: false
|
||||||
|
onTriggered: clickedQueued()
|
||||||
|
}
|
||||||
|
onClicked: fromTimer.running = true
|
||||||
|
}
|
|
@ -75,7 +75,7 @@ Preference {
|
||||||
colorScheme: hifi.colorSchemes.dark
|
colorScheme: hifi.colorSchemes.dark
|
||||||
}
|
}
|
||||||
|
|
||||||
Button {
|
QueuedButton {
|
||||||
id: bookmarkAvatarButton
|
id: bookmarkAvatarButton
|
||||||
text: "Bookmark Avatar"
|
text: "Bookmark Avatar"
|
||||||
width: 140
|
width: 140
|
||||||
|
@ -84,7 +84,7 @@ Preference {
|
||||||
bottom: parent.bottom
|
bottom: parent.bottom
|
||||||
rightMargin: hifi.dimensions.contentSpacing.x
|
rightMargin: hifi.dimensions.contentSpacing.x
|
||||||
}
|
}
|
||||||
onQueuedClicked: avatarBookmarks.addBookmark()
|
onClickedQueued: avatarBookmarks.addBookmark()
|
||||||
}
|
}
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
|
|
|
@ -219,18 +219,18 @@ ScrollingWindow {
|
||||||
Row {
|
Row {
|
||||||
spacing: hifi.dimensions.contentSpacing.x
|
spacing: hifi.dimensions.contentSpacing.x
|
||||||
|
|
||||||
HifiControls.Button {
|
HifiControls.QueuedButton {
|
||||||
text: "from URL"
|
text: "from URL"
|
||||||
color: hifi.buttons.black
|
color: hifi.buttons.black
|
||||||
height: 26
|
height: 26
|
||||||
onQueuedClicked: ApplicationInterface.loadScriptURLDialog()
|
onClickedQueued: ApplicationInterface.loadScriptURLDialog()
|
||||||
}
|
}
|
||||||
|
|
||||||
HifiControls.Button {
|
HifiControls.QueuedButton {
|
||||||
text: "from Disk"
|
text: "from Disk"
|
||||||
color: hifi.buttons.black
|
color: hifi.buttons.black
|
||||||
height: 26
|
height: 26
|
||||||
onQueuedClicked: ApplicationInterface.loadDialog()
|
onClickedQueued: ApplicationInterface.loadDialog()
|
||||||
}
|
}
|
||||||
|
|
||||||
HifiControls.Button {
|
HifiControls.Button {
|
||||||
|
|
Loading…
Reference in a new issue