This allows us to get rid of a bunch of checks and a parallel
implementation.
Change-Id: Icbd23150700d26d96f5163418e46bf83e374e98a
Reviewed-by: hjk <hjk@qt.io>
It did not center on the text cursor.
- Fix lastVisibleBlockNumber() to return the last block if the editor is
scrolled to the bottom (and there potentially is no block located at the
very bottom edge of the editor widget).
- Fix comparison of block numbers (0-based) with line numbers (1-based)
Change-Id: I21405443bea3533e393a7cf320ded6d47f647949
Reviewed-by: David Schulz <david.schulz@qt.io>
This will help collecting feedback from users affected by bugs.
Task-number: QTCREATORBUG-22508
Change-Id: Idfc22245587dd2d71b229b4ab6c7562fb7a5ecfc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
After fixing top/bottom splits, the side by side splitting scrolled
wrongly if the cursor position was somewhere at the bottom of the view.
Avoid restoring state if the editor is not in a layout, since the
behavior can now differ depending on it. Calling restoreState before
that, would make the behavior depend on the default size of the widget.
This has the additional benefit that editors can adapt (e.g. make a
previously visible text cursor visible) if they are moved/duplicated
when opening a document in an existing split, not only when creating the
split.
Change-Id: I3916eb20c2251dbeac4b604f96af647cf142fcad
Reviewed-by: David Schulz <david.schulz@qt.io>
They are 1:1, idea is to replace (most of the) Id uses with the
framework itself, overall simplifying e.g. TestFrameworkManager.
For a salami-tactics transition, easy convervion between the two helps.
Change-Id: Ib6d166ae34a3189d900353be7a181a1e45467a7c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Components typically have Node as their root item, so having a
component as a scene root detects as having a plain Node as scene
root, which normally doesn't get a selection box.
Change-Id: I66ae1dc3ade4b6f822d768cf71e8feceb0ffa06d
Fixes: QDS-1636
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This makes the drawing code more robust against zoom level changes.
Change-Id: I5792c8c8e52950576eb2ba62797d19c3dcd979cb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
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>
The version we ship in 4.11 is 1.1.1d Chances are we will forget
updating this version number in the future too, so let's just not
mention it.
Change-Id: Ibb8248a4eaa38f6dab93af8170f1f77a2dff3c28
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
A target device info locates in the *.pdsc files provided by the device
description packages which are installed into the Keil MDK-ARM instance.
We parse this files to provide possibility for the user to choose a
specific MCU target for debugging.
Previous parsing implementation was complicated and did not take in
account the specific *.pdsc format features:
* https://www.keil.com/pack/doc/CMSIS/Pack/html/packFormat.html
It turns out that the following entries as 'family', 'sub-family',
'device', and 'device-variant' may contain an attributes with the
same names. So, we can simplify creation of an items, use only one
base implementation for all items. Besides, a new implementation
simplifies parsing and for other *.pdsc files (e.g. non only for
STMicroelectronics).
Tested with Keil MDK-ARM v5.23 using STM32 NUCLEO-F767ZI board.
Change-Id: Idd51b8fa3e36a7896254b4cb8aa4c1287b9f0df5
Reviewed-by: hjk <hjk@qt.io>
- Fix an issue where the list of workspaces is not correctly updated
after removal of a workspace in the dialog
- Fix initial sorting of the workspace model
Change-Id: I0c16aabc1fdcc2690fcb83e40b0d5d16cb6c72ba
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
If you zoom into a page (Ctrl-+) and then select, artifacts could be
left behind when dragging or removing the selection again.
Fiddle around with coordinate transformations (with regard to rounding)
to fix that.
Change-Id: I68c29d8e3559b90dbb3b93550338e483d14731bf
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
The content of the locals and expressions had
changed as it nowadays provides information
on the qml engine as well.
Adapt the test accordingly.
Change-Id: Ib5fa96e3150206a374ac5e115e789cc3b983497b
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
This leaves no doubts regarding lifetime and type.
Change-Id: I1fdd60427a469f32236ea0fa923ec9fa308c338e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Added icon for spot light gizmo and updated directional light icon.
Removed icons that are no longer needed on puppet side.
Change-Id: Id1e72c80e122250f7edc8a69a0e5720e755b96fc
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
There does not seem to be a reason for the duplication.
Change-Id: I7c9b016c76a9aa93ccd93af0aea931fa5b148300
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
Calculating camera frustum geometry requires linked camera spatial
node to be up-to-date. However, we can't control the order in which
the spatial nodes of cameras and geometries are updated, so geometry
update will often happen first. Therefore we need to defer geometry
update to the next frame when we detect camera change.
Change-Id: I056eb1bf95db357a73511a6bb7ef0c55c6f4befa
Fixes: QDS-1649
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Now it is possible to use the SVD files to read or write the peripheral
registers of a target device.
By default a paths to the SVD files automatically comes from the installed
"Device Software Pack" database and don't need to be changed by the user.
But, if a user needs to change the SVD file, then it can be done via the
provider's device selection options.
Tested on Windows with Keil MDK-ARM v5.23 using the STM32 NUCLEO-F767ZI
board.
Change-Id: Ia39e8d9a25cd24461804d47830ee9e8f01486108
Reviewed-by: hjk <hjk@qt.io>
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>
No need to duplicate the timer. Now BuildSystem::isWaitingForParse()
returns the correct result.
Change-Id: Iab754b2c488c48302039988bd36e51f00e0f1196
Reviewed-by: hjk <hjk@qt.io>
Some include of QPainterPath was removed in Qt, causing errors like:
easingpane\easinggraph.cpp(258): error C2079: 'path' uses undefined class 'QPainterPath'
easingpane\easinggraph.cpp(275): error C2027: use of undefined type 'QPainterPath'
easingpane\easinggraph.cpp(305): error C2664: 'void QPainter::drawPath(const QPainterPath &)': cannot convert argument 1 from 'int'
to 'const QPainterPath &'
easingpane\easinggraph.cpp(305): note: Reason: cannot convert from 'int' to 'const QPainterPath'
easingpane\easinggraph.cpp(305): note: use of undefined type 'QPainterPath'
...
Add the missing include statements.
Change-Id: I4f3383cbcec891a52480a683c9c76ed5deee2b2a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The m_skipBuilding variable in AndroidBuildApkStep needs to be re-
calculated on every call to init().
Also add some debug statements that will help us find out why it becomes
true in the first place.
Task-number: QTCREATORBUG-23572
Change-Id: I058b58cf0e511557d1fad7e5bd03048a7d8b9c69
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
And add some logging to make the situation debuggable.
There are a lot of reasons that currently trigger (or attempt to
trigger) parsing, including two unconditional ones on build system
construction and fromMap. Some can be avoided, but keeping track of
which one will be the "needed" one gets tricky without additional state.
So turn it around and try to reparse "immediately" until such a parse
finished. The parser itself is robust enough to deflect repeated
runs before the first one finishes.
Change-Id: Ic992b8730fa3a09ca14532cdd9bdbab4c245cb41
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>