Hi,
On 13.03.2014 14:46, Sandeep wrote:
Hello,
I went through the Qt-IF documentation may be 3 to 4 times, went
through all the examples, did some trial and error but still not able
to get hold of few things, in fact many things. Hoping to get some
answers from the experts.
Question1: I want to get rid of the Header part of the Introduction
Page, how do I do it?
The documentation at this link
http://doc-snapshot.qt-project.org/qtifw-1.3/noninteractive.html talks
about only selected widgets, for example, the Introduction Page has
only access to 2 widgets, "Next", "Cancel" buttons, but what if I
decide to not have the Header section (which has the title and the
logo). Is there a way to disable? I am not talking about empty Title,
I am talking about the getting rid of the whole Header part.
Question2: What is the difference between "function Component" and
"function Controller" in the installer.qs scripts used in examples?
Basically what are they? I tried registering for the
IntroductionPageCallback but never got called.
function Component()
{
}
Component.prototype.IntroductionPageCallback=function()
{
}
Or?
function Controller()
{
}
Controller.prototype.IntroductionPageCallback = function()
{
}
Neither of them worked for me, Callbacks are not even called. what is
the correct way to get a callback?
Just as an short explanation, once we put "your" script inside the
script engine, we wrap it inside a closure, so it will look like this:
(function()
var component = installer.componentByName("your.component.name");
function Component()
{
};
// other stuff goes here
return new Component;
)();
Same goes for the Controller stuff. The Controller stuff is supposed to
work with a script you pass as argument to the the installer binary,
basically to support headless automated installations. I will come back
to you ASAP on how to use that.
Question3: If I choose to run my application after the installation
using the "<RunProgram>my app binary</RunProgram> , I get a checkbox
with a tick mark after my installation, asking if I want to run my
application, I can either check or uncheck the checkbox and say Next.
This makes sense during installation flow. But this checkbox also
appears after my uninstallation (last screen during uninstallation),
asking "Do you want to run my app binary", which does not makes sense.
How do I make sure the checkbox (run my app binary)does not come in
the uninstallation flow.
This shouldn't happen, after looking at the code it will only show up if
the binary is not running as installer and the run program is not empty.
So i would recommend to open a bug report on
https://bugreports.qt-project.org/secure/Dashboard.jspa and attach a
sample script to show the broken behavior.
Question 4: When I register for the signals "installationFinished" my
functions in the installscript.qs gets called, but surprisingly the
signals "uninstallationStarted and uninstallationFinished" never gets
called if I register some functions.
Same here, please open an issue and attach a script that shows the
broken behavior.
Not sure why? Also in qinstaller.h we have the below code for
identifying different state/stages of installation, but how can I get
similar information for un-installation?
You can ask the installer about its run mode, like this:
function Component()
{
component.loaded.connect(this, Component.prototype.loaded);
installer.installationFinished.connect(this,
Component.prototype.installationFinishedPageIsShown);
/*
NOTE: you have access to the following global variables:
component // like: component.userInterface(...)
QInstaller // like: QInstaller.Success
installer // like installer.isInstaller()
QFileDialog, buttons, QMessageBox, QDesktopServices
*/
}
Component.prototype.loaded = function()
{
var foo = installer.isInstaller();
var bar = installer.isUninstaller();
}
Component.prototype.installationFinishedPageIsShown = function()
{
if (installer.isInstaller() && installer.status == QInstaller.Success)
installer.addWizardPageItem( component,
"YourCheckBoxToStartAnApp", QInstaller.InstallationFinished);
}
enum Status {
InstallerUnfinished,
InstallerCanceledByUser,
InstallerRunning,
InstallerFailed,
InstallerSucceeded,
};
int status() const;
enum WizardPage {
Introduction = 0x1000,
TargetDirectory = 0x2000,
ComponentSelection = 0x3000,
LicenseCheck = 0x4000,
StartMenuSelection = 0x5000,
ReadyForInstallation = 0x6000,
PerformInstallation = 0x7000,
InstallationFinished = 0x8000,
End = 0xffff
};
Thanks,
-Sandeep
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
-- Karsten
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest