mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 03:17:02 +02:00
Merge branch 'master' of github.com:highfidelity/hifi into commandLineParametersForAutotester
This commit is contained in:
commit
3ebfe9efff
12 changed files with 70 additions and 53 deletions
|
@ -1308,7 +1308,7 @@ Item {
|
||||||
anchors.right: parent.right;
|
anchors.right: parent.right;
|
||||||
anchors.rightMargin: root.assetName === "" ? 15 : 50;
|
anchors.rightMargin: root.assetName === "" ? 15 : 50;
|
||||||
anchors.bottom: parent.bottom;
|
anchors.bottom: parent.bottom;
|
||||||
anchors.bottomMargin: root.assetName === "" ? 15 : 300;
|
anchors.bottomMargin: root.assetName === "" ? 15 : 240;
|
||||||
color: "#FFFFFF";
|
color: "#FFFFFF";
|
||||||
|
|
||||||
RalewaySemiBold {
|
RalewaySemiBold {
|
||||||
|
@ -1403,12 +1403,12 @@ Item {
|
||||||
id: giftContainer_paymentSuccess;
|
id: giftContainer_paymentSuccess;
|
||||||
visible: root.assetName !== "";
|
visible: root.assetName !== "";
|
||||||
anchors.top: sendToContainer_paymentSuccess.bottom;
|
anchors.top: sendToContainer_paymentSuccess.bottom;
|
||||||
anchors.topMargin: 16;
|
anchors.topMargin: 8;
|
||||||
anchors.left: parent.left;
|
anchors.left: parent.left;
|
||||||
anchors.leftMargin: 20;
|
anchors.leftMargin: 20;
|
||||||
anchors.right: parent.right;
|
anchors.right: parent.right;
|
||||||
anchors.rightMargin: 20;
|
anchors.rightMargin: 20;
|
||||||
height: 80;
|
height: 30;
|
||||||
|
|
||||||
RalewaySemiBold {
|
RalewaySemiBold {
|
||||||
id: gift_paymentSuccess;
|
id: gift_paymentSuccess;
|
||||||
|
@ -1431,6 +1431,7 @@ Item {
|
||||||
anchors.top: parent.top;
|
anchors.top: parent.top;
|
||||||
anchors.left: gift_paymentSuccess.right;
|
anchors.left: gift_paymentSuccess.right;
|
||||||
anchors.right: parent.right;
|
anchors.right: parent.right;
|
||||||
|
height: parent.height;
|
||||||
// Text size
|
// Text size
|
||||||
size: 18;
|
size: 18;
|
||||||
// Style
|
// Style
|
||||||
|
@ -1522,7 +1523,7 @@ Item {
|
||||||
colorScheme: root.assetName === "" ? hifi.colorSchemes.dark : hifi.colorSchemes.light;
|
colorScheme: root.assetName === "" ? hifi.colorSchemes.dark : hifi.colorSchemes.light;
|
||||||
anchors.horizontalCenter: parent.horizontalCenter;
|
anchors.horizontalCenter: parent.horizontalCenter;
|
||||||
anchors.bottom: parent.bottom;
|
anchors.bottom: parent.bottom;
|
||||||
anchors.bottomMargin: 80;
|
anchors.bottomMargin: root.assetName === "" ? 80 : 30;
|
||||||
height: 50;
|
height: 50;
|
||||||
width: 120;
|
width: 120;
|
||||||
text: "Close";
|
text: "Close";
|
||||||
|
|
|
@ -795,9 +795,10 @@ QString getMarketplaceID(const QString& urlString) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Octree::readFromURL(const QString& urlString) {
|
bool Octree::readFromURL(const QString& urlString) {
|
||||||
QString marketplaceID = getMarketplaceID(urlString);
|
QString trimmedUrl = urlString.trimmed();
|
||||||
|
QString marketplaceID = getMarketplaceID(trimmedUrl);
|
||||||
auto request =
|
auto request =
|
||||||
std::unique_ptr<ResourceRequest>(DependencyManager::get<ResourceManager>()->createResourceRequest(this, urlString));
|
std::unique_ptr<ResourceRequest>(DependencyManager::get<ResourceManager>()->createResourceRequest(this, trimmedUrl));
|
||||||
|
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -198,7 +198,7 @@ Antialiasing::~Antialiasing() {
|
||||||
_antialiasingTextures[1].reset();
|
_antialiasingTextures[1].reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
const gpu::PipelinePointer& Antialiasing::getAntialiasingPipeline() {
|
const gpu::PipelinePointer& Antialiasing::getAntialiasingPipeline(const render::RenderContextPointer& renderContext) {
|
||||||
|
|
||||||
if (!_antialiasingPipeline) {
|
if (!_antialiasingPipeline) {
|
||||||
|
|
||||||
|
@ -207,17 +207,6 @@ const gpu::PipelinePointer& Antialiasing::getAntialiasingPipeline() {
|
||||||
gpu::ShaderPointer program = gpu::Shader::createProgram(vs, ps);
|
gpu::ShaderPointer program = gpu::Shader::createProgram(vs, ps);
|
||||||
|
|
||||||
gpu::Shader::BindingSet slotBindings;
|
gpu::Shader::BindingSet slotBindings;
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("taaParamsBuffer"), AntialiasingPass_ParamsSlot));
|
|
||||||
|
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("deferredFrameTransformBuffer"), AntialiasingPass_FrameTransformSlot));
|
|
||||||
|
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("historyMap"), AntialiasingPass_HistoryMapSlot));
|
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("sourceMap"), AntialiasingPass_SourceMapSlot));
|
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("velocityMap"), AntialiasingPass_VelocityMapSlot));
|
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("depthMap"), AntialiasingPass_DepthMapSlot));
|
|
||||||
|
|
||||||
|
|
||||||
gpu::Shader::makeProgram(*program, slotBindings);
|
|
||||||
|
|
||||||
gpu::StatePointer state = gpu::StatePointer(new gpu::State());
|
gpu::StatePointer state = gpu::StatePointer(new gpu::State());
|
||||||
|
|
||||||
|
@ -225,6 +214,21 @@ const gpu::PipelinePointer& Antialiasing::getAntialiasingPipeline() {
|
||||||
|
|
||||||
// Good to go add the brand new pipeline
|
// Good to go add the brand new pipeline
|
||||||
_antialiasingPipeline = gpu::Pipeline::create(program, state);
|
_antialiasingPipeline = gpu::Pipeline::create(program, state);
|
||||||
|
|
||||||
|
gpu::doInBatch("SurfaceGeometryPass::CurvaturePipeline", renderContext->args->_context, [program](gpu::Batch& batch) {
|
||||||
|
batch.runLambda([program]() {
|
||||||
|
gpu::Shader::BindingSet slotBindings;
|
||||||
|
slotBindings.insert(gpu::Shader::Binding(std::string("taaParamsBuffer"), AntialiasingPass_ParamsSlot));
|
||||||
|
|
||||||
|
slotBindings.insert(gpu::Shader::Binding(std::string("deferredFrameTransformBuffer"), AntialiasingPass_FrameTransformSlot));
|
||||||
|
|
||||||
|
slotBindings.insert(gpu::Shader::Binding(std::string("historyMap"), AntialiasingPass_HistoryMapSlot));
|
||||||
|
slotBindings.insert(gpu::Shader::Binding(std::string("sourceMap"), AntialiasingPass_SourceMapSlot));
|
||||||
|
slotBindings.insert(gpu::Shader::Binding(std::string("velocityMap"), AntialiasingPass_VelocityMapSlot));
|
||||||
|
slotBindings.insert(gpu::Shader::Binding(std::string("depthMap"), AntialiasingPass_DepthMapSlot));
|
||||||
|
gpu::Shader::makeProgram(*program, slotBindings);
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return _antialiasingPipeline;
|
return _antialiasingPipeline;
|
||||||
|
@ -347,7 +351,7 @@ void Antialiasing::run(const render::RenderContextPointer& renderContext, const
|
||||||
batch.setViewportTransform(args->_viewport);
|
batch.setViewportTransform(args->_viewport);
|
||||||
|
|
||||||
// TAA step
|
// TAA step
|
||||||
getAntialiasingPipeline();
|
getAntialiasingPipeline(renderContext);
|
||||||
batch.setResourceFramebufferSwapChainTexture(AntialiasingPass_HistoryMapSlot, _antialiasingBuffers, 0);
|
batch.setResourceFramebufferSwapChainTexture(AntialiasingPass_HistoryMapSlot, _antialiasingBuffers, 0);
|
||||||
batch.setResourceTexture(AntialiasingPass_SourceMapSlot, sourceBuffer->getRenderBuffer(0));
|
batch.setResourceTexture(AntialiasingPass_SourceMapSlot, sourceBuffer->getRenderBuffer(0));
|
||||||
batch.setResourceTexture(AntialiasingPass_VelocityMapSlot, velocityBuffer->getVelocityTexture());
|
batch.setResourceTexture(AntialiasingPass_VelocityMapSlot, velocityBuffer->getVelocityTexture());
|
||||||
|
@ -358,7 +362,7 @@ void Antialiasing::run(const render::RenderContextPointer& renderContext, const
|
||||||
batch.setUniformBuffer(AntialiasingPass_FrameTransformSlot, deferredFrameTransform->getFrameTransformBuffer());
|
batch.setUniformBuffer(AntialiasingPass_FrameTransformSlot, deferredFrameTransform->getFrameTransformBuffer());
|
||||||
|
|
||||||
batch.setFramebufferSwapChain(_antialiasingBuffers, 1);
|
batch.setFramebufferSwapChain(_antialiasingBuffers, 1);
|
||||||
batch.setPipeline(getAntialiasingPipeline());
|
batch.setPipeline(getAntialiasingPipeline(renderContext));
|
||||||
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
||||||
|
|
||||||
// Blend step
|
// Blend step
|
||||||
|
|
|
@ -174,7 +174,7 @@ public:
|
||||||
void configure(const Config& config);
|
void configure(const Config& config);
|
||||||
void run(const render::RenderContextPointer& renderContext, const Inputs& inputs);
|
void run(const render::RenderContextPointer& renderContext, const Inputs& inputs);
|
||||||
|
|
||||||
const gpu::PipelinePointer& getAntialiasingPipeline();
|
const gpu::PipelinePointer& getAntialiasingPipeline(const render::RenderContextPointer& renderContext);
|
||||||
const gpu::PipelinePointer& getBlendPipeline();
|
const gpu::PipelinePointer& getBlendPipeline();
|
||||||
const gpu::PipelinePointer& getDebugBlendPipeline();
|
const gpu::PipelinePointer& getDebugBlendPipeline();
|
||||||
|
|
||||||
|
|
|
@ -168,7 +168,7 @@ void LinearDepthPass::run(const render::RenderContextPointer& renderContext, con
|
||||||
outputs.edit4() = halfNormalTexture;
|
outputs.edit4() = halfNormalTexture;
|
||||||
|
|
||||||
auto linearDepthPipeline = getLinearDepthPipeline(renderContext);
|
auto linearDepthPipeline = getLinearDepthPipeline(renderContext);
|
||||||
auto downsamplePipeline = getDownsamplePipeline();
|
auto downsamplePipeline = getDownsamplePipeline(renderContext);
|
||||||
|
|
||||||
auto depthViewport = args->_viewport;
|
auto depthViewport = args->_viewport;
|
||||||
auto halfViewport = depthViewport >> 1;
|
auto halfViewport = depthViewport >> 1;
|
||||||
|
@ -241,19 +241,12 @@ const gpu::PipelinePointer& LinearDepthPass::getLinearDepthPipeline(const render
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const gpu::PipelinePointer& LinearDepthPass::getDownsamplePipeline() {
|
const gpu::PipelinePointer& LinearDepthPass::getDownsamplePipeline(const render::RenderContextPointer& renderContext) {
|
||||||
if (!_downsamplePipeline) {
|
if (!_downsamplePipeline) {
|
||||||
auto vs = gpu::StandardShaderLib::getDrawViewportQuadTransformTexcoordVS();
|
auto vs = gpu::StandardShaderLib::getDrawViewportQuadTransformTexcoordVS();
|
||||||
auto ps = surfaceGeometry_downsampleDepthNormal_frag::getShader();
|
auto ps = surfaceGeometry_downsampleDepthNormal_frag::getShader();
|
||||||
gpu::ShaderPointer program = gpu::Shader::createProgram(vs, ps);
|
gpu::ShaderPointer program = gpu::Shader::createProgram(vs, ps);
|
||||||
|
|
||||||
gpu::Shader::BindingSet slotBindings;
|
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("deferredFrameTransformBuffer"), DepthLinearPass_FrameTransformSlot));
|
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("linearDepthMap"), DepthLinearPass_DepthMapSlot));
|
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("normalMap"), DepthLinearPass_NormalMapSlot));
|
|
||||||
gpu::Shader::makeProgram(*program, slotBindings);
|
|
||||||
|
|
||||||
|
|
||||||
gpu::StatePointer state = gpu::StatePointer(new gpu::State());
|
gpu::StatePointer state = gpu::StatePointer(new gpu::State());
|
||||||
PrepareStencil::testShape(*state);
|
PrepareStencil::testShape(*state);
|
||||||
|
|
||||||
|
@ -261,6 +254,16 @@ const gpu::PipelinePointer& LinearDepthPass::getDownsamplePipeline() {
|
||||||
|
|
||||||
// Good to go add the brand new pipeline
|
// Good to go add the brand new pipeline
|
||||||
_downsamplePipeline = gpu::Pipeline::create(program, state);
|
_downsamplePipeline = gpu::Pipeline::create(program, state);
|
||||||
|
|
||||||
|
gpu::doInBatch("LinearDepthPass::run", renderContext->args->_context, [program](gpu::Batch& batch) {
|
||||||
|
batch.runLambda([program]() {
|
||||||
|
gpu::Shader::BindingSet slotBindings;
|
||||||
|
slotBindings.insert(gpu::Shader::Binding("deferredFrameTransformBuffer", DepthLinearPass_FrameTransformSlot));
|
||||||
|
slotBindings.insert(gpu::Shader::Binding("linearDepthMap", DepthLinearPass_DepthMapSlot));
|
||||||
|
slotBindings.insert(gpu::Shader::Binding("normalMap", DepthLinearPass_NormalMapSlot));
|
||||||
|
gpu::Shader::makeProgram(*program, slotBindings);
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return _downsamplePipeline;
|
return _downsamplePipeline;
|
||||||
|
|
|
@ -84,7 +84,7 @@ private:
|
||||||
const gpu::PipelinePointer& getLinearDepthPipeline(const render::RenderContextPointer& renderContext);
|
const gpu::PipelinePointer& getLinearDepthPipeline(const render::RenderContextPointer& renderContext);
|
||||||
gpu::PipelinePointer _linearDepthPipeline;
|
gpu::PipelinePointer _linearDepthPipeline;
|
||||||
|
|
||||||
const gpu::PipelinePointer& getDownsamplePipeline();
|
const gpu::PipelinePointer& getDownsamplePipeline(const render::RenderContextPointer& renderContext);
|
||||||
gpu::PipelinePointer _downsamplePipeline;
|
gpu::PipelinePointer _downsamplePipeline;
|
||||||
|
|
||||||
gpu::RangeTimerPointer _gpuTimer;
|
gpu::RangeTimerPointer _gpuTimer;
|
||||||
|
|
|
@ -113,7 +113,7 @@ void VelocityBufferPass::run(const render::RenderContextPointer& renderContext,
|
||||||
outputs.edit1() = velocityFBO;
|
outputs.edit1() = velocityFBO;
|
||||||
outputs.edit2() = velocityTexture;
|
outputs.edit2() = velocityTexture;
|
||||||
|
|
||||||
auto cameraMotionPipeline = getCameraMotionPipeline();
|
auto cameraMotionPipeline = getCameraMotionPipeline(renderContext);
|
||||||
|
|
||||||
auto fullViewport = args->_viewport;
|
auto fullViewport = args->_viewport;
|
||||||
|
|
||||||
|
@ -143,18 +143,12 @@ void VelocityBufferPass::run(const render::RenderContextPointer& renderContext,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const gpu::PipelinePointer& VelocityBufferPass::getCameraMotionPipeline() {
|
const gpu::PipelinePointer& VelocityBufferPass::getCameraMotionPipeline(const render::RenderContextPointer& renderContext) {
|
||||||
if (!_cameraMotionPipeline) {
|
if (!_cameraMotionPipeline) {
|
||||||
auto vs = gpu::StandardShaderLib::getDrawViewportQuadTransformTexcoordVS();
|
auto vs = gpu::StandardShaderLib::getDrawViewportQuadTransformTexcoordVS();
|
||||||
auto ps = velocityBuffer_cameraMotion_frag::getShader();
|
auto ps = velocityBuffer_cameraMotion_frag::getShader();
|
||||||
gpu::ShaderPointer program = gpu::Shader::createProgram(vs, ps);
|
gpu::ShaderPointer program = gpu::Shader::createProgram(vs, ps);
|
||||||
|
|
||||||
gpu::Shader::BindingSet slotBindings;
|
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("deferredFrameTransformBuffer"), VelocityBufferPass_FrameTransformSlot));
|
|
||||||
slotBindings.insert(gpu::Shader::Binding(std::string("depthMap"), VelocityBufferPass_DepthMapSlot));
|
|
||||||
gpu::Shader::makeProgram(*program, slotBindings);
|
|
||||||
|
|
||||||
|
|
||||||
gpu::StatePointer state = gpu::StatePointer(new gpu::State());
|
gpu::StatePointer state = gpu::StatePointer(new gpu::State());
|
||||||
|
|
||||||
// Stencil test the curvature pass for objects pixels only, not the background
|
// Stencil test the curvature pass for objects pixels only, not the background
|
||||||
|
@ -164,6 +158,16 @@ const gpu::PipelinePointer& VelocityBufferPass::getCameraMotionPipeline() {
|
||||||
|
|
||||||
// Good to go add the brand new pipeline
|
// Good to go add the brand new pipeline
|
||||||
_cameraMotionPipeline = gpu::Pipeline::create(program, state);
|
_cameraMotionPipeline = gpu::Pipeline::create(program, state);
|
||||||
|
|
||||||
|
gpu::doInBatch("VelocityBufferPass::CameraMotionPipeline", renderContext->args->_context,
|
||||||
|
[program](gpu::Batch& batch) {
|
||||||
|
batch.runLambda([program]() {
|
||||||
|
gpu::Shader::BindingSet slotBindings;
|
||||||
|
slotBindings.insert(gpu::Shader::Binding(std::string("deferredFrameTransformBuffer"), VelocityBufferPass_FrameTransformSlot));
|
||||||
|
slotBindings.insert(gpu::Shader::Binding(std::string("depthMap"), VelocityBufferPass_DepthMapSlot));
|
||||||
|
gpu::Shader::makeProgram(*program, slotBindings);
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return _cameraMotionPipeline;
|
return _cameraMotionPipeline;
|
||||||
|
|
|
@ -79,7 +79,7 @@ private:
|
||||||
|
|
||||||
VelocityFramebufferPointer _velocityFramebuffer;
|
VelocityFramebufferPointer _velocityFramebuffer;
|
||||||
|
|
||||||
const gpu::PipelinePointer& getCameraMotionPipeline();
|
const gpu::PipelinePointer& getCameraMotionPipeline(const render::RenderContextPointer& renderContext);
|
||||||
gpu::PipelinePointer _cameraMotionPipeline;
|
gpu::PipelinePointer _cameraMotionPipeline;
|
||||||
|
|
||||||
gpu::RangeTimerPointer _gpuTimer;
|
gpu::RangeTimerPointer _gpuTimer;
|
||||||
|
|
|
@ -273,9 +273,9 @@ QVariantList ScriptEngines::getRunning() {
|
||||||
} else {
|
} else {
|
||||||
displayURLString = displayURL.toDisplayString(QUrl::FormattingOptions(QUrl::FullyEncoded));
|
displayURLString = displayURL.toDisplayString(QUrl::FormattingOptions(QUrl::FullyEncoded));
|
||||||
}
|
}
|
||||||
resultNode.insert("url", displayURLString);
|
|
||||||
// The path contains the exact path/URL of the script, which also is used in the stopScript function.
|
// The path contains the exact path/URL of the script, which also is used in the stopScript function.
|
||||||
resultNode.insert("path", normalizeScriptURL(runningScript).toString());
|
resultNode.insert("path", displayURLString);
|
||||||
|
resultNode.insert("url", normalizeScriptURL(runningScript).toString());
|
||||||
resultNode.insert("local", runningScriptURL.isLocalFile());
|
resultNode.insert("local", runningScriptURL.isLocalFile());
|
||||||
result.append(resultNode);
|
result.append(resultNode);
|
||||||
}
|
}
|
||||||
|
|
|
@ -557,12 +557,14 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (onWalletScreen) {
|
if (onWalletScreen) {
|
||||||
|
if (!isWired) {
|
||||||
|
Users.usernameFromIDReply.connect(usernameFromIDReply);
|
||||||
|
Controller.mousePressEvent.connect(handleMouseEvent);
|
||||||
|
Controller.mouseMoveEvent.connect(handleMouseMoveEvent);
|
||||||
|
triggerMapping.enable();
|
||||||
|
triggerPressMapping.enable();
|
||||||
|
}
|
||||||
isWired = true;
|
isWired = true;
|
||||||
Users.usernameFromIDReply.connect(usernameFromIDReply);
|
|
||||||
Controller.mousePressEvent.connect(handleMouseEvent);
|
|
||||||
Controller.mouseMoveEvent.connect(handleMouseMoveEvent);
|
|
||||||
triggerMapping.enable();
|
|
||||||
triggerPressMapping.enable();
|
|
||||||
} else {
|
} else {
|
||||||
off();
|
off();
|
||||||
}
|
}
|
||||||
|
|
|
@ -796,7 +796,7 @@ EquipHotspotBuddy.prototype.update = function(deltaTime, timestamp, controllerDa
|
||||||
};
|
};
|
||||||
|
|
||||||
var onMousePress = function(event) {
|
var onMousePress = function(event) {
|
||||||
if (isInEditMode()) { // don't consider any mouse clicks on the entity while in edit
|
if (isInEditMode() || !event.isLeftButton) { // don't consider any left clicks on the entity while in edit
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var pickRay = Camera.computePickRay(event.x, event.y);
|
var pickRay = Camera.computePickRay(event.x, event.y);
|
||||||
|
|
|
@ -1055,12 +1055,14 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
||||||
}
|
}
|
||||||
|
|
||||||
if (onCommerceScreen) {
|
if (onCommerceScreen) {
|
||||||
|
if (!isWired) {
|
||||||
|
Users.usernameFromIDReply.connect(usernameFromIDReply);
|
||||||
|
Controller.mousePressEvent.connect(handleMouseEvent);
|
||||||
|
Controller.mouseMoveEvent.connect(handleMouseMoveEvent);
|
||||||
|
triggerMapping.enable();
|
||||||
|
triggerPressMapping.enable();
|
||||||
|
}
|
||||||
isWired = true;
|
isWired = true;
|
||||||
Users.usernameFromIDReply.connect(usernameFromIDReply);
|
|
||||||
Controller.mousePressEvent.connect(handleMouseEvent);
|
|
||||||
Controller.mouseMoveEvent.connect(handleMouseMoveEvent);
|
|
||||||
triggerMapping.enable();
|
|
||||||
triggerPressMapping.enable();
|
|
||||||
Wallet.refreshWalletStatus();
|
Wallet.refreshWalletStatus();
|
||||||
} else {
|
} else {
|
||||||
off();
|
off();
|
||||||
|
|
Loading…
Reference in a new issue