aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/appoutputpane.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/13.0'Eike Ziller2024-04-171-8/+8
|\ | | | | | | Change-Id: I0892d8e54930bb5a65dc51117b8ca7d70ce300a3
| * iOS Simulator: Fix crash when starting app while another is runningEike Ziller2024-04-161-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt Creator would crash when starting an app in the Simulator while another app is running, and the old app is not killed by the deployment before run. This could happen in two cases: 1. Running an app in one simulator device and starting that or another app on a different simulator device 2. Running an app in the simulator and starting that or another app on the same device without deployment In the first case, it actually doesn't make sense to stop the running app, the Simulator can run multiple devices simultaneously (this might have been different in the past). In the second case, the new IosRunner initiated a stop of the old RunConfig, and while that was in Stopping state, the app output window tried to re-use the old tab and deleted the old RunConfig. This lead to an assert in the RunConfigPrivate destructor, which only expects to be deleted when in Initialized or Stopped state, and eventually to the crash. The app output window should not reuse tabs that are not "Stopped". Fixes: QTCREATORBUG-30666 Change-Id: If46904dd487301e465e89ce7946be375ab4bdee8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* | ProjectExplorer: Make settings access more directhjk2024-04-121-3/+3
| | | | | | | | | | | | | | A step towards aspectification. Change-Id: Iabf5e56e993449dc482d1d2ab6eeb2885243ab3e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | OutputWindow: Add "Save Contents" to context menuEike Ziller2024-02-121-0/+2
|/ | | | | | | | | | And give individual output windows the option to set a default file name. Change-Id: If3090063055c1b37f4f2d63b971fe0476f11806e Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Tasuku Suzuki <tasuku.suzuki@signal-slot.co.jp>
* TextEditor: Move access to smaller settings chunkshjk2024-02-011-1/+1
| | | | | Change-Id: Id827edbd19dde54b66cb4349d9c832bc23110adc Reviewed-by: David Schulz <david.schulz@qt.io>
* Utils, all: Standardize on QtcSettingshjk2023-09-271-2/+2
| | | | | Change-Id: Id222016f15b1c3bfe6710fe5d0297666d4565ef1 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* OutputPane: Use setter for priority and fix default visibilityEike Ziller2023-09-181-5/+2
| | | | | | | | | | Do not show the buttons of output views with priority < 0 (instead of only == -1). Reduce the number of buttons that are shown by default to the essential ones. Change-Id: I5b44f18537b3033ce9d616f044a8b54b76988783 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* OutputPane: Add an id() for the settingsEike Ziller2023-09-181-0/+1
| | | | | | | | It was using the displayName for the key in the settings (visibility and shortcut), which is annoying when changing the language. Change-Id: Iffa784347c59389599c90f468dcba15834599c39 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* OutputPane: Use setter for display nameEike Ziller2023-09-181-5/+1
| | | | | Change-Id: I2e89fbd052330c9e7124272c2f2fa81a0db94de9 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* Various Plugins: Simplify return QList statementsJarek Kobus2023-08-021-1/+1
| | | | | | | Change-Id: I36633128e061d0544e4752a65804b460371283f7 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* ProjectExplorer: Fix 10 seconds hang on shutdownJarek Kobus2023-07-271-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | Delete the RunControl directly when it's not running. Do it in two cases: when tab is closed and when tab is reused with a new RunControl instance. In other case, queue the call to initiateStop, so that any possible deleteLater() is called when the nested event loop of the shutdown is already spinning. It looks like the amended changes introduced the hang when compiled against Qt 6.5. When compiled against Qt 6.4 the regression doesn't occur. The regression is caused by 449b45ff34ce4a45e5d6a24967566f69f43ebbb6. Amends c1f6d7044589f7842d19fc7b44574152ce72a20f Amends 6e16512eba2c39baa714fa253843b2171ba24f47 Change-Id: Icb3ba757f32bccb3daae675b2eb516f75b84530a Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* AppOutputPane: Ensure the window exists before flushingJarek Kobus2023-07-041-1/+2
| | | | | | | | Amends c1f6d7044589f7842d19fc7b44574152ce72a20f Change-Id: I5fbb6efced18682b62cd7c905653e23419a3a522 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* RunControl: Remove initiateFinish() / finished()Jarek Kobus2023-07-041-4/+8
| | | | | | | | | | | | The only difference between initiateFinish() and initiateStop() is that the initiateFinish() deletes the RunControl automatically after the final state was reached. Add setAutoDeleteOnStop() property and reuse initiateStop() and stopped() instead. Change-Id: I8e842978831b19587a8658b4443c96a04eb7a6df Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Fix off-by-factor-of-100 bugChristian Kandeler2023-06-131-2/+2
| | | | | | | | | ...when serializing the output panes' "max char count" setting. Introduced in c8980478805ed6bcdfbf2965cbf6c03492d804e6. Change-Id: I0ed920efe3ed5b036b60b86ae9619ad9c154955e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Move SessionManager to Core pluginEike Ziller2023-05-251-1/+2
| | | | | | | | | | | Sessions are independent from projects, and this allows for removal of e.g. the dependency from Bookmarks to ProjectExplorer. Includes moving the command line arguments (-lastsession, <session>) to Core plugin. Change-Id: I6c578fd15c4990902e7196501de20f39376e90e8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Do not treat a starting run control as finishedChristian Kandeler2023-04-191-1/+1
| | | | | | | | | | ... when assigning tabs in the app output pane. Task-number: QTCREATORBUG-29044 Change-Id: I49e3d3ac3822692ffacd9821a0dd61377aae02cd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Use common tool tip for "Configure..." kind of buttonsEike Ziller2023-02-161-1/+1
| | | | | | | | | We have a function that centralizes the text for that. Change-Id: I9d9fbed6e111038e7512030e199b8d8d03fbbafa Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* ProjectExplorer: Tr::trhjk2023-01-161-27/+27
| | | | | Change-Id: I8f1b463c5cc7a53627f7a9ad261998b92f13e56a Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* ProjectExplorer: Simplify AppOutputPane widget nestinghjk2023-01-131-10/+5
| | | | | | | | | | A TabWidget in a tight layout in a widget doesn't look different then a TabWidget. Change-Id: Id042deace1b2ae66a57678fb34d45ee47938716f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* ProjectExplorer: Fix compilation with Qt 6.6hjk2023-01-111-2/+2
| | | | | | | | | | | appoutputpane.cpp:272:12: error: cannot convert ‘const QList<ProjectExplorer::Internal::AppOutputPane::RunControlTab>::iterator’ to ‘ProjectExplorer::Internal::AppOutputPane::RunControlTab*’ in return Caused by "QList: deprecate iterator<->pointer implicit conversions" 0220484329029fc7598dfe11ba35ea10c3126477 b6cbd9c43afc7e005c1f78e1d0f700524930ed71 Change-Id: I596ead9deafca1154b5a79495e707137b61a14d5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-8/+8
| | | | | | | | | | | | | | 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>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | 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>
* AppOutputPane: Avoid using sender()Jarek Kobus2022-07-211-29/+21
| | | | | | Change-Id: Id24f38d376de66c0d6e91ed37165506c78e33dde Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Merge remote-tracking branch 'origin/8.0'Eike Ziller2022-07-201-1/+3
|\ | | | | | | | | | | | | | | Conflicts: src/plugins/todo/optionsdialog.cpp src/plugins/todo/todoprojectsettingswidget.cpp Change-Id: I24ca90c2fc2cd707df901d42694df6d0e27d696d
| * AppOutputPane: Update buttons after stop was initiatedJarek Kobus2022-07-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ProjectExplorer: Fix index confusion in app output paneChristian Kandeler2022-07-071-96/+100
|/ | | | | | | | | | | | 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>
* ProjectExplorer: Dissolve a few uses of Runnablehjk2022-05-301-12/+16
| | | | | Change-Id: I71b8f1b00e488360e7f9c136912bc64b5a76609a Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* ProjectExplorer: Always compile WinDebugInterfacehjk2022-05-091-4/+2
| | | | | | | | | | Makes it easier to re-shuffle calling code on non-Windows. Change-Id: Ia6d7e313e9eb42fc7b19a469c1a6f33d226d1e88 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* ProjectExplorer: Regularize namespace setup in appoutputpane.cpphjk2022-03-311-17/+10
| | | | | | | Change-Id: If87fbed5ec054c6180c43ec8190b9993621daa56 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* UI text: Replace "pane" with "view" for "Output panes"Leena Miettinen2022-03-091-2/+2
| | | | | | | | | Some occurrences of [Output] pane were still found in translatable strings. Change-Id: I70c0b6562790b7eb835b2f6a1522fa34fb9c2b51 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Rename 'output pane' to simply 'output'Thomas Hartmann2022-03-011-1/+1
| | | | | | | Change-Id: If45e053a32855bca68dc71cb5da22f981146e45b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Project Explorer: Fix UI textLeena Miettinen2022-02-171-1/+1
| | | | | | Task-number: QTCREATORBUG-27055 Change-Id: I9b0e4f02ea7d1ebb14a9581f21c76b8908589334 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Dis-ambiguate issues pane's "show output" actionChristian Kandeler2022-02-101-1/+4
| | | | | | | | | | Amends 08a86169db. Fixes: QTCREATORBUG-27031 Change-Id: Ie6d214673f6c1c52aab1a035c84a7381f9965588 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
* Merge remote-tracking branch 'origin/6.0'Eike Ziller2022-01-061-3/+4
|\ | | | | | | Change-Id: I405e3f95b0cdcd7b2686f31baae16c03c787f007
| * ProjectExplorer: Do not attempt to stop applicationhjk2022-01-041-3/+4
| | | | | | | | | | | | | | ... when the user selected "Keep running". Change-Id: Ia6f6306f9a3c88d4bd35aaf079576dafc54b6323 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | ProjectExplorer: Add "link back from issues" functionalityChristian Kandeler2021-11-261-1/+22
|/ | | | | | | ... to the app output pane. Change-Id: I3e11f63a42fb30ae4e40da50d5ba8143ce99cd65 Reviewed-by: hjk <hjk@qt.io>
* Add text search functionality to output window centrallyEike Ziller2021-09-201-4/+0
| | | | | | | | | | | | | 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>
* ProjectExplorer: Use Utils::CommandLine in ProjectExplorer::Runnablehjk2021-08-131-2/+1
| | | | | | Change-Id: Id965f1f9047dcbc3ea5c9ddaa550d12668cf8ae6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Use qAsConst w/ non-const Qt containers in range-loopsAlessandro Portale2021-02-171-1/+1
| | | | | Change-Id: I6422b3e40a6925504a231be2d47b3214d86c6e06 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Don't save defaults to settingsEike Ziller2020-12-161-13/+24
| | | | | | | | | | 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>
* Don't clash signal names with other methodsJarek Kobus2020-11-181-3/+3
| | | | | | | | | | 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>
* Core: De-pure IOutputPane::visibilityChanged()Orgad Shaneh2020-10-091-4/+0
| | | | | | | | Most implementations are empty. Change-Id: I811cacfc2918c8b2803798c4f5d3dabc7d60ccd1 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Properly set up the output formatterChristian Kandeler2020-09-041-3/+6
| | | | | | | | ... for the app output window. Fixes: QTCREATORBUG-24560 Change-Id: I199d7b16f445db498027094792c6cf344d920a88 Reviewed-by: André Hartmann <aha_1980@gmx.de>
* Core/Utils: Migrate further to Utils::Idhjk2020-07-061-1/+1
| | | | | | | | The coreplugin/id.h header is kept for downstream for now. Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66 (cherry picked from commit 430a33dcd9ac80ddb848e41f8f059102857c88aa) Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Core::OutputWindow: Pimpl remaining membersChristian Kandeler2020-05-131-0/+1
| | | | | | | Apparently, these were forgotten when the d-pointer was added. Change-Id: I508074361ee3fb1d07a49c883669e96649561a51 Reviewed-by: hjk <hjk@qt.io>
* OutputFormatter: Take ownership of the line parsersChristian Kandeler2020-04-151-2/+2
| | | | | | | | For symmetry with IOutputParser. Task-number: QTCREATORBUG-22665 Change-Id: I92e93b32e87ff4f3fa163a2d2fe13768e56bfa24 Reviewed-by: hjk <hjk@qt.io>
* Utils: Split up OutputFormatter classChristian Kandeler2020-04-141-2/+2
| | | | | | | | | | | | | | | 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>
* Remove the limitation that output formatters have to be exclusiveChristian Kandeler2020-03-201-4/+8
| | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-03-191-3/+2
|\ | | | | | | | | | | | | Conflicts: src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.cpp Change-Id: I2a0ccb84560174c5170d5baaff526c0e095f0ba0