...e.g. qt_metacall() etc from the Q_OBJECT macro.
This affects the results of the cpp locator and find filters.
Change-Id: I2f9ff1210f3705baddadd486d700ee8be9a44a20
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
In the majority of cases we were doing that anyways, having two
ways is just needlessly confusing.
Change-Id: Ied362a702c23beee528368d74df1f2aabe5807f8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
If the user input contains "::", match against the qualified symbol
name. Otherwise, as before, match against the unqualified symbol name.
This applies to the function and class filters and allows to narrow down
the results by using a namespace prefix, e.g. "c core::*category".
Change-Id: Id152f412740e27f2f2d001dc7008dba8a92a37ce
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This will make it easier to use a single SearchSymbols instance and a
single run serving all locator filters.
Change-Id: Idb6a3693ad356227d46d0b28fb4c3a5db62b4ac4
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
So far candidates were prefix matched case sensitive which led to
an unfavorable results order.
With this patch, if the input is lower case, the prioritizing happens by
a case insensitive prefix match. Otherwise the match happens case
sensitive (just like before).
Example:
Search for e.g. "m cppmodelmanager"
Top result before: AbstractEditorSupport (match at parameter type)
Top result now: CppModelManager
Change-Id: Ic27042cfe717be812a2237a3437399597c98dd74
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
The soft links inside the framework can't be resolved.
Change-Id: I9f328bc074091236fb33eee63e725e49efeac5c9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
...leading to the error message
QMetaObject::indexOfSignal: signal aboutToRemoveFiles(QStringList) from
CppTools::CppModelManagerInterface redefined in
CppTools::Internal::CppModelManager
Change-Id: I0a1c307ad5fc0d7cefa198726f534140192facad
Reviewed-by: David Schulz <david.schulz@digia.com>
(a) The code model manager figures out by itself which files were added
or removed from the project.
If this was done successfully, check also the timestamp of the
common files and reindex if necessary.
(b) A full reindexing is only triggered if the project configuration
changes (defines, includes, framework paths).
(c) If project files were removed, the garbage collector is called.
Task-number: QTCREATORBUG-9730
Change-Id: Ib855614b070880576233a3525813617c967a72f3
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
...except the configuration file if no projects are open. For this case
there is no need to keep the configuration file around.
Task-number: QTCREATORBUG-9829
Change-Id: I51b01b30c17cbc1ced491ef2c47c338dae6ed983
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Currently GC() is invoked if
- 5 CppEditors were closed or the last CppEditor was closed
- a project is about to be removed
- a session is about to be unloaded
Thus, for the following use cases, too much GC() calls (can) happen:
- File > Close All
- Close All Projects and Editors
- Changing the session
Fixed by introducing a timer.
Change-Id: I9c984d9de735fc8c6ee77a518e9fb5b63dba5881
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This speeds up the quick fix InsertDefFromDecl on function declarations
in classes containing Q_OBJECT.
Task-number: QTCREATORBUG-9877
Change-Id: I0af16f17f40735040b7158a3191c13db3433edf9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lorenz Haas <lykurg@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
And use it where appropriate
Change-Id: I0f37b8aada6eaa9be6743724b91a59173a01cb0c
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
Fix auto completion for the case when template parameter should be
found somewhere of scope of template instantiation declaration.
Example:
struct A
{
void foo();
struct B
{
int b;
};
};
template<typename T>
struct Template
{
T* get() { return 0; }
T t;
};
void A::foo()
{
Template<B> templ;
templ.get()->//no autocompletion
templ.t.//no autocompletion
}
Task-number: QTCREATORBUG-8852
Task-number: QTCREATORBUG-9169
Change-Id: I56b40776e66740f995ae6fc5d69e3c50139a3af2
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Use it instead of retrieving this information from the document.
Change-Id: I809fcb2daf59021cf503c371a5d40d75d7448796
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Open the files in the cpp editor, so preprocessing will take place
* Remove duplicated code
* Fix coding styles issues
Change-Id: Ic8bffcbc5a4ac5aca76bc55880d33c3b55f0944c
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
This introduces an API change for the project managers. Those are not
expected to call updateSourceFiles() anymore.
Task-number: QTCREATORBUG-9581
Change-Id: I77befd29fb851c9acf87204d571da00183c9cd05
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* First construct a ProjectPart completely, then append it to the
ProjectInfo. Doing it the other way around will lead to
inconsistencies since some attributes of ProjectInfo are
calculated/updated when a ProjectPart is appended. This has no effect
on the current tests.
* Remove created *.user file when test finishes.
* Add comments describing what the tests do.
* Rename test methods to some more desribtive names.
Change-Id: I5eeed05d0aef19f8094ff488dedcced74f0814f8
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Updated/fixed the code to treat treat text/x-objcsrc and
text/x-objc++src correctly.
Change-Id: I1ab97577c786a28381398e4e0fac177325d00d7b
Reviewed-by: Sergey Shambir <sergey.shambir.auto@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
There is no need to have that logic in CppEditorWidget. The
CppModelManager knows how many editors are open and can therefore call
GC() by itself.
Change-Id: I2ed4051ad7b8c87615014d73e29291027d49d2ab
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
It fixes code model when we have local type which contains a member
of other type, e.g.:
struct OtherType { int otherTypeMember; };
void foo()
{
struct LocalType
{
int localTypeMember;
OtherType ot;
};
LocalType lt;
lt.ot.//no code completion
}
Change-Id: I018f492a6c48bfcbba0ef376ef005825e2b13f35
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Move basic ui code model support from CppTools into QtSupport
* Use Kit infrastructure to retrieve uicCommand and environment
* Remove specialization for cmake projects (no longer needed)
* Remove specialization for qmake based projects (no longer needed)
Change-Id: I8569cc01acb46a540883c2da235d169bebf7db39
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Also update qbs submodule so Creator can open itself.
Change-Id: Iaa70d5e83d07a1120e795046ebbd8995159aa2db
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Necessary for keeping compatibility within a minor series.
When bumping versions, the compatVersion now needs to be taken into
account too.
Change-Id: I588947f885480889ff2f58481f72db76e3f1a9f1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
That is what it actually is, wrt how Qt API calls it.
Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
When the editor is closed, the CppEditorSupport waits for the
highlighting and semantic info futures to finish. These futures might
access the CppEditorSupport through the CppModelManager, causing a
deadlock on the m_editorSupportMutex.
Change-Id: Ifeb3864ed3bc2666d83607ef50d7bfee8f3d118f
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>