Commit Graph

585 Commits

Author SHA1 Message Date
Fawzi Mohamed
4ea1871aea qmljs: delay import scan until at least one qml file is parsed
Task-number: QTCREATORBUG-10899
Change-Id: I5dca739a89434c7b5813c7a79a76ab7c22e3d71d
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-11-26 18:45:07 +01:00
Fawzi Mohamed
0b80c053e4 qmljs: avoid double parsing of imports
Change-Id: Ib45a63e3175924158dc2cff60a7b1964f491c375
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-11-26 16:42:42 +01:00
Thomas Hartmann
caff343769 QmlJS: Fixing warnings
Correcting ImportKey::compare(). The compare function was not stable
and QMap did not work properly.

Done with: Fawzi

Change-Id: I11790215cba6944bf9f04be0c3844b35ea54ea70
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-11-26 11:34:30 +01:00
Nikolai Kosjar
180e613e71 QmlJsTools: Fix compilation with Qt4
Change-Id: I76e067ec8223c42b480ad9d296cd3b7357831aab
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-11-20 14:48:40 +01:00
Fawzi Mohamed
2fc150b983 qmljs: scan imports
Change-Id: Ied59f5d56c5816d9da57f23a619d604acec76000
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-11-20 12:27:49 +01:00
Fawzi Mohamed
7fb87fbb06 qmljs: fingerprints for documents, libraries and FakeMetaObjects
Change-Id: Ib9c9b86fbed19539dc42696292bdb3b93dd1b575
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-11-20 12:27:31 +01:00
Fawzi Mohamed
e1b44e870f qmljs: new import/dep tracking
Change-Id: I9f4de2a06aad3afb80372a4b80e56db658683575
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-11-20 12:26:30 +01:00
Orgad Shaneh
4442a92729 Braces cleanup
Change-Id: I8413252c90a1487d291f15d92837c30ab697b245
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-14 08:13:52 +01:00
Fawzi Mohamed
02efc5d028 qmljs: use QTC_OVERRIDE in qmljsmodelmanager
Change-Id: I3cf1c241a236f8b38fda1b4d40c45e75faa3a1f7
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-11-12 12:45:57 +01:00
Fawzi Mohamed
c32317d198 qml: solve race condition when deleting while indexing
Task-number: QTCREATORBUG-10734

Change-Id: I521ac0881ff83a44846b133de5c292af8cda9d4e
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-11-12 12:45:40 +01:00
hjk
debae19938 QmlConsole: Save cycles
Change-Id: I164449f83b6c24bdf89b0b770c9e19f32fe3f5be
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
2013-11-08 16:33:01 +01:00
Fawzi Mohamed
e9c97aa1d1 qmljs: use new qml parser
adds support for singleton and getter/setter properties

Change-Id: Ia6691ac7799a46885db0df44617617dcc3c13189
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-11-06 17:06:15 +01:00
Fawzi Mohamed
104fb54d36 qmljs: temporarly disable tests, until new import handling is in
Change-Id: I2585ae6b92c8c9e07dcdea2155d2438c3d020dce
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2013-11-06 14:55:48 +01:00
Daniel Teske
bad74c6b55 Qml Console view: Fix scrolling
Broken by qtbase commit 934f06220391eb0e0ebf66a2eb037f48adb4c43c

Change-Id: I55b1ae8636a1c1cf1ed75f4d03b58ebf5bba511a
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-10-29 15:11:50 +01:00
Fawzi Mohamed
0a4310d314 qmljs: added qmljsconstants.h
Moved Document::Language, Import::Type and StaticAnalysis::Severity
enums to qmljsconstants.h and renamed values removing the redundant
part.
Thus the effective length changed little or improved
(Document::QmlLanguage => Language::Qml).

The separate file allows better reuse of enum values without introducing
circular dependencies.

Change-Id: I5186d7c04f5d3f6c289068b919be5ff1ff118326
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-10-23 00:35:16 +02:00
Friedemann Kleint
50f522b2f7 Remove most trailing newlines from translated messages.
They are a hassle for translators and reviewers alike.

Change-Id: I07c1b61e8b6719e54fdc1f69cf63f573119a6776
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-10-22 08:05:09 +02:00
Christian Kandeler
f1da03c73b qbs project files: Make use of new qbsSearchPaths property.
Change-Id: I396d970fafea1fd0b4c4d73883796662a1d0064b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-09 18:08:56 +02:00
Nikolai Kosjar
872bfb7094 CppTools: Adapt C++ locator names to reality
The new names are:

* C++ Methods in Current Document -> C++ Symbols in Current Document
* C++ Classes and Methods -> C++ Classes, Enums and Functions
* C++ Methods and Functions -> C++ Functions

Further notes:

* "C++ Classes" stays the same.
* The term "Methods" was removed since "Functions" says it all (member
  functions, non-member functions). Because of this, the "m" shortcut
  for this filter does not fit so well to the name anymore.
* "C++ Symbols in..." - "Symbols" means the same as in the C++ Search
  dialog: classes, enums, functions and declarations

