Commit Graph

36 Commits

Author SHA1 Message Date
Christian Kandeler
acfe45c434 SSH: Fix running remote process in terminal
ConsoleProcess stumbles over the special characters in the remote
command and as a result silently runs the command locally instead.
Prevent that. We can (and should) simply leave these characters alone,
as they have no special meaning on the local machine.

Change-Id: I31b3afe1cf170e51d431372b15f4df3656006959
Reviewed-by: hjk <hjk@qt.io>
2019-06-14 12:18:48 +00:00
hjk
959fec76dc Utils: Move CommandLine to fileutils.{cpp,h}
Causes less #include hassle when using downstream instead of
command/argument pairs.

Change-Id: I0fa0d016374df0b8e0a22f3786623652af684d36
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-06-03 12:32:07 +00:00
hjk
a7345b67c1 ProjectExplorer/Android: Some more use of Utils::CommandLine
And surrounding cosmetics.

Change-Id: Iad3d2d43856b1fcd9530d4a209fff9887e6cec42
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-29 16:49:47 +00:00
hjk
0e0a8e9204 WinRt: Use new Utils::CommandLine
Change-Id: I7320f92199af439225233b6a1bcf0ec0b185cdcb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-29 14:43:36 +00:00
hjk
4098be05b2 Utils: Extract a CommandLine structure from a QtcProcess
We regularly pass around strings or filenames or pairs of strings
or filenames and stringlist etc the in the end will be used
as a kind of "command line", with quite a bit of ad-hoc user
code and QtcProcess::addArg etc to set them up and manipulate them.

Let's have a class for that concept.

Change-Id: I288ab939d853b32c717135a65242c584c2beab50
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-29 14:36:46 +00:00
Alessandro Portale
f6943a712a Utils: Modernize further
Many issues, mostly in headers, were not addressed in
e38410b76c

modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
modernize-use-default-member-init
modernize-use-equals-default

Change-Id: I320a51726db881e582b898948d53735ebb06887a
Reviewed-by: hjk <hjk@qt.io>
2018-07-24 12:21:42 +00:00
Tobias Hunger
63ef88d015 Utils: Consistently use nullptr
Fixed by clang-tidy modernize-use-nullptr.

Change-Id: I93edae67271a521e3b2a1f97f486e5fa97009836
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-05-13 19:53:14 +00:00
Ulf Hermann
dd4e185eb3 Utils: Register metatypes for QProcess enums
Apparently they aren't automatically registered on Qt 5.5

Change-Id: I0932cc7c5f56019300380ebb905d67d99eb8e9d0
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-06-08 11:44:23 +00:00
hjk
39a38d5679 Wholesale conversion to #pragma once
Kudos to cgmb and https://github.com/cgmb/guardonce

Change-Id: Ifa8970734b8d43fd08c9260c645bdb0228633791
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-30 15:20:19 +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
hjk
77661e378a Utils: Remove qPidToPid() adapter function
Since Qt 5.3, there's a QProcess::processId() providing direct access.

Change-Id: Ia9c143c7a92ec61d1aa36ff3f4670ba72a509634
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-09-16 12:08:16 +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
Joerg Bornemann
3d38541b14 disable Ctrl-C stub in debug build
Activating the controlcstub in a debug build will send Ctrl-C to
Qt Creator too, because he stub and Qt Creator share the same
Windows.
We're disabling the stub in debug builds. Cancelling a build
still works but takes a bit longer.

Task-number: QTCREATORBUG-11995
Change-Id: I766c2eac1f07205c411a7e4164e7d73b6c0441aa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-19 11:33:03 +02:00
hjk
c68ebeed2e QtcProcess: Introduce a QtcProcess::Arguments class
This is used to get a platform-agnostic handle on "command line
arguments". It essentially wraps a single QString on Windows,
and a QStringList everywhere else.

As a consequence, several occurrences of #ifdef Q_OS_*
can be removed from the codebase.

Change-Id: Ic93118c1bd0bce0ebb58f416d395dbaebb861772
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-02-19 09:19:28 +01: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
hjk
242ad7e527 Debugger: Remove avoidable platform dependent compilation
Less chance for compile fix ping pong.

Change-Id: I2b055d1a12ba848f86d5246592ed7bb6d06fff51
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-09-13 11:35:33 +02:00
hjk
b89afac9d4 Utils: Rename winQPidToPid to qPidToPid
... and make it a no-op on non-Windows. Saves #ifdefs.

Change-Id: Ie791f7b9f1a425325d0b889e73758c5f7f7e6ad2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-07-12 09:39:35 +02:00
Oswald Buddenhagen
6fb94a7b10 Merge branch '2.7'
Conflicts:
	doc/src/qtquick/qtquick-components.qdoc
	doc/src/qtquick/qtquick-designer.qdoc
	qtcreator.pri
	qtcreator.qbs
	src/plugins/cppeditor/cppinsertdecldef.cpp
	src/plugins/qnx/qnxruncontrolfactory.cpp

Change-Id: I0a37a07c42719bc0d9ef5b3ac4641d01a63c0d88
2013-05-15 10:21:47 +02:00
Tobias Nätterlund
515b6266c5 QNX: Fix shutdown of inferior and inserting breakpoints on Windows
When debugging on a QNX device on Windows, neither
DebugBreakProcess(..) nor "-exec-interrupt" works for interrupting
the inferior process. Neither does sending it a SIGINT signal using
"kill" on the device.

This changes the local gdb process to run under the CtrlC stub on
Windows when debugging on QNX. This enables us to send a Ctrl+C
message to gdb, which interrupts the inferior, and allows us to
insert breakpoints during runtime on Windows.

Change-Id: I4b01fbe81138f3fe7a939a7e64267bac4eb8bf43
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-06 08:59:41 +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
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
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +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
Erik Verbruggen
3fa55b7ab9 Removed module names from #include directives.
Getting the #include directives ready for Qt5. This includes the
new-project wizards.

Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-15 16:24:46 +01: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
Oswald Buddenhagen
9e20d6df04 useCtrlCStub is windows-only. make #ifdefs reflect that consistently
Change-Id: I9504df9a2a0d6381c66ec71f40799d185461731a
Reviewed-on: http://codereview.qt.nokia.com/2917
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2011-08-15 10:40:35 +02:00
Joerg Bornemann
566d29f8b3 Use qtcbuildhelper for starting the build process on Windows.
Task-number: QTCREATORBUG-4558

Change-Id: Ib6f5be80f034135bbd8c45a22e223e758cc7e7b1
Reviewed-on: http://codereview.qt.nokia.com/2555
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2011-08-03 14:02:41 +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
Friedemann Kleint
505256fab9 API-Documentation: Add the Utils-library.
Fix API after doc template change.
2011-03-02 17:14:19 +01:00
Friedemann Kleint
edb4893547 Header cleanup in src, specify module name. 2011-01-24 12:29:48 +01:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
con
23c22b7c66 License headers, part 2 2010-12-17 17:14:20 +01:00
Oswald Buddenhagen
531c70f05b add Utils::QtcProcess
this is a wrapper around QProcess with these features:
- setEnvironment() takes a Utils::Environment instead of a QStringList
- instead of taking a stringlist with arguments, take a single shell
  command string which is fully compatible with the system's native
  shell (the bourne shell on unix and cmd.exe on windows) - with support
  for environment variable expansion, and subject to the shell's
  splitting and quoting rules. if the command is too complex (e.g.,
  contains redirections), it is transparently executed through a real
  shell.
- additionally, the class contains a set of helper functions for
  manipulating (constructing, splitting, etc.) shell command lines.
  in particular, it contains a shell-safe macro expander and the nested
  class ArgIterator which can be used for inspecting and manipulating a
  shell command line without going through the stringlist indirection
  (which is potentially lossy).

some of this is based on KDE code (KShell and KMacroExpander) which i
have written myself.
2010-11-17 13:19:07 +01:00