This saves one function call compared to the instance()->currentProject()
pattern and is typically less to type on the caller site.
Change-Id: I65568f30205fc90e2aaca7e8e7f0192241df8c85
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Througout the initial review the singleton was transformed into an
ordinary class, but a error was introduced: The "reference" file was
incorrectly assumed to be the editors file, which is wrong, since
it should be the declaration file.
Change-Id: Iad3e25a690fa8bd07a18184b24b10f8dea965332
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
This patch introduces a priority-based mechanism when searching for certains
symbols in the snapshot. The priority corresponds to how similar the file path
from the "reference" symbol is to the file path from the "candidate" symbol.
This solves a variety of issues when matching "equivalent" symbols but that
are in another file/project, such as when following a function declaration,
a forward class declaration, or adding a definition through a quickfix.
There's now a symbol finder which will compute the "best" search order and cache
the most recent results. A consequence is that following symbols in some cases
is slower, but not apparently significatly.
Note: The "find" functions were moved from the Snapshot to the new SymbolFinder
class.
Task-number: QTCREATORBUG-6697
Task-number: QTCREATORBUG-6792
Change-Id: Ia518f014275fec1f4d0cb3224bd4e06a9df6d557
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Continuinng a previous commit... This is in order to make
the interface clearer.
Change-Id: Ic1b05217f878578bc84a064927507b75981c47d6
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
The model uses UTF-8 internally and it makes more sense to only
convert when necessary.
A following commit will rename the source/setSource methods in
document for more clarity too.
Change-Id: I960ea0754efabd1436ad4b4299a57faeb65a8bee
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Also extend the refactoring changes to allow for reindenting.
Task-number: QTCREATORBUG-6797
Change-Id: I515c9a37d9e62e1d5de52ff99bd492e739a81885
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Now that we are iterating all the files in the project (instead of stopping at
the first success), we need a cache to make the switching fast enough on big
projects.
Change-Id: Ib7d63c93b3303c534ca53856d96333a822046ced
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
In case multiple files have the same name (in a complex project), find
the file with the most common path instead of the first one.
Change-Id: I75495dabe7ba8f5142d6b52e7c07d54d5d6f54bd
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
Theoretically it could now run multiple searches in parallel, but since
a single search grabs all available threads from the pool, any search
request afterwards is queued for execution when the previous one
finished.
Task-number: QTCREATORBUG-6101
Change-Id: Ifada0ccdd1ce7cfb4aaaaa4de2db070025f91a3a
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
For example disabled it for "All Projects" searches when all projects
are closed.
Change-Id: Icc65a87577ba51f4362791dc8ecdca3c92819553
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
This improves our completion support for documentation
comments. It's now possible to have a Doxygen block
generated when hitting enter after a /** or /*! comment
start. A couple other related options are also available.
Task-number: QTCREATORBUG-2752
Task-number: QTCREATORBUG-3165
Change-Id: I1c81c0b4b370eb1d409ef72a9c7f22c357f202f4
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@nokia.com>
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
If you indent the first initializer differently, that will now stick
for the following ones.
Change-Id: Ib08dfbf64282eda41202528b7255e693c350f7c6
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
Before, we didn't transform the code style settings
if they were defaults (so no entries were written
for them in the settings). In case someone
changed global tab settings and didn't touch
code style settings in 2.3, the code style settings
were not transformed. Now, we transform them too
so that legacy code style settings in 2.4
(named: "Old Creator") contains old global tab settings.
We also take care of not creating legacy settings
in case neither textTabPreferences nor CppTabPreferences
nor CppCodeStyleSettings were saved (when creator 2.3 used only
defaults or when it's a first run of creator 2.4 without
old settings).
Handle legacy transformation for qml too.
Make a code bit more readable.
Task-number: QTCREATORBUG-6614
Change-Id: I37b8dd4d1170f397b7d304c59575d9ae37884564
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
Avoid inserting characters that are already there.
e.g.
int testFly() {}
te|Fly()
When triggers a completion, the code will changed to:
testFly()|
But in before, the code will changed to:
testFly()|Fly()
Notice: Character of '|' show the cursor position.
Change-Id: I6c111e30356b2549aebc6fbea05608e70d6ab41f
Merge-request: 398
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>