Change-Id: I8e5f410f2dcb1fafe83d0a1c8607f4c17eabbb8c
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2013-10-07 12:06:20 +02:00
hjk
9c2a7c7c76 TextEditor: Use direct interface for registerMimeTypeForLanguageId
Change-Id: I6984173acf86e80175f9e2346315b5b226d6bde9
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-09-26 11:08:19 +02:00
hjk
09aad1ac4d CodeStyleSettings: De-noise user code by using QByteArray ids.
Change-Id: Ia7210b0ff85667951e4e5554155d89ed6925f9ec
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-09-25 09:43:22 +02:00
hjk
ca15d0aa95 Apply static pattern to TextEditorSetting
Change-Id: I4e6f573d893c0aa2bb4ca9812fc8db2961dac172
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-20 10:28:22 +02:00
Christian Kandeler
c2ac0902ed Move some functions out of defaults.js and make them project properties.
The one that is left is the only one that's actually a function taking
real input.
This saves a number of includes.

Change-Id: I77e777bbf6ed7ed4086f9a40de4dc3dd8c91a7af
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-09 12:04:01 +02:00
hjk
527046acc2 MessageManager: General cleanup.
Apply 'static' pattern, rename 'printToOutputPane' to 'write'

Change-Id: I6f31f1a8c914661e2a2182c0b6256b41ead28de7
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-09-05 12:51:00 +02:00
hjk
aadb6f16af SessionManager: Apply 'static' pattern
Change-Id: I370f72fcf7a24216ee189979ce6b5c8bfc5f4140
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-09-05 12:28:12 +02:00
hjk
98917598d3 ProjectManager: Use Core::Id for progress types
Change-Id: I72993fda50ad70ad2d7c2f449923ac6e34b9e737
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-04 14:59:06 +02:00
hjk
a37589d431 Apply 'static' pattern to MimeDatabase
Also adjust and streamline using and surrounding code.

Change-Id: I6a8b05126bdcbb74ff611b21c7cb3c5902a2d5ca
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-09-03 11:41:45 +02:00
Christian Kandeler
72d173829c Remove superfluous include paths from project files.
A lot of our build system files specify unneeded include
paths. These roughly fall into the following categories:
    a) Paths that are already set in more general files
       such as qtcreator.pri.
    b) Paths that serve no purpose at all, possibly
       left over from earlier versions of the project.
    c) Paths that act as workarounds for wrong include
       statements of the form '#include "xyz.h"', where
       xyz.h is not in the same directory as the including
      file.
This patch removes such path specifications and fixes the offending
include statements from case c).
Tested on Linux, Windows and OSX with qmake and qbs.

Change-Id: I039a8449f8a65df0d616b4c08081145c18ae4b15
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-02 17:28:17 +02:00
hjk
df36184371 Core: Static pattern for ProgressManager, clean up all users
Change-Id: I4af8793ca69a3af9e99baeb7c31dad3864266f91
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-02 12:41:47 +02:00
Friedemann Kleint
e43e466b5b Reduce usage of QStringRef::toString() in QmlJS/QmlJSTools.
Change-Id: I9db2a0b21bf430d6f450e1e860a0c2a02272536f
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-08-29 11:35:41 +02:00
Nikolai Kosjar
ef018ddd9e Locator: Case sensitivity of input affects prioritizing
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>
2013-08-22 09:42:22 +02:00
Tobias Hunger
95859289b8 KitManager: Use static API as other singletons do
Change-Id: Ia49c6552a5aae72870687ef9c64f2642fbe24155
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-08-21 16:55:16 +02:00
Oswald Buddenhagen
c2e90c360b Merge remote-tracking branch 'origin/2.8'
Conflicts:
	src/plugins/cpptools/cppcompletion_test.cpp
	src/plugins/cpptools/cpptoolsplugin.h
	src/plugins/projectexplorer/customtoolchain.cpp
	src/plugins/vcsbase/command.cpp

Change-Id: Ie7b3c9e136c0748b41320227c757471259339b48
2013-08-21 14:39:18 +02:00
Aurindam Jana
91e6d27a73 QmlConsoleItemModel: Remove redundant method
Change-Id: I8342ee560bb2a9dc57cdccc3815f04d57ec3cd05
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2013-08-12 13:36:31 +02:00
Fawzi Mohamed
e8a709cd4d qmljs: avoid ecessive updating when cxx types might have changed
perform an update of the qml code model only if a cpp file exporting
qml types has not changed for at least 15 seconds.

Change-Id: I674eed8dd5a68f2d74a8794fd8a237c2d99a3185
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-07-30 10:53:58 +02:00
Eike Ziller
890bb77f82 Update the Qml working copy from the documents, not editors.
Unfortunately the language is still checked by using an editor property.

