Commit Graph

51 Commits

Author SHA1 Message Date
hjk
c4b7da9ab2 ProjectExplorer/Debugger: Add a 'Run as root' option for Unix hosts
For local run and GDB debug, with or without terminal.

Task-number: QTCREATORBUG-2831
Task-number: QTCREATORBUG-25330
Change-Id: I9b5d2156bcffea4f358474ecdbcad580a4419917
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-02-22 13:38:25 +00:00
hjk
12a0934830 Utils: Add the ability to interrupt inferiors via the process stub
This will be handy once we want to debug processes running as root.

The mechanism is the same as for "killProcess", and currently unused.

Change-Id: I2c5e5b77577ca32ed1118fcc81c03c6320db8800
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-02-16 09:57:00 +00:00
Eike Ziller
5c0ec9210c Fix initial directory when using konsole for Open Terminal Here
Fixes: QTCREATORBUG-24947
Change-Id: I14f5b47ba2ad71005653faadd5e78fda9570196e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-11-20 07:31:44 +00:00
Jarek Kobus
2341609719 Avoid signal overloading
Choose a different name for them.

Change-Id: Ie2cc2c85dca72b7f7ff84c95fb0abd0a0e99a63d
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-11-19 09:48:38 +00:00
Eike Ziller
8527cbedcc Fix more compilation issues with Qt6
Various Windows related issues and issues with additional QML designer
components.
Don't use very generic template definitions if the type has to provide
not so generic base functionality (in this case providing a stream
operator for QDataStream).

Task-number: QTCREATORBUG-24098
Change-Id: Id0729c249d1b81e4e939fdaeb2e02b8a64e7e8f9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-04 12:52:17 +00:00
hjk
361b5e3530 Utils: Determine shell from $SHELL instead of hard-coding /bin/sh
Fixes: QTCREATORBUG-24659
Change-Id: Icafc001b681cc76af76b8759a4de84db51146fd4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-09-23 15:55:55 +00:00
Christian Stenger
e817100b9c Utils: Replace some QRegExp to QRegularExpression
Task-number: QTCREATORBUG-24098
Change-Id: I7d12992506bbe33306c0ab750f73c7db1626abc3
Reviewed-by: hjk <hjk@qt.io>
2020-06-19 12:30:01 +00:00
hjk
938f81c601 More Qt 6 porting
Task-number: QTCREATORBUG-24098
Change-Id: I8d118e75021996127344e75dffe263cebd95a5b8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-06-18 09:12:12 +00:00
Orgad Shaneh
51453936cc Utils: Replace foreach with range-based for
Change-Id: I9aeea9c029ffc56cbadc04edd20e9b35b154f986
Reviewed-by: hjk <hjk@qt.io>
2020-06-16 04:43:29 +00:00
Eike Ziller
3b5fc296f2 Python editor: Add buttons & actions for opening REPL
Opens interactive Python, optionally with the current file imported, for
testing and experimentation.

Change-Id: Ieb120e3698bdba77a1445c40fe7fda533773a0cf
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-03-19 13:04:48 +00:00
Maximilian Goldstein
4d269f930a lib/utils/consoleprocess: Check for xdg-terminal
Change-Id: I9970153d9abc9beff3081ddb09e7d3d95ea8c63a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-01-24 07:13:42 +00:00
Alessandro Portale
24a25eed14 Use isEmpty() instead of count() or size()
Change-Id: I0a89d2808c6d041da0dc41ea5aea58e6e8759bb4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-20 20:56:57 +00:00
Eike Ziller
2926114b92 Utils: Fix determining default terminal
Change-Id: Id39ef638a184a7cc593e1e6127f87814b9ca6381
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-09-03 10:59:01 +00:00
Eike Ziller
30143478f3 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	src/libs/utils/consoleprocess_win.cpp

Change-Id: Ibdc265eed2f7080726e11ff6f2931c8559943af2
2019-08-22 09:53:37 +02:00
Christian Stenger
5fea583481 Utils: Avoid compile issue with upcoming Qt
QStringList::join() can be ambigous when it gets passed
a '\0'. Avoid this ambiguity by explicitly casting its
parameter.

Change-Id: I65b33d7d59da90d78bfb86d146093338b31e7fd0
Reviewed-by: hjk <hjk@qt.io>
2019-07-25 12:06:21 +00:00
hjk
404a4295ce Utils: Lump ConsoleProcess files together
... to reduce scope of conditionally compiled code which causes
regularly problems when forgetting about their special nature.

The code model isn't a big fan either.

Change-Id: I6a85b694b59a293daf4b9aab7c8e81c7ca284f0d
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-07-25 06:38:26 +00:00
Eike Ziller
37a74cd9a3 Fix terminal command comparison
It ignored the openArgs part.

Change-Id: Ib5df9cfd424aa7bcf63b2fa5d16ece0261ef0746
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-09-07 07:07:22 +00:00
Eike Ziller
4c88c1808c Make terminal settings more flexible
Currently "Open Terminal Here" and such expect the terminal
command without any arguments to be behaving correctly for this.
That is not the case for Konsole at least, since it just opens another
window in a running instance, with the same working directory, when
not convinced to do otherwise with additional command line parameters

Separate options for "Open Terminal Here" and "Run in terminal" in the
options.

Task-number: QTCREATORBUG-20900
Change-Id: I598d1f7f0bf22b5c21dc1c60333397bdf9fab1b4
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-09-03 12:29:21 +00:00
Oswald Buddenhagen
afddd1008d windows: stub out terminal-related functions of ConsoleProcess more thoroughly
... as the concept really doesn't make any sense on windows.

