Instead of assuming engine setup done wait for the respective
signal coming from the debugger bridge.
Task-number: QTCREATORBUG-19666
Change-Id: I3b9daffc7f22ce2a0fde5c993760a2a5bda31310
Reviewed-by: hjk <hjk@qt.io>
The base class TransactionInterface has a virtual destructor that is not
exported. This means we get linker errors when trying to use Database in
a different library.
Change-Id: Iba431a627dca32d59ea7316b7f3eb07fa209c60f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We also hide the related error message pointing to
the QML emulation layer.
Change-Id: I8e2f08bcbc4bdbf36a49e8fba1d1d92adab36e11
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This patch has grown in a quite big change set and it is really hard to
divide it in different parts.
V2::ProjectPartContainer is now using FileIds instead of file paths. This
cleans code up because it is a big step in the direction that internally
only file ids are used. But it is depending on the file cache, so the
file cache has to be provided as an argument. There is now an interface for
transactions too which are ease the testing of them and enables the support
of preprocessor. It adds macros as symbols and is saving used macros. The
used macro support is enabling update improvements because only if a
changed macro is used it needs to be recompiled. This is still in flux
and can be changed in later patches.
Change-Id: I492a2c9af1201d40fdd9f46a0045f7878bbbaa3d
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
cf7f898db3 broke initial mode display due to the then-intentional
delay in registration. Now change the approach: Only record
the modes and the last requested start mode and do all remaining
setup triggered from MainWindow::extensionsInitialized.
This changes behavior insofar as only the last requested mode
on startup (typical Welcome, if Welcome not loaded, Edit) will
be activated.
Change-Id: I62b28342c347938b001c6d3be6a076c5a69b560b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This also gives us a nicer minimum width for the details windows.
Change-Id: Ibf57899b24caa22f303a83cafd20f2b07b5efbb4
Task-number: QTCREATORBUG-19653
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
For the tool tip it moves the position to the start of the word before
passing it to the hoverhandler. That wasn't the case if the user
requests context help, which lead to the strange situation that the tool
tip showed help, but context help at the same position did not (e.g. on
QApplication::topLevelWidgets() with the cursor between the
parentheses).
Related to QTCREATORBUG-15959
Change-Id: I2b9918ea235869c2ddeeba6e749958c10a47d259
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
We add a "targetDirectory" property to the file format and fill in the
deployment data.
(cherry picked from commit fba61c5b55)
Change-Id: If207cd5c77175c54cffdb5df92ea85c425cd3191
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
As a side effect, clazy/tidy options become available for project
specific customization in the projects mode.
Change-Id: Id72762dedd857915139c15f532d2f1c6d1f43edb
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
On diagnostic config change, affected documents are closed behind the
scenes. Visible ones are parsed immediately, invisible ones are tagged
for parse once they become visible.
Task-number: QTCREATORBUG-16263
Change-Id: Id4dcc69f1a4bfccc597e798d6821f8718f86e352
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@qt.io>
So far we've created ClangProjectSettings objects on demand. To get
change notifications there should be only one per project alive (and
accessible).
Change-Id: I757186ceaa642c6864d02946258cc6eb18064a52
Reviewed-by: David Schulz <david.schulz@qt.io>
There is no need to store on every key stroken when changing the
diagnostic config in the projects mode.
Change-Id: I627c11621b999527c110862365ba5c2a0b1e878b
Reviewed-by: David Schulz <david.schulz@qt.io>
The functions are about to be removed.
After cf7f898 the mode does not have to be in the global
pool at all, the plugin needs to stay there as it is used
for soft dependencies, but use direct insert/removal now.
Change-Id: I6497c3ea9fb68fdfa488e8c8700e31d91e36858f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
We cannot use references if the container is just temporary.
Task-number: QTCREATORBUG-19661
Change-Id: Ie0c9af142d5155d3f61c14bad1fbecce7f2dfd0f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Initially, this was just meant to remove the nowadays unneeded
object pool registrations, but some of the internal encapsalization
is not much more than line noise. So do what most other plugins do:
Keep a global pointer to most of the 'singleton' data, instead of
passing around one value that will never be different.
Change-Id: I24bf02d1ffa53c8f0d4890db3579a434b1233d42
Reviewed-by: Lukas Holecek <hluk@email.cz>
Reviewed-by: hjk <hjk@qt.io>
Use new clang_getFileContents to efficiently convert
utf8 byte offsets from line start to column numbers.
Also provide simplier backwards convertion to pass
resulting utf8 offset to clang.
Task-number: QTCREATORBUG-16941
Change-Id: If0e58fe01ad3e281b7e952e972b9e86f6e75aadb
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Also bundle lifetime management into one object.
Also minor interfact cleanup.
Change-Id: I60eec84b0b28a20ce353fcdbfdff1c4848686ba0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Add a command to manually sync the current document and the project tree.
Task-number: QTCREATORBUG-19625
Change-Id: I2423853ca1a876c6203a004b465adde949eb6c5b
Reviewed-by: hjk <hjk@qt.io>
Some cmake generators create a set of different configurations of the project
at the same time (e.g. Visual Studio related ones). These typically contain
the same set of files.
Creator iterates over the configurations and adds files to the project tree.
For multi-configuration generators this does lead to the same file being listed
several times below a target (the targets themselves were already deduplicated!).
This patch adds deduplication of file paths already listed in the target's
subtree of the project, thus fixing the multiple files issue. New files (e.g.
those that get only built in debug/release mode) will still get added as before.
Task-number: QTCREATORBUG-19020
Change-Id: I5dd6012ea335d9946c78c25be258c8c4d60698f2
Reviewed-by: hjk <hjk@qt.io>
...and return -I for ones in project.
In case -isystem is set for all includes we don't get
proper reparse when the included file is in angle brackets
and is changed.
Change-Id: Iba912edfc488aed2a4484f6a742a7c36099e8a13
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Checkstate handling has been redone, which allows to simplify
these actions.
Change-Id: Ice89d2e9a1d8c3e38520ff2519d06fc4e6d67df9
Reviewed-by: David Schulz <david.schulz@qt.io>
The statistics view is not called "events" anymore.
Task-number: QTCREATORBUG-19658
Change-Id: Iff4375d3dc0cf5d82d118244698887818f924c07
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Instead of relying on addObject notification, provide a
StatusBarManager::addStatusBarWidget() method to create,
register and keep track of an IContext object.
That's essentially what was StatusBarWidget before, but does
not need to be known on the user side. For removal, this
provides a StatusBarManager::destroyStatusBarWidget(),
any not explicitly removed items are handled in response
to ICore::coreAboutToClose()
The StatusBarManager class is fully static now, could
be a namespace.
Change-Id: Ia2bd13b391c3f68c8dfd584b53524a9649cc0787
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Lint message M127 (Expression statements should be assignments, calls
or delete expression only) is a warning and not an error.
Task-number: QTCREATORBUG-19534
Change-Id: Iff93cd77582c28f4160fe7a8dec42f19c22436cb
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
While those only exist since Qt 5.10 I would like
to avoid Qt version checks all over the place.
Change-Id: I5750a93ef2e5bbc675ab9adcf35e356990b3059a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Allows adding of multiple files
* Files are copied
* Files are added to the project
* Supported file types can be extended
Change-Id: I41d1d18c4a3fc9c6c50e0629070d9a2cbf082976
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
...to see them in both qtcreator application output
and DebugView.
clangbackend is a separate process which provides
QtCreator stdout and stderr channels so we need to
have QDebug messages there in order to receive them.
Change-Id: I2edc4de1ca203b061395b0b3070e4471348eaad7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
When gathering information for running tests we need to
take the grouping into account if enabled.
This patch amends 4eabcda3a1.
Task-number: QTCREATORBUG-17979
Change-Id: I27c17a5de8596c95f3b207530560d2a7c2cb5e99
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Simplify and re-arrange to avoid wrong indirections and
unnecessary delegation.
Beside this ensure correct check states of group nodes
when adding them.
Change-Id: I24a32249d785e48c9d27111d062c2a06a17327ef
Reviewed-by: David Schulz <david.schulz@qt.io>