Change-Id: I3b54624e60b65c48b154c405f66d04b74be5be3e
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-07-17 12:09:05 +02:00
Orgad Shaneh
ad9e7ccab6 Fix coding style for else statements
Change-Id: I1309db70e98d678e150388c76ce665e988fdf081
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-17 11:11:25 +02:00
Eike Ziller
cc7c3c9623 Add QTCREATOR_COMPAT_VERSION
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>
2013-07-09 15:14:10 +02:00
Eike Ziller
dd43d9908f Rename IDocument::fileName --> filePath
That is what it actually is, wrt how Qt API calls it.

Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-09 13:51:42 +02:00
Christian Kandeler
b403732934 QmlJSTools: Fix language detection bug.
Due to what looks like a copy/paste error, qbs files were detected
as actual QML, resulting in a torrent of parser warnings for projects
containing qbs files.

Change-Id: I8f4886621641d42bb0b2aa066a0bbdc44b9d8221
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-02 16:38:16 +02:00
Fawzi Mohamed
eb1d87b30f qmljs: coalesce resets of code model triggered by cpp files update
Use a timer to avoid resetting the model too often.

Change-Id: Iadf3ff3f03cfc91df44168243972b1e5a0ee5077
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-07-02 12:11:58 +02:00
Leena Miettinen
41411165ba Doc: use standard wording in \brief commands
QDoc does some magic with the \class and \namespaces
and \brief commands, so the following wording must be used:
"The xxx class yyy ..."

Change-Id: Id231f30e8464898b776888d5423523de404aae34
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-06-20 11:22:47 +02:00
Eike Ziller
1b3bb5cb7e Consistently give qbs groups a name.
These nicely show up in the project tree in Qt Creator then.

Change-Id: I9782f5953d61940e6c2a0f61f07bb15aaeba49d9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-06 13:40:51 +02:00
Friedemann Kleint
8140a87f9a QmlJsTools: Compile fix for Qt 4.
Change-Id: Ifaa78943be52d821bfbc3f32fb3fc914cf2d4315
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-05 12:20:39 +02:00
Eike Ziller
4acece6d9e Merge remote-tracking branch 'origin/2.7' into 2.8
Conflicts:
	src/plugins/qmljstools/qmlconsoleitemdelegate.cpp
	src/plugins/qmlprofiler/qmlprofilerengine.cpp

Change-Id: I95c2c4116e28683fafcc0a557a7913d67361dcd4
2013-06-05 11:14:48 +02:00
Eike Ziller
7c8db79817 Switch less often to edit mode
This change
* Removes IMode::type, ModeManager::activateModeType, and
  IEditor::preferredModeType, and adds IEditor::isDesignModePreferred
  instead
* Adapts the mode switching code in EditorManager to handle multiple
  windows, for example switching to edit mode should only happen if
  the editor/view is in the main window. Otherwise the editor window
  should be raised and focused
* Renames EditorManager::NoActivate --> DoNotChangeCurrentEditor
* Reverts the EditorManager::ModeSwitch logic to switch mode or
  make the current editor visible by default, introducing
  DoNotMakeVisible flag instead
* Fixes a few instances where EditorManager::ModeSwitch should have been
  used

One non-trivial problem left: If you open a .ui file and switch to an
external editor window, edit mode is activated, because the current
editor no longer is a .ui file, which means that the design mode gets
deactivated.

Change-Id: I76c5c2391eb4090143b778fb103acff3a5a1ff41
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-06-05 09:43:14 +02:00
Aurindam Jana
b0854e3c71 QmlConsole: Fix bug: Jump to location in editor
Since the file path starts with file:/// use QUrl to
get local file name.

Task-number: QTCREATORBUG-9337
Change-Id: Icf591fdcab8cb626cfbf844c451a2c87c07b853a
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-06-04 12:11:36 +02:00
Fawzi Mohamed
5a4cdc11cb qmljs: adding qrc support
Qmljs now keeps a cache of parsed qrc files, and can resolve "qrc:" links.

This breaks the assumption that the name that the qml files has on
the filesystem is the one that qml sees, and that contents of
directories can be found just looking at file whose path starts with the
directory path.

Currently the first file is used when multiple qrc files contain the same
path, but support for strict and weak path resolving is already there.

At the moment only qrc files for projects that call updateQmljsCodeModel
are updated.

ChangeLog: QmljsSupport: Imports using qrc links are resolved.

Task-number: QTCREATORBUG-8953
Change-Id: I695fac2692af2417d49c192c580a1c2e7b4873f4
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-06-03 10:32:13 +02:00
Eike Ziller
2125525e77 Move openEditorAt from BaseTextEditorWidget to EditorManager
More sensible place, gotoLine is a method in IEditor anyhow.

Change-Id: I420a6bf17060c16e6f1a4f45e0bef89379fb6bf8
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-06-03 09:33:06 +02:00
Fawzi Mohamed
271a96b19a qmljs: moving all mime types into qmljstools
This reduces uneeded dependencies for modules that need the types
like the qbs module.

Change-Id: I59a6067a4c24a6d0401bf57fdfa8f5dc1f03595c
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-05-30 15:45:26 +02:00
Fawzi Mohamed
8762dd2ea9 qmljstools: reset code model after update of exported cpp types
Task-number: QTCREATORBUG-9105
Change-Id: Id0021902985da8e5e7faec23766bb37541d041c0
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-05-29 20:13:14 +02:00