Change-Id: I5fa970d17e6f4c1724250b8ee8cf0fd4eafc10ca
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-01-18 07:36:45 +00:00
Tobias Hunger
f72370f20a Update License according to agreement with Free Qt Foundation
* Update remaining files in src

Change-Id: I1896f17fcf34f71c3310c87899fb5171b8e4afb1
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:59:41 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Orgad Shaneh
6886d0ac60 ProjectExplorer: Extend ApplicationLauncher
Implement some more QProcess functions

Change-Id: I1afe3fa5f5b353508cf300178cb50507b3dd4b3e
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-05-07 14:44:44 +02:00
Christian Kandeler
eccc1198d6 Use double quotes instead of single quotes as per our guidelines.
Change-Id: Ib608bb49e26781aef1914085a5d801fcdcd5eb56
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-04-22 10:06:40 +02:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Eike Ziller
55de6a9fb9 Merge remote-tracking branch 'origin/2.7' into HEAD
Conflicts:
	src/plugins/coreplugin/generalsettings.cpp

Change-Id: Ic92d637fb92748b2bb40e1a2895ea5d0644b4646
2013-04-18 12:54:37 +02:00
Fawzi Mohamed
1a1791abba consoleprocess: use empty string as default terminal
Using empty string as default terminal avoids storing a path to
QtCreator resources (which becomes invalid if creator is deleted)
on mac.

Change-Id: I9d5fe9bce38387d82de451652df6be9ec5eb5960
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-04-18 10:10:48 +02:00
Friedemann Kleint
aebf19eabd Clean headers in Utils.
Forward-declare QGraphicsOpacityEffect in DetailsButton,
QProcessEnvironment in Environment, QFileInfo in fileutils,
QUrl in IWelcomePage, FancyLineEdit in PathChooser and
remove unneeded headers.

Change-Id: I7d5f273530dd2059bbdaf0899f0a3bc7e49e8482
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-19 17:19:26 +01:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Fawzi Mohamed
18fa486531 consoleprocess: support Terminal.app on mac
Distinguishes the process that starts the terminal from the stub
process, as on mac to support Terminal.app they are different.

Handle the stub not through the process that starts the terminal,
but through the local socket (on *nix).

Replace the blocking wait(...) in the main thread, with a nonblocking
wait in the signal handler when receiving a SIGCHLD, to leave the
main thread able to handle communication with creator.

This change allows the use of terminal emulator commands
that share a single instance or that fork.
So this is also the real fix for QTCREATORBUG-1633 on linux.

If creator crashes the stub and the debugged program live on.
This was done on purpose, it could be changed if considered better.

Task-number: QTCREATORBUG-6371
Task-number: QTCREATORBUG-1633

Change-Id: I4d4fb3a67b1987f4e46e2c603dcefe8c15152ad2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-29 17:56:59 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
Friedemann Kleint
033f211a10 Windows compile fix.
e8b5c6dfcca3fc139049136b42459e7840efed7 :
Provide terminal emulator functionality in ConsoleProcess for
Windows as well.

e833b794b3 :
Use Core::Id().

Change-Id: Idad2bd2180e9a5dd2d1266496e340726435835d3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-29 20:55:03 +01:00
Eike Ziller
6fd252b0a5 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.cpp
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.h
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessageloghandler.h
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/madde/maemodeployconfigurationwidget.h
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentinfo.h
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	src/plugins/remotelinux/remotelinuxdeploymentdatamodel.h
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/ichecklib_global.h
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h
	tests/manual/ssh/tunnel/tunnel.h

Change-Id: I04d7761df6bd936ad00e0547974284c967d39580
2012-10-05 21:20:50 +02:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Christian Kandeler
3d9e492860 Do not use the fromAscii() and toAscii() functions.
They are deprecated in Qt 5. Use fromLatin1() and toLatin1() instead. In
Qt 5, these always do the same thing as their "Ascii" counterparts. The
same goes for Qt 4, provided QTextCodec::setCodecForCStrings has not
been set, which it hasn't.

Change-Id: I04edeb376762b6671eff8156094f0d5e2cb8e1ea
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-09-21 21:03:48 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
hjk
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
hjk
58cb19e55e all: less QScopedPointer
Change-Id: I536bdb4d4f0c10fa858560f3c160fc0fff8da9b2
Reviewed-on: http://codereview.qt-project.org/5116
Reviewed-by: hjk <qthjk@ovi.com>
2011-09-19 08:56:44 +02:00
Oswald Buddenhagen
322a8481a7 unify application launcher between platforms
purge abstractprocess and winguiprocess. they serve no purpose.

applications can have stdio on windows as well, in addition to the
windows debug channel.

Task-number: QTCREATORBUG-4822
2011-05-12 20:39:44 +02:00
Tobias Hunger
aa2acec14c Fix/add copyright headers
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
Oswald Buddenhagen
35743ea1ad add disk full error handling to consoleprocess 2011-03-30 11:56:29 +02:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
con
04e32b0049 License headers. 2010-12-17 16:03:42 +01:00
Friedemann Kleint
6650275e76 Debugger/Console stub: Pass on main thread id on Windows.
Introduce private class to utils/ConsoloProcess as not to expose
<windows.h> from its header.

Task-number: QTCREATORBUG-1020
2010-09-02 13:39:19 +02:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Friedemann Kleint
5948e284bb Rename namespace Core::Utils into Utils
Also move Designer::Internal::FormWindowEditor ->
Designer::FormWindowEditor.
2009-10-05 11:06:05 +02:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
Jason McDonald
884b7af769 Update license headers and sales contact details.
Reviewed-by: Trust Me
2009-06-17 00:01:27 +10:00