aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/android/androidsettingswidget.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Android: Fix rendering of settings background in dark modeAlessandro Portale2020-07-231-1/+9
| | | | | | | | | | | | | | | | | | | | | This amends faad83d5a37448b472af2efa76b7193c83f2c1f1 by undoing the insertion of a QScrollArea + QWidget under the whole form. The reason for adding this was to be able to scroll down to the license agreements. Since Core::SettingsDialog already puts the settings widget into a QScrollArea, we have two of those and one is superfluous. When using a dark theme (e.g. flat-dark), this extra QScrollArea introduces wrong background color. Also, it complicates the already quite blown androidsettingswidget.ui This change removes the QSrollArea + QWidget while keeping the feature of scrolling to the license text. This is achieved by searching through the parent chain for a QScrollArea and using the first found one for scrolling. Task-number: QTCREATORBUG-24379 Change-Id: I2bdae9367eb06b68fa47badf2556eb1ec7ebcafb Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Set more columns in AVD table to ResizeToContentsAlessandro Portale2020-07-231-1/+3
| | | | | | | Give the columns with potentailly more content some space. Change-Id: I4c213f97df077801e3b11ef09519973a61c58c4f Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: move tooltip from ui to widget class and shorten long phrasesAssam Boudjelthia2020-07-231-7/+16
| | | | | Change-Id: I15bd9f54e7d4dbc3fae62b331172d6bc8e74e7ad Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: fix settings widget palelette in dark modeAssam Boudjelthia2020-07-221-7/+1
| | | | | Change-Id: I2ef4f0d510bbbe732c790134b39a9ea5cb0af2fc Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: Fix initial validating with clean settings and default pathsAlessandro Portale2020-07-221-13/+9
| | | | | | | | | | | | | | Relying on the PathChooser::rawPathChanged handlers to initially validate default paths with clean settings does not work (I think) because of a mix of interdependent (via m_androidConfig) synchronous and asynchronous validations. Let's assign the initial values for jdk, sdk and openssl also to m_androidConfig, so that everything works on the first run. Task-number: QTCREATORBUG-24372 Change-Id: Id6945d7bf81949a1f90cd20f9b3bd4e14a5bbe07 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: set summary widget ticks to false by defaultAssam Boudjelthia2020-07-031-1/+1
| | | | | | | To avoid any false positives. Change-Id: I30a0056975d99a85230b83df44dd119a9f1dabcd Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: pass sdkMaanger to allEssentialsInstalled() to keep syncAssam Boudjelthia2020-07-031-1/+2
| | | | | Change-Id: Ibe8385140c0d64394941b215324b70138d6f0cdf Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: Reduce vertical spacings in the SummaryWidgetAlessandro Portale2020-07-021-1/+3
| | | | | | | Less margins, less spacings. More space. Change-Id: Ida15baa5ba2579332d4f67edcf0c785719cbad8d Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Fix UI text capitalization and punctuationLeena Miettinen2020-07-011-5/+5
| | | | | Change-Id: I5fd24f164d45fea6e666e0e95f82273d2f91f934 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: disable controls when sdkmanager is running a taskAssam Boudjelthia2020-07-011-4/+9
| | | | | Change-Id: Ib8220fa3510a186d69e17ae46a23c5b40f1de76b Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: remove unnecessary validateNDK function and ticksAssam Boudjelthia2020-06-301-31/+2
| | | | | | | | The NDK is installed via sdkmanager anyways, and custom NDK paths are verified upon choosing in the file dialog and rejected if not valid. Change-Id: I18f876dfacdbc1045679c6b082a500527a933673 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: remove "Bundle" from ndk nameAssam Boudjelthia2020-06-301-1/+1
| | | | | Change-Id: I5368d77cfe3e94560fb897bfd0213fc3dec74d55 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: move non UI functions from settingsWidget classAssam Boudjelthia2020-06-291-50/+5
| | | | | Change-Id: I2d6c6806fc8b219b65d241a0243ee1edab5125a1 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: recommend AdoptOpenJDK in settings UI and docsAssam Boudjelthia2020-06-261-3/+4
| | | | | | | | | | Show JDK downlaod button on Linux and point it to OpenJDK becuse it's the most used on Linux. Otherwise, recommend AdoptOpenJDK because it works on all platforms and easy to install as well. Change-Id: I94fd61262fe759b96db59a9e2abfbd063f6795f0 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Android, McuSupport: Change "download" icons to "online"Alessandro Portale2020-06-261-1/+1
| | | | | | | | | The download icon might suggest that clicking that button causes an automated download/installation. Since we have similar automation in the Android settings, that could be misleading. Change-Id: Ia1e4f1cfe15f79daf090546ee7c991f93b23fd13 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: validate jdk path at start and reload sdkmanager after thatAssam Boudjelthia2020-06-261-0/+4
| | | | | | | | | * Validate Jdk path at the start to avoid showing valide settings on empty path. * Reload sdkmanager after jdk path is changed to reflect changes. Change-Id: Ib5eafead9d4f695cf79c55b79866bd3269dadbd5 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: fix some issues with jdk path detectionAssam Boudjelthia2020-06-261-71/+3
| | | | | | | | | | | | * There were two functions to detect jdk path, unified them. * First try to find jdk 1.8, if not found, look for newer versions. SDK Tools version 26.x needs jdk 1.8 however, the new cmdline-tools can work with the newest jdk, so the UI will warn the user if the selected jdk cannot run sdkmanager potentially because of the jdk version. Change-Id: Iee2c378598c26e8a9a8245262110ac20322a2d2b Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: use text button for openssl download instead of icon onlyAssam Boudjelthia2020-06-261-1/+0
| | | | | | Change-Id: I37dd0076c9dad78f8e40921facfec62a7363c27c Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Android: remove native sdk and avd manager buttonsAssam Boudjelthia2020-06-261-18/+1
| | | | | | | | | | | | | The native SDK and AVD manager buttons are no longer useful, since the original, visual Java-basd tool for managing SDK and AVDs were removed from Google's offering. The replacement is a set of command line tools and a visual tool within Android Studio, which can not directly be launched from Qt Creator. Qt Creator has it's UI on top of the command line tools. Change-Id: If660d7f566c173f46d9b2a97c9204746d33270e6 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: Make OpenSSL clone progress dialog application-modalAlessandro Portale2020-06-251-1/+1
| | | | | | | | We need to hold the user off from doing funky stuff while cloning, like for example from pressing the clone button multiple times in a row. Change-Id: Ib20218e0b0fa28852412da2b71ec5ba410d682e8 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Trigger PathChooser validation after OpenSSL cloningAlessandro Portale2020-06-251-0/+1
| | | | | | | | In case the path was non-existent before the cloning, it should not be "red" anymore after cloning. Change-Id: If33cfbd07710e317505a9fe1e4b3b9f19a10d5db Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: handle more potential fails for when cloningAssam Boudjelthia2020-06-251-9/+29
| | | | | | Fixes: QTCREATORBUG-24200 Change-Id: I3f54f0610a70654c3711e7dc3bfd5f22863b2cd2 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: fix sdkmanager detached from AndroidSettingsWidgetAssam Boudjelthia2020-06-221-2/+2
| | | | | | | | This was caused by 7419e09d0f4899bc1c0941db14fdf2ad1e169c4b. Change-Id: I423047d353698798c712f9a32603e955ae1ee15c Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-06-151-10/+10
|\ | | | | | | | | | | | | Conflicts: src/plugins/cmakeprojectmanager/fileapiparser.cpp Change-Id: I39f8c2be859be043f506bef77de9bb5b42d38165
| * Android: don't delete the openssl dir when cloningAssam Boudjelthia2020-06-151-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | Avoid removing the openssl dir if the selected path already exist and is not empty, rather just recommend selecting a different path or empty the provided one. Fixes: QTCREATORBUG-24173 Change-Id: I1e501b361d4917a59a5720146b11580e79ac32aa Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Android: Settings widget code shuffling and cosmeticshjk2020-05-201-94/+92
| | | | | | | | | | | | | | Avoid a few casts, consts, #include Change-Id: I803d0b728ce6f7502893d07679f638c2504629e3 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* | Android: Settings widget code cosmeticshjk2020-05-201-197/+185
| | | | | | | | | | | | | | unnecessary indirections, const, namespaces, ... Change-Id: I7955a81eafdce3fbb14646a57ce8436b00045278 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* | Android: Use Utils::ListModel for AvdModelhjk2020-05-201-71/+26
| | | | | | | | | | Change-Id: Iebbe137658288e60954bc63a97ddda948736fb09 Reviewed-by: David Schulz <david.schulz@qt.io>
* | Android: Fix AvdModel::indexForAvdNamehjk2020-05-201-1/+1
| | | | | | | | | | | | | | | | This was using serialNumber instead of avdname, whereas the reverse function avdName() actually used avdname. Change-Id: Ieb91f97323f2adcf9306c90c91b145e494f177c0 Reviewed-by: David Schulz <david.schulz@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-04-201-2/+15
|\| | | | | | | | | | | | | | | Conflicts: src/plugins/android/androidconfigurations.cpp src/plugins/qtsupport/qtoptionspage.cpp Change-Id: I91ee3e771ab630ac3a54be53ac4be6d3c1c46950
| * Update openSslPath when we change the android sdk pathBogDan Vatra2020-04-171-2/+15
| | | | | | | | | | Change-Id: I39bd02d4f5bba8d03d4606b0de89b50778c7aa01 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-04-171-1/+1
|\| | | | | | | Change-Id: Ie35e9959693b6f6f78509eea5b259d6493ef87f2
| * Android: fix potentiallyy big clone of android_openssl with --depth=1Assam Boudjelthia2020-04-151-1/+1
| | | | | | | | | | Change-Id: I839221ee7a3fe8c1dec90d010ecbb492517fcba1 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Android: Simplify some PathChooser accesseshjk2020-04-141-4/+2
| | | | | | | | | | | | Change-Id: I270e7f662a2c148252e1b70166a784af8d0e0933 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Utils: Replace FileChooser::path() by filePath().toString()hjk2020-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | Keep the old method for now to ease downstream porting. The change is kept mechanical, there's a lot of cleanup possible now on the user code side. Change-Id: I936baedd45b7ba057f1c789a1bec896886f48eff Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | Utils: Rename PathChooser::{f,setF}ileName() to {f,setF}ilePath()hjk2020-04-091-4/+4
| | | | | | | | | | | | | | | | | | | | It's returning a FilePath, so it's a better fit. Keep the old versions as inline function now to ease downstream migration. Change-Id: I535887928018f42b92895c8b0c82527f0d55e5ca Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: André Hartmann <aha_1980@gmx.de>
* | Android: remove automatic sdk setup ambiguityAssam Boudjelthia2020-04-021-1/+0
| | | | | | | | | | | | | | | | Use label text instead of icon for Auto SDK download button. Fixes: QTCREATORBUG-23774 Change-Id: I5f10bafb0cdf88210f7121504778885291169e07 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-03-301-1/+10
|\| | | | | | | | | | | | | Conflicts: src/tools/qml2puppet/CMakeLists.txt Change-Id: Id6243b0f725a68075d789bf35e771113b742645b
| * Android: Make sure that to be accepted licenses are visible to the userOliver Wolff2020-03-281-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If Qt Creator is not run in fullscreen or the user's resolution is too small it is possible, that the licenses which have to be accepted are not visible when the according message box is shown. In these cases we scroll down to the SDK manager so that it's obvious that the licenses have to be accepted there and no additional message box will be shown. Task-number: QTBUG-79664 Change-Id: Ic24bd8c4457a43011b4035b659063dd45b321bcc Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Android: Check for usable JDK version in settingsOliver Wolff2020-03-271-1/+24
| | | | | | | | | | | | | | | | | | | | sdkmanager only works with version 8 of JDK specifically. We should warn the user if a different version is used. Task-number: QTBUG-79664 Change-Id: I5be8d068e4ec119453654adda1a684dc65b4c631 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-03-261-1/+1
|\| | | | | | | | | | | | | Conflicts: src/plugins/coreplugin/dialogs/shortcutsettings.cpp Change-Id: I1f21845350bb69268ca51bc77167a8244adce22a
| * Android: Fix download link for JDKOliver Wolff2020-03-261-1/+1
| | | | | | | | | | | | | | | | | | sdkmanager only works correctly with JDK 8, so we should not point to the latest JDK release, but specifically that one. Task-number: QTBUG-79664 Change-Id: I29dc2d26d41eed96c1abc03907ee835d70b9553b Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Android: Remove pointless line breakRobert Loehning2020-03-251-1/+1
|/ | | | | | | Change-Id: I3f8d94cb637c279d7549c819a03233cc8d4aff87 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Android: read SDK configuration from user editable pathAssam Boudjelthia2020-03-181-37/+37
| | | | | | | | | | By default, copy the sdk_definitions.json to Qt Creator user resource path. The user can use that to make any updates if desired. Add SdkDownloader instance as a member of AndroidSettingsWidget. Change-Id: Ieabc9c6ddecbe63586f750b26bcf4ca990caee26 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Android: Add missing spaceRobert Loehning2020-03-181-1/+1
| | | | | | | Change-Id: I061c91c9f48579179591dc912ab3bd48c13af0b0 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Android: fix OpenSSL download minor wrong conditionAssam Boudjelthia2020-03-171-1/+1
| | | | | | | Silent bool should be reversed. Change-Id: I2b8506eb7af95dc51fab8e911c548dac766ce090 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Android: rephrase some bad UI text sentencesAssam Boudjelthia2020-03-161-5/+5
| | | | | Change-Id: If563b0778ceafcaeceb13f697d273c69f484929b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Android: use QListWidget to show defined NDKsAssam Boudjelthia2020-03-161-26/+41
| | | | | | | | | | Use QListWidget to show all installed NDKs (from SDK manager), and NDKs Added manually by the user. Each item has an icon to indicate if it's removable when added by the user, or non-removable if installed from the SDK manager. Change-Id: I26ae5909ce930d5cc8af561b6b4e9cc5415d12f1 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Android: Allow adding OpenSSL libs directly from project settingsAssam Boudjelthia2020-03-121-3/+127
| | | | | | | | | | | | | | | | | | | | | | | This serves as a convenience addition to allow users to directly include OpenSSL prebuilt libs for Android. The path of the OpenSSL would be defined once in the Android options page, and always used to include the libs when needed by the user. How this works: 1- A download button is provided, it first tries to automatically git clone the OpenSSL repo to the defined path. If the cloning fails, the repo URL is opened externally for maunual download. 2- If SDK tools auto download is used (like for first time setup), the OpenSSL download will start after SDK eseentials are installed. 3- Once the libs path is set, it can be used by AndroidBuildApkWidget to include() function to the project (qmake/cmake). It also, should detect if the include() part already exists in the project file. Task-number: QTBUG-80625 Change-Id: I338e916f03f4ff55db25a118f1ea08f1da5dd103 Reviewed-by: hjk <hjk@qt.io>
* Android: Allow adding custom NDKs and auto detect their toolchainsAssam Boudjelthia2020-02-281-2/+34
| | | | | | | | | | | | This adds the option for the user to add a custom NDK out of the predefined list installed from SDK manager. Once an NDK is added and settings saved, both the toolchains and debuggers will be detected automatically. The user then can create a custom kit with those added toolchains and debuggers. Task-number: QTCREATORBUG-23286 Change-Id: I46200accca6fc956b73f211213bfe2a495093934 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>