| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
We need to access the core functionality despite of what user interface
is used.
Change-Id: I6c4c7e8526ff24a479128061aa40fba66e61660c
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Sometimes the button texts in installer are not something that is
suitable. Added possibility to change button texts from script to a
specific installer page.
Task-number: QTIFW-711
Change-Id: I2883cda6d770843c3617fda4e6b07d102a357730
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This was previously possible only from the CLI. The same methods
can be used from the graphical installer, so we do not need to
limit the feature for CLI users.
Task-number: QTIFW-3072
Change-Id: I271aecf163528b922e6cc399d31f07218e2a1650
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|\
| |
| |
| | |
Change-Id: I9946bf8ff3ea4e132a0490b59c1d4d557198ef62
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
showSettingsButton() called from control script had no effect.
Fixed it so that if showSettingsButton will overwrite the IFW
decision to show the settings button.
Change-Id: Ia08c03cc13db58168fd371f230517bcc83ee0e12
Task-number: QTIFW-810
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Id8121e6b4cdda23c8c44cf779e35dce8d9a28090
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
TabController would invoke IntroductionPage::onCoreNetworkSettings-
Changed() slot, which would disable the UI controls for selecting the
package manager or updater mode in case the maintenance tool is
configured to use only temporary repositories that are set only later
on. This would also update the internal magic marker indicating the
binary type, overwriting the user selected one that was passed with
one of the --start-* options.
Fix by splitting the resetting of the "metadata fetched" state of the
page to its own public method from IntroductionPage::onCoreNetwork-
SettingsChanged(), and call that from the TabController initialization
instead.
Task-number: QTIFW-2884
Change-Id: I952b8fd1d14e6292bae1556a5f33dec537c8b1d6
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
| |
This change adds attribute, postLoad, to existing <Script> -element.
Using <Script postLoad="True"> will call the script loading and
evaluation only to those components which are selected for install or
update right before the components installation start.
Task-number: QTIFW-2820
Change-Id: Ic1967d329cbb5de6a0216ff3f76cc2ede178db80
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For a maintenance tool that has no configured repositories, we can
disable the selection of package manager and updater options, that
require at least one repository to be useful.
Also show the settings button for offline maintenance tool that is run
in uninstaller mode, because the user may want to add a new repository
which then enables the disabled options.
Task-number: QTIFW-2627
Change-Id: I4db7f6526c37bbadeaf680fe9cb6130058ca5ffd
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
| |
Add where missing. Replace occurrences of Q_DECL_OVERRIDE macro,
building IFW requires a C++11 compatible compiler so the language
specifier is preferred.
Change-Id: Idb75e2813d26b9da85e03891f0ae9537c6524c56
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2437
Change-Id: I3c0293550456f36e37e98e97042bf6bfae6ce96d
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also enable linking qtimageformats as a static plugin on macOS,
it is required to read the .icns file to be shown on the dialog.
Task-number: QTIFW-2453
Change-Id: Ib776635167a4c90ffa20a91ecc447d2d73f5aeb9
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Change-Id: I0884b9351030e3b50a6fb2bdd6234101002e5ca6
Reviewed-by: Niels Weber <niels.weber@qt.io>
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2084
Change-Id: I4047457aae9709819f1a19ec9c74c5a88e9b7e7c
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
| |
One radio button is enough, by selecting 'Accept Licenses' the 'Next'
button is enabled.
Task-number: QTIFW-2057
Change-Id: I0db0fb2e85644528b4a2b4304903549d0a91ecbf
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
- Add a "priority" attribute to the "License" element used in "package.xml"
for arranging licenses by priority in the LicenseAgreementPage and in CLI.
Priority >0 shows the license on top of others.
- Arrange the licenses with the same priority alphabetically
- Filter duplicate licenses from the LicenseAgreementPage and from CLI
Change-Id: I1dcacdd417d2383b8dc18149e4de329fbf11cfe8
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Component scripts are re-evaluated when new categories are fetched.
Remove refereces to already added custom widgets from pages as those
are re-added when scripts are re-evaluated.
Task-number: QTIFW-1928
Change-Id: Iad52232920eaf3859d710d6fe06e80eeee90797d
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add possibility to show an arbitrary number of product related, or
other images on PerformInstallationPage. These can be specified in
the installer configuration file, using <ProductImages> element with
one <Image> child element for each file name.
Task-number: QTIFW-1900
Change-Id: I2be727d9189963ef1a79046150111dd8c91153c6
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If several custom widgets are added to same page, the order of the
widgets is arbitrary. Added a new member to addWizardPageItem which can
define the position of the widget in the page, relative to another
custom widgets. Non-custom widgets are always placed on top as before.
Task-number: QTIFW-1847
Change-Id: Iadafef3a08e60a8b05b959cb06caea2a2042b419
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an installer is configured with <WizardShowPageList> set to true
(default), a QListWidget set as a side widget for the wizard will be
shown. The list should indicate completed and incomplete pages and the
current wizard page. User navigation is not enabled in this change.
The page list should honor the visibility of individual pages and
update itself dynamically. In addition the visibility of a page in
page list widget can be set internally with setShowOnPageList() which
overrides other factors when hiding a page.
The page item title shown on the list can be set internally with
setPageListTitle() for the PackageManagerPage object, or the item can
alternatively use the normal page title and the object name.
Task-number: QTIFW-1755
Change-Id: I8a792d957a10e2176de5f42f29b1282e8e7667db
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-1707
Change-Id: I8574ef96df6a00e577549342d4a4336207dcd9ec
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If magic binary marker is set to either updater or package manager,
act as before.
If the marker is set to uninstaller (default for maintenance tool),
decide the default checked button based on if any valid repositories
are available - a prerequisite for package manager and updater
actions to succeed.
If repositories are available the default is "Add or remove components",
otherwise "Remove all components".
Modify validRepositoriesAvailable() implementation to suit this change
and better match its function name.
Task-number: QTIFW-349
Change-Id: Idf92ad3a2b294cc1ecb939d716f2852ad1872f15
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also move targetDirWarning() from targetdirectorypage to packagemanager
and move target directory check to checkTargetDir() function
so that those are accessible also without UI.
Change-Id: Ia38cc7e66bb542e6a60fea2c39cc3b80735564ef
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|\
| |
| |
| | |
Change-Id: I73cb43e090c6ff34f1ceb774490d01818465e2e0
|
| |
| |
| |
| |
| |
| | |
Task-number: QTIFW-1102
Change-Id: I5033f095eece1f1e588c00f518cf7d9d046c2003
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
User can set height and width for wizard in config.xml. If the given
dimentions does not fit to the screen, wizard was clipped and buttons
were of the screen. Fixed so that the screen size cannot be exceeded.
Task-number: QTIFW-1016
Change-Id: Iab6970d4203fc1271b93475aec71c946d0508653
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Component selection page has a lot of widgets compared to other pages so
moved the implementation to own file. Also fixed the following issues
in component selection page:
1. Fixed crash when there were no categories and QBsp button was pressed
2. QBsp button opened multiple dialogs if next/back buttons were pressed
3. Made progressbar use the entire vertical space
Change-Id: I30cf1599ecb06a633719622427855a57696d5987
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows to categorize repositories in component selection
page. Using categorized repositories will by default show only
uncagetorized repository items in tree. Selecting one or several categories
using checkbox will update the treeview to show all selected categorized repository
content. Repository's metadata is fetched only after the category is selected.
Categorized repositories can be defined in config.xml:
<RepositoryCategories>
<RemoteRepositories>
<Displayname>category 1</Displayname>
<Repository> <Url>(url)</Url></Repository>
</RemoteReposiories>
...
<RepositoryCategories
Change-Id: I6eae9daee70b1afa322144d52c11f25d0b655ebf
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
When a big compressed package is unzipped, it seemed that the installer
hanged as there was no indication that the job is still ongoing. Added
undetermined state to progress bar as unzip job does not inform the
progress state.
Task-number: QTIFW-967
Change-Id: I21ca394e1856038c51413f9e5011307ae7a9850a
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Changelog
dist/config/config.xml
dist/packages/org.qtproject.ifw.binaries/meta/package.xml
dist/packages/org.qtproject.ifw/meta/package.xml
installerfw.pri
src/libs/installer/lib7z_create.h
src/libs/kdtools/kdgenericfactory.cpp
src/libs/kdtools/kdgenericfactory.h
src/libs/kdtools/kdupdaterapplication.cpp
src/libs/kdtools/kdupdaterapplication.h
src/libs/kdtools/kdupdaterupdatesourcesinfo.cpp
src/libs/kdtools/kdupdaterupdatesourcesinfo.h
src/libs/kdtools/localpackagehub.cpp
src/libs/kdtools/localpackagehub.h
src/libs/kdtools/updatefinder.cpp
src/libs/kdtools/updatefinder.h
tools/binarycreator/resources/mkdmg.sh
Change-Id: Iab2513f549832d2e750e77131c673457ab265af4
|
| |
| |
| |
| |
| | |
Change-Id: I6426c4e8f932cf26c6c638dec18d0c12e22972d1
Reviewed-by: Janne Anttila <janne.anttila@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With this feature one can update all installed components
silently with maintenancetool by passing --silentUpdate parameter
Change-Id: If31d37ce24e794775c2fe47b603259da133c9ee7
Task-number: QTIFW-906
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change introduces new feature to add 7z packages to be
installed. Packages must be installer repositories (created with repogen),
compressed to 7z file and named as qtbsp or 7z. Selecting compressed package
is done either with button in component selection page or with
--installCompressedRepository parameter given to installer or to maintenancetool.
Button will not be created by default. If you want to show the button
either build IFW with DEFINES+=INSTALLCOMPRESSED or enable the button in control
script with allowCompressedRepositoryInstall() in ComponentSelectionPageCallback
Task-number: QTIFW-886
Change-Id: Ia060092c348991d5195393b7dc154205f8bf92a5
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This utility function can be used to populate a Qt control which is
backed by some QAbstractItemModel with a list of strings. E.g. this can
be used to populate a QComboBox or any QAbstractItemView with some
items.
This is very useful since in many cases, the methods for adding elements
to such controls are neither slots, nor marked with Q_INVOKABLE and such
unreachable from the script code.
Change-Id: I2195f41e53765ef3a798477ed08d8f09ab5c4379
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
installerfw.pri
src/libs/kdtools/kdgenericfactory.cpp
src/libs/kdtools/kdgenericfactory.h
src/libs/kdtools/kdupdaterapplication.cpp
src/libs/kdtools/kdupdaterapplication.h
src/libs/kdtools/kdupdaterupdatesourcesinfo.cpp
src/libs/kdtools/kdupdaterupdatesourcesinfo.h
sync.profile
Change-Id: Ifdc8b065f89b7e241bd3788ed79768e21888161f
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update existing license headers. LGPL -> LGPLv21.
Update copyright year as well.
Change-Id: Ie1d71f8c68186b8f625f409ddf94691f178093c9
Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QDir::drives() was called on every key press to check whether the
specified drive letter is valid. Alas, this function is quite expensive
on Windows in case there are network drives. In my local tests, a single
call to QDir::drives() would take about 300ms per call (i.e. 0.3s per
key press). This made typing text feel very sluggish.
I first considered fetching the list of drives up front (e.g. when
starting the installer) but this won't handle cases nicely where drives
are added/removed while the installer is running - e.g. USB devices.
Instead, let's use a cooldown timer: only bother checking the entered
path if there was no keypress for some specific time (right now: 200ms,
a value which is based on highly scientific experiments). In addition to
that, also make sure to check the validity when trying to navigate to
the next page -- this takes care of people typing and hitting Return
quickly.
Change-Id: I35e83fff2fd095765ab1b00b44ac1b8bf495af98
Task-number: QTIFW-673
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
| |
Add possibility to run silently without a gui. Silent mode can be
enabled in a controller script using gui.setSilent(true).
Change-Id: I5c5d0cc2be734e8e447edfe4e71106fe08f87188
Task-number: QTIFW-166
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I8dde6629cfd461104364d5cdc255cb54b58283fa
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Simplify entering() / leaving() implementation for wizard pages,
above methods are now called a bit later, when the new page is
already visible. Calling setFocus() inside entering() should
work properly right now.
Change-Id: Ic5d194f074cc4b1fc419c7be70563e105e644957
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to make sure objects like pageWidgetByObjectName are augmented
too (so that one can access child objects). This is achieved by
a proxy object that augments all raw QObject * and QWidget * return
values.
This fixes e.g. the dynamicpage example.
Task-number: QTIFW-605
Change-Id: If26dc59220946a7445ef0f9ec7caa15e5b04eaa8
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Re-add the findChild, findChildren methods known from Qt Script.
Change-Id: I3db6be53ccd89a09b2c7de14ba7f96ebb26dbdbb
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now we support control scripts just as command line argument,
but now we can also bundle it in the binary as well. This helps e.g.
with running scripts during uninstallation, enables the possibility
to modify the introduction page or enables headless installer builds.
Task-number: QTIFW-495
Task-number: QTIFW-166
Change-Id: I6fee6a55db78ed28b1eeb8257a4febaa2703c04e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I51fb96ed8be188d37c549924118a87ceaf64f7e5
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
|
|
|
|
|
|
|
| |
Change-Id: I61158f956894e209dccf83744b4753774676099d
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
|
|
|
|
|
|
| |
Change-Id: Ia5c34b537e410997a98a11a90e207acf914bea98
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|
|
|
|
|
|
| |
Task-number: QTIFW-15
Change-Id: Ia11c185f25dff2f1614425ec5ff78e79b2fa2a77
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|
|
|
|
|
| |
Change-Id: I809f2b2cdeef8c4bfa5918f4a77ab332c69f3b8f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
|
|
|
|
|
| |
Change-Id: I7a81d5736d3196731b0f77fbc977950a934bc846
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
|
|
|
|
|
|
|
|
| |
This was broken in change 2f5c612538984122018e118b506119dd0e2a2e6e
It stopped working when verbose (-v) option was not provided.
Change-Id: I1f269faf9b8ce14cd40508c5f7622504fb3f373d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
|