onionshare/snap/qt-installer-script.js

78 lines
2.1 KiB
JavaScript

// This script is here for convenience. Minify it and copy it into the
// qt5 override-build section of snapcraft.yaml
function Controller() {
installer.installationFinished.connect(proceed)
}
function logCurrentPage() {
var pageName = page().objectName
var pagePrettyTitle = page().title
console.log('At page: ' + pageName + ' (' + pagePrettyTitle + ')')
}
function page() {
return gui.currentPageWidget()
}
function proceed(button, delay) {
gui.clickButton(button || buttons.NextButton, delay)
}
Controller.prototype.WelcomePageCallback = function () {
logCurrentPage()
proceed(buttons.NextButton, 2000)
}
Controller.prototype.CredentialsPageCallback = function () {
logCurrentPage()
proceed()
}
Controller.prototype.IntroductionPageCallback = function () {
logCurrentPage()
proceed()
}
Controller.prototype.TargetDirectoryPageCallback = function () {
logCurrentPage()
var dir = installer.environmentVariable('SNAPCRAFT_PART_INSTALL') + '/opt/Qt5.14.0'
console.log('Installing to ' + dir)
page().TargetDirectoryLineEdit.setText(dir)
proceed()
}
Controller.prototype.ComponentSelectionPageCallback = function () {
logCurrentPage()
page().deselectAll()
page().selectComponent('qt.qt5.5140.gcc_64')
proceed()
}
Controller.prototype.LicenseAgreementPageCallback = function () {
logCurrentPage()
page().AcceptLicenseRadioButton.checked = true
gui.clickButton(buttons.NextButton)
}
Controller.prototype.ReadyForInstallationPageCallback = function () {
logCurrentPage()
proceed()
}
Controller.prototype.PerformInstallationPageCallback = function () {
logCurrentPage()
}
Controller.prototype.FinishedPageCallback = function () {
logCurrentPage()
proceed(buttons.FinishButton)
}
Controller.prototype.DynamicTelemetryPluginFormCallback = function () {
logCurrentPage()
console.log(Object.keys(page().TelemetryPluginForm.statisticGroupBox))
var radioButtons = page().TelemetryPluginForm.statisticGroupBox
radioButtons.disableStatisticRadioButton.checked = true
proceed()
}