QML can directly mirror this into a JavaScript object, so there is no
need to manually copy the values into a different container. Also,
QQmlPropertyMap is very expensive as it will listen to changes to any
value in the map. We never use this. It would be entirely enough to
update the whole map at once if we ever want to update the theme at
runtime.
Change-Id: Ie2b549e9af51d620801808c87d6f659cc7a06c04
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Do not run cmake on file changes if that was disabled in the CMakeTool.
Task-number: QTCREATORBUG-17232
Change-Id: I478161aebe353ddc47e24dd8a7f2cec54822e7d0
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
First thread using the helper function initialized the list
object another thread accesses it afterwards. This could be
problematic under some circumstances.
Issue was detected using Helgrind.
Change-Id: I1520b1f7364742cb02630af1fd9d98960dec1f41
Reviewed-by: David Schulz <david.schulz@qt.io>
QQT_INSTALL_LIBS does not work as intended. That was not obvious since
Qt Creatod adapts the PATH, which had a similar effect, but breaks when
trying to build the project outside Qt Creator.
Change-Id: I36c7caf69a157ae0d4e3dc500265042fd5964681
Reviewed-by: Florian Apolloner <florian@apolloner.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Beautifier makes heavy use of mime types which shouldn't be accessed
in initialize() as that doubles the overhead for parsing them.
Change-Id: Ie731f1194f281e9574ef914d67537651658ea9e7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Requesting mime types in initialized() is expensive because it causes
the mime database to be parsed. As additional mime types are added on
various plugin initializations, the database will be reparsed later
anyway. It's better to request the mime types afterwards.
Change-Id: I6c5f67a4483a693b2f69beb300b8014522fa2678
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
"m_tries" and "m_wasStarted" must be initialized before "m_psProc-
>start" call, because m_psProc will emit "QIODevice::readyRead" signal
before the function ends.
Change-Id: I10c63ca2d15c362d6df04018757b1916b9989893
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This prevents stale tasks from piling up in the issues pane.
Change-Id: I90f79e969b8929e5bb43e3964c01fcd10af2ea33
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Never delete the base folder node when using buildTree to set up
a tree of files in the project tree. This makes sure the node stays
around, even when it turns empty. This matches how buildTree is used
in our code.
Change-Id: Id2a589985d9ac704316db5f210232532dcdb5d58
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Initial parsing for tests when opening bigger projects was too
slow. Try to let the parsing process on more than one file at
a time to speed up the whole process.
Project before now
qtbase ~11min ~4min
qtcreator ~2min ~40s
Values above may vary depending on the underlying hardware.
Change-Id: I77eeb189c82c58fce84ffbac67143ec7fa0adcae
Reviewed-by: David Schulz <david.schulz@qt.io>
Handle absolute paths to mkspec and do not accept any directory
as a mkspec: Only accept directories containing a qmake.conf.
Task-number: QTCREATORBUG-17237
Change-Id: I18c2b28a0abc525721df7c4f1ac2d272ca4cadb1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The assumption that the scale entries only have to be updated when
their stable index changes was wrong. The repeater can shuffle around,
stash and restore items at will. It might restore some item at the
same position, but the timestamp it refers to might have changed. Thus,
the value being displayed was wrong until the timeline got scrolled.
By using a proper binding we avoid this. In turn the blockStartTime
might get re-evaluated twice for a single update to row.firstBlock.
That would be bad as we would constantly re-render all the texts.
Experiments show that the current implementation of the QML engine
happens to order the bindings in a way where this doesn't happen and
we cannot get better than this without huge overhead.
Also, we simplify some of the expressions involved.
Change-Id: I93848f89bdbefd28c3dbf30f13551c9476dabd37
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Append a '@' to files with a '@' in their name. The last '@' (and
everything following it) is cut off by SVN and treated as a revision.
Task-number: QTCREATORBUG-17229
Change-Id: Icab62345c18277c0327b1e548a45feda0906b3c3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Workaround for this not being available via dedicated qbs properties
right now.
Task-number: QTCREATORBUG-17207
Change-Id: Id06a41edf0308e5b20dd6bc7aa390c18d75acb19
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
We call delayedUpdateModel() instead of updateModel() setItemLibraryInfo(),
to avoid a second update. The updateModel in updateImports() is not required,
since we call setItemLibraryInfo().
Change-Id: I2fbb4f9d0cd467776141ae4d0c8aaecb00f55557
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Always return a None type in the cdb python interface.
Returning Null will result in an exception whereas a None type
prints a stack as soon as a function or member from the return
value is used.
Change-Id: Idc4ea8547074e73ea17fb14f8e3793c0821cc526
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
A preliminary step to debugger options reorganization.
Change-Id: Iac77d87acfe246eff3f5734bcf35e35c2d6909c1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
CMake is pretty poor with the data on which files are contained in a project.
Run a filesystem scan of the project directory to find more files.
Change-Id: I9cc3293a9faf9a967efa5f586c144c3e7773588b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We have to forward the call to the original modifier.
Without this patch auto completion does not work inside components.
Change-Id: Ic5798b3e853787da03d6ea1562e0d80ce0cc3bcc
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The modification of the TemplateNameId changed "global state" because
the TemplateNameId is potentially accessed by multiple threads doing
lookup (access to same document and thus same symbol names).
Depending on the thread scheduling and access to
ClassOrNamespace::_specializations, the changed TemplateNameId
"suddenly" led to inconsistent results of TemplateNameId::Compare and
thus broke the std::map assertions.
Get rid of the const_cast, the setter and simply construct a temporary
TemplateNameId with isSpecializaton = true.
Task-number: QTCREATORBUG-14911
Change-Id: Ie381d132cc0d06af351ace4257773637d1ebee4e
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
We only skip the update, if the instance already has a valid parent
and the form editor is currently bypassing the puppet to handle
parent changes.
This avoids the form editor getting into an invalid state if this event is
handled (too) late.
Change-Id: I518b0f5a402a3ae55320028cfeb2d47f12418e38
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This so called type is not documented to exist but apparently widely used.
Change-Id: I0a7693e19874887a6e7260964d119d204e5be1ec
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
If we indent lines that are also part of the surrounding component,
the offsets of the component become invalid. This was crashing.
Change-Id: I80f16c916fabd5b49a0d8ba87989c86727c97c50
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
If the list of partial expressions is empty we need to tell the watch
handler that we are only updating the locals view, not e.g. the
inspector view.
Change-Id: Iedc74ffc66a8435faa272d053849b831f6b8cbbe
Task-number: QTCREATORBUG-16692
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Device status overlay and the device status display should be two
separate icons. This change makes it happen.
Change-Id: I3a965fdb8b74c447a5cf80e4c90a3ae06c91b3bc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Use class enum to shorten the FileType to quint16. This frees up a couple
of bytes per FileNode and we can have many of those.
Change-Id: I3a9ae25059690fefa15305a4268269647d6dc1c9
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Use a class enum with a type quint16 for the NodeType. Frees 2 bytes
per node that can be used for better things now.
Change-Id: Ib84bf8629e9f4a5fb0793355eff0f0d6302167dd
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>