We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: I88edd91395849574436299b8badda21bb93bea39
Reviewed-by: hjk <hjk@qt.io>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Otherwise it's possible to quicky press the stop button
again before the process actually finishes and this leads
to inconsistent state transition, resulting in assert
being triggered.
Change-Id: I4618a00cb9cea666992bc9ee6b60b3b3a0d9a8b9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
There's a QTabWidget and a list of RunControlTabs, whose indexes got
confused in several places.
Fix this and decrease the likelihood of the problem occurring again by
never using indexes for the RunControlTab list.
Fixes: QTCREATORBUG-27743
Change-Id: I8a83b0c802fe76a09b4eba0da999a52fdeb6ddac
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
All output windows should be searchable with Edit > Find/Replace
(Ctrl+F), no reason for every single instance setting that up
individually.
Add a find placeholder for the build system output in Projects mode, so
the search functionality is available there as well.
Change-Id: Idad6824bfb21e6ae9ab923191a7e83b43256e68b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Writes less settings and makes it possible to change defaults in the
future.
Task-number: QTCREATORBUG-24762
Change-Id: I73873b3684827b4fe27cfa5ea2f62a76003f9750
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
In case when signal name clashes with other method name -
rename accordingly.
Remove some repeated signal declarations - they are already
declared in superclass.
Change-Id: Ie1430b85d6436d26996494fa44c7554fb354b6ce
Reviewed-by: hjk <hjk@qt.io>
Most implementations are empty.
Change-Id: I811cacfc2918c8b2803798c4f5d3dabc7d60ccd1
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: hjk <hjk@qt.io>
... for the app output window.
Fixes: QTCREATORBUG-24560
Change-Id: I199d7b16f445db498027094792c6cf344d920a88
Reviewed-by: André Hartmann <aha_1980@gmx.de>
The coreplugin/id.h header is kept for downstream for now.
Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
(cherry picked from commit 430a33dcd9)
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
An OutputFormatter takes some string and prints it into a text edit.
In addition, it can ask any number of registered OutputLineParsers
whether they think any special formatting should be applied to the
current line.
This mechanism is now properly modeled by our class design, rather than
being hidden in a monolithic class where everything had the same type,
no matter what its purpose was.
Prospective contributors can now simply be pointed to the
OutputLineParser class and will see at one glance what they have to do.
Change-Id: I9844499f062c94fb038ce73fd6f26576910148c2
Reviewed-by: hjk <hjk@qt.io>
Introduce an aggregating output formatter that forwards its input to a
sub-formatter that feels responsible for it, or otherwise lets the base
class handle it.
Our output panes now use such an aggregating formatter.
In particular, this means that in the future, we won't have to stuff all
run control output formatting into the Qt output formatter anymore.
Change-Id: I5498f200a61db10ccff3ec8974c6825da7f7072d
Reviewed-by: hjk <hjk@qt.io>
This enforces a linear pass through
[static] ProjectExplorerPlugin::updateRunActions
ProjectExplorerPluginPrivate::doUpdateRunAction
[emit] ProjectExplorerPluginPrivate::runActionsUpdated
instead of the previous direct emission of the signal from
user code and connecting also the internal update to it.
This is meant to simplify reasoning about execution order and
maybe to help elimimating double executation.
Change-Id: Id8cc41a46d9dec06afb5514855f2ae80560f3695
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Having it pure virtual only lead to a lot of unnecessary
re-implementation.
Change-Id: I37f71d1a160e21b93c7c73a6304b0eb6d5f0441d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Following the pattern introduced in 809e62e373.
Change-Id: I87dc785e071b3b80817df984ab3921e949f9f1bc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
That is, show only the non-matching lines.
Task-number: QTCREATORBUG-19596
Change-Id: Iac06a7c4531688dbf97c7d5c4d0cdb80979b5f95
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Let users specify that the app output pane should pop up only on initial
output.
Fixes: QTCREATORBUG-22844
Change-Id: I13d44af8edebac151b81d7b49fb0640e251ea3ab
Reviewed-by: hjk <hjk@qt.io>
At the moment, background and foreground colors of an output pane are
changed (via the widget's palette) when filtering is active, in order to
make it clear to the user that the output is being tampered with. There
are several problems there:
- The chosen background color is quite garish.
- More importantly, the palette change has no effect in the
compile and app output panes, because their output is explicitly
formatted and thus not affected by the general text color change.
As a result, the output may no longer be readable.
We fix this by choosing a less intrusive approach that simply darkens
(or lightens) the pane's background color a bit when filtering is
active. This is still clearly visible to the user.
Change-Id: I41e053b4b218be57fe7655e314d4ebf93f59f505
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The UI elements for case sensitivity and regexp behavior had not been
doing anything until now.
Change-Id: Ie210103984fda64d4249c56f9a5b21200132108f
Reviewed-by: André Hartmann <aha_1980@gmx.de>
... from AppOutputPane to IOutputPane. We want to have filtering in
other output panes too.
Change-Id: I805ec68baedf491b71d392c3370dee78ed4ab76c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Most of the QToolButtons in the toolbars don't set autoRaise, and they
are fine. I assume that those who do set it, just do it for because that
line was copy/pasted so often.
Change-Id: I71341ddbd26a586d34713661ec538b37033685e5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Amends 48073b2990 to avoid the creation of extra toplevel windows (and
warnings on MS Windows on startup).
Also, ensure that that the initial tab-less application output pane
shows the buttons, albeit in disabled state. All other output panes do
not have to explicitly enable them.
Change-Id: I6c6ef374c09c77e2eb953743071917d9346ca85d
Reviewed-by: hjk <hjk@qt.io>