The recentProject list was retrieved for every ::data and ::rowCount
call. This triggered QFileInfo.exists call for each project
which was expensive. This fixes that so that the recent projects
are only filtered once for each model reset.
Change-Id: I6ce33a13c2446bece5b7dac1563ffa7bdc85bbaa
Reviewed-by: hjk <hjk@qt.io>
In this code, database file is being hashed and if hash stays the same,
parser quickly returns ParseResult::Cached. But as database never gets
read, source tree isn't being built, thus dbContents() never gets called
I moved ParseGuard::markAsSuccess() call to the finish() method of parser,
so we tell ProjectExplorer that parsing finished successfully on Cached state
Change-Id: I7ea28017e653ac6e2d7f50047c09a6eb7ecda13f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
More explicit and more potential options (e.g. "treat grid as form")
than a bool.
Change-Id: I89413efe30410160c38b0e524ba64288dde2332e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Checked also plugins in tqtc-qtc-super and in qtc-super.
Change-Id: I3e5b114a49e26ae52b71c11ef6a1f90264dd5a38
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
According to the old explanation inside makefileParsingFinished()
the solution of using sender() can't work reliably in this
case. In scenarion where the old, deleted m_makefileParserThread
had the same address as newly allocated one we might not detect
correctly posted finished() signal of the deleted object.
According to QObject::sender() documentation:
"The pointer returned by this function becomes invalid if the
sender is destroyed", so we can't rely on its value.
Instead, add a new done() signal to the MakefileParserThread,
which is being emitted from MakefileParserThread thread (i.e. from
the thread where MakefileParserThread object lives in). In this way
the finished() signal is still posted to the caller's thread,
but this time if the MakefileParserThread object is already
deleted, the finished() signal will be gone together with the
MakefileParserThread object itself, so we also won't receive done()
signal anymore.
Simplify the internals by using std::unique_ptr.
Change-Id: I43be209ecb71539ddefd72e50e9d60bfb43c49cb
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
We accessed an invalid iterator.
Change-Id: Ib12eeab81b14e5a0a9542161341ea00ac2d1eb0d
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Originally we needed the real type of the widget for a while.
Not anymore.
Change-Id: Ida7e3eb4b091baee90d510c5f6ec05bbcedfc11f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
A bit more explicit than the current mix of Space() and asserting {}.
Change-Id: Ia296b1d23294dfccd1e33827e136b821a4d2c6fe
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
To be able to check the validity of a desktop toolchain used in an
mcusupport kit with qt platform.
Task-number: QTCREATORBUG-26750
Change-Id: Ifc518257844c8994150f3d86eb5512701c38c2b7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
... as "standard" ways to define line breaks and simple stretch.
There have already been too many patterns to do it.
Break() and Stretch() still work for the patches in flight, but
they are planned to be removed.
Change-Id: I9b70dcdc11244a904a496b0c55938dfb0b265fc8
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>