Commit Graph

44349 Commits

Author SHA1 Message Date
Nikita Baryshnikov
aa7995bae1 Qmake: Fix dialog title when separateDebugInfo is changed
Change-Id: Iadfa3e74794b7a4a17b77b1b212894a4b2830c7d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-12 08:30:40 +00:00
Jarek Kobus
990da15c1e Refactor HighlightScrollBar
Rename it into HighlightScrollBarController.
Don't derive it anymore from QScrollBar.
Make it based on QObject and decorate
the existing instance of QAbstractScrollArea as needed.

Fix the highlight of the shared scrollbar of the SideBySideDiffEditor.
Both left and right diff editors have their own
HighlightScrollBarController and their own separate overlays, but both
overlays are created as children of the same right editor instance.

Synchronize also the cursor between left and right editors.
Make highlight current line working.

Make the overlay transparent for mouse events - this fixes
issues on macOS when scolling over invisible scrollbar.

Change-Id: Iab05c360173e09d8748658c59785da86438a7189
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-12-12 08:17:58 +00:00
Ivan Donchevskii
11d002968e Clang: add more data to TokenInfo class
Add token name, usr, isDefinition and isDeclaration.

Change-Id: If67bf78c999cb9edd397d0b553b33e5f5f378f8a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-12-11 15:18:52 +00:00
Ivan Donchevskii
affc652b7b Clang: Rename HighlightingMark to TokenInfo
Before adding additional members into that class it
makes sense to rename it to better represent its content.

Other classes serving the same purpose are also renamed
to keep the names consistent.

Change-Id: I3c8517e42aae29779d71ec9c85b713cff581a473
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-12-11 15:00:24 +00:00
Thomas Hartmann
372d37d40a QmlDesigner: Do not show bounding rectangles by default
The bounding rectangles can be confusing and break WYSIWYG.
Therefore we disable them by default.

Change-Id: I3713e668b916607670255715e0d41f76a789b34e
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-12-11 14:51:55 +00:00
Thomas Hartmann
44c02b52a3 QmlDesigner: Enable clipping in FormEditorItem
When resizing an item the instanceIsRenderPixmap can be bigger than
the bounding rect. In this case we get painting artefacts.

Change-Id: I6da43f16a1e85d045a0ebbb01db594979ad89622
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-12-11 14:16:49 +00:00
Ivan Donchevskii
74a5083163 Utils: remove unused variable in SaveFile class
Backup member was never set to true.

Change-Id: I21dc889813820e2a463c5ba812b18b57766e03c4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-12-11 10:36:44 +00:00
Andre Hartmann
5003f644ac SideDiffEditorWidget: Fix Clang semantic warnings
Change-Id: I0f92993aa6152836237f7429c66761c22692075d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-12-09 14:45:49 +00:00
Andre Hartmann
aae3056b33 DiffEditor: Modernize
* Use member init
* Use nullptr
* Use range-for
* omit QLatin1{String|Char} where possible

Change-Id: Ib231b747cdd9073b3d4fc6779b8e0afb2b404a31
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-12-09 14:45:37 +00:00
hjk
53a151074a ProjectExplorer/all: Re-organize BuildSteps/{Deploy,Build}Config setup
This follow the rough pattern of recent *RunConfigurationFactory changes
for build and deploy configurations.

- Collapse the two lines of constructors similar to what
  890c1906e6 did for RunConfigurations
  * Deploy* was purely mechanical
  * Build* ctors are split in connects() in the ctor body
    to create "empty shell for clone" etc
    and build step additions in initialize() functions which
    are only used in the create() case.
  -- Allows to collapse the shared 'ctor()' functions, too.

- Move FooBuildConfigurationFactory::create() implementations
  to FooBuildConfiguration() constructor. That was a strange
  and unneeded ping-pong between factories and objects, and
  furthermore allows one level less of indirection (and for a
  later, left out here, some reduction of the
  FooBuildConfiguration interfaces that were only used to
  accommodate the *Factory::create() functions.

- Most {Build,Deploy}Configuration{,Factory} classes had a canHandle(),
  but there wasn't one in the base classses. Have one there.

- Most canHandle() functions were checking simple restrictions on
  e.g. project or target types, specify those by setters in the
  constructors instead and check them in the base canHandle()

- clone() is generally replaced by a creation of a "shell object"
  and a fromMap(source->toMap()), implemented in the base, there
  are two cases left for Android and Qbs that needed(?) some extra
  polish

- generally use canHandle() in base implementation, instead
  of doing that in all Derived::canFoo()

- as a result, canCreate/create/canClone/clone reimplementations
  are not needed anymore, keep the base implementation for
  now (could be inlined into their only users later), but
  de-virtualize them.

- Combine Ios{Preset,DSym}BuildStepFactory. There was only one
  'dsym' build step they could create.

- Split the 'mangled' id into the ProjectConfiguration subtype
  specific constant identifier, and a QString extraId() bit.
  Only maintain the mangled id in saved settings.

- Make ProjectConfiguration::m_id a constant member, adapt
  all constructors of derived classe.

Not done in this patch:

- Finish possible cosmetic changes on top

- Add a way to specify restrictions to supported Qt versions
  (used in Android/Ios), as the base implementation does not
  depend on the qtsupport plugin

- Combine the QList<X> availableFoo() + createFoo(X) function
  pairs to somthing like a direct
   QList<struct { X; std::function<X()>; }> fooCreators()
  to avoid e.g. the baseId.withSuffix() <-> id.suffixAfter(base)
  pingpong

- Remove the *Factories from the global object pool

- Do something about priority(). Falling back to plain
  qmake in android+qmake setup is not helpful.

Change-Id: I2be7d88d554c5aa8b7db8edf5b93278e1ae0112a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-12-08 11:17:55 +00:00
Tobias Hunger
9d3c5c6ff5 Session: Remove projectContainsFile
Use Project::isKnownFile instead.

Change-Id: If69e413e4603fe6d7dc359ecd55d6233d9a3a642
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-08 11:14:21 +00:00
Tobias Hunger
43f57d3f31 Session: Get rid of cache of all project file names
Make the project responsible to provide information on which files
belong to it instead.

Change-Id: I80accf9104af33eaffc6b8f3e6024e9725697d37
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-08 11:13:34 +00:00
Tobias Hunger
7df3bff07a ProjectExplorer: Make subscriptions more robust
Make sure not to continue to connect after the receiver was destructed
and make sure to disconnect from everything when that happens.

Task-number: QTCREATORBUG-19391
Change-Id: I4d09a7dca2a5260c3d4744607dccbde5964a0623
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-08 10:37:32 +00:00
Tobias Hunger
f542e24eca Project: Make Project::file take a std::function to match files
Make Project::files take a standard function to match files with instead
of an enum (and a std::function).

Change-Id: I6a24e40dba0e972ff96c0a57e775d2377e2545e0
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-08 09:56:29 +00:00
Tobias Hunger
18f38ff18e Project: Make Project::files return a FileNameList
Change-Id: I75ceb22ac65b8288d824f229d44089cba6fc8ea3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-08 09:09:59 +00:00
Ulf Hermann
e6fb9f08db KitManager: Check availableCreationIds before asking for displayName
device factories will generally QTC_ASSERT when asked for IDs they don't
support. When asked for IDs they do support they should provide a
non-empty display name, though.

Change-Id: I1439fa7bec1791979dfdf28a6ee70e2e77ec8381
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-12-08 09:09:48 +00:00
David Schulz
1ddee69200 WinRT: fix saving changed deployment steps
Explicitly connect ui elements to slots.

Change-Id: I1235f29a1596636dffc943c276da4a251deca884
Reviewed-by: hjk <hjk@qt.io>
2017-12-08 08:11:15 +00:00
Christian Stenger
ee540da42e QmakePM: Avoid calling function on nullptr
Task-number: QTCREATORBUG-19419
Change-Id: Iaac597b947ca505819674eec0a862158dce8a632
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-12-07 14:57:59 +00:00
Ivan Donchevskii
8afa7a64cc Clang: Plugins: Put settings into the TabWidget
Make tidy/clazy switch more intuitive.

Change-Id: I13d17376bdace039ae371693e28f6fcb0b493244
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2017-12-07 13:36:51 +00:00
Eike Ziller
508a9bdb24 Move line/column label functionality into single place
Create a LineColumnLabel class that aggregates the functionality that
was before spread through the editor widget and factory classes.

Change-Id: I6ba316174b2f690a0b146bdd606c6f8ed985ec20
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-12-07 12:49:26 +00:00
Eike Ziller
a6dfae7f10 Add documentation to FixedSizeClickLabel
Change-Id: I906e00628365073527a2b8ab1e5bb4e61c8225d0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-12-07 12:49:20 +00:00
Eike Ziller
9687593bce Rename LineColumnLabel
It is not only used for line and column.

Change-Id: I544244dbca0b9f084e45ff2d7e4f28f79d2cae09
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-12-07 12:49:15 +00:00
Eike Ziller
6d05ba7bfc Algorithm: Fix compilation with Xcode 7.2.1
Change-Id: I4413841adc00156a4c8877c00ba6929262ae8e8f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-12-07 09:55:49 +00:00
Eike Ziller
fb4f7e7420 Simplify transform and add support for more input container types
Change-Id: Ib75cfcc7741be686c0117fbb27df869e14db4f69
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-12-07 09:55:42 +00:00
Ulf Hermann
d81c6c7403 QmlJS: Don't parse files we cannot open
This rids us of the "Issues" about various wizard files when opening
qtcreator.pro

Change-Id: Ib49e87ded791bcc9155e65a77cac523c1f67de56
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2017-12-07 08:26:28 +00:00
Eike Ziller
a2739f55ed Merge remote-tracking branch 'origin/4.5'
Change-Id: Ic7c16091268083c0426cf29f0691a7ee458f2bd9
2017-12-07 09:16:01 +01:00
hjk
8f1a161c64 Debugger: Merge EngineSetup and InferiorSetup start phases
It was needed in the past to trigger e.g. gdbserver setup in
remote cases which is nowadays handled by separate RunWorkers.

Change-Id: I30bce071dab0779cce2e7abef7b31550d8539461
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-12-06 13:30:04 +00:00
Ulf Hermann
00328f96a4 QNX: Don't return display names for devices we don't support
Change-Id: Iec1c2108f5e0fd9028cf00f8c18eb7590fd2e76b
Reviewed-by: hjk <hjk@qt.io>
2017-12-06 11:06:44 +00:00
Christian Stenger
4514208af2 Nim: Fix debugger start of nim projects
Task-number: QTCREATORBUG-19414
Change-Id: Ia93863a6127f4b670113cf6d9159defa4adb6ec4
Reviewed-by: hjk <hjk@qt.io>
2017-12-06 10:02:02 +00:00
Robert Loehning
1f6d2e067e Welcome: Use https-links
Change-Id: I6eec438e5c881da8e6946b3d167e1e71f49ba574
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-06 10:02:00 +00:00
Tobias Hunger
1a3beaa133 ProjectTree: Sort includes to shut up codemodel
Change-Id: I5ae57744171c84c4cc36b3b643ad11092d89884b
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-12-06 08:47:52 +00:00
Tobias Hunger
2a8d5efc35 Session: Sort includes
Sort includes to shut up codemodel.

Change-Id: I03b980b8cd0a7c9da21f4e730558256548cb8a8a
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-12-06 08:47:44 +00:00
Ivan Donchevskii
6953996aa8 Clang: Plugins: Make default settings empty
Plugins make code model slower. So do not enable them
until you need them.

Change-Id: Idaba0509417d70b41b88b5d66d731a1dae0e9c2f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2017-12-06 07:33:27 +00:00
Alessandro Portale
a1960f6e78 Utils: Make crumblepath graphics themable and high-DPI-able
This change replaces the outdated CrumblePathButton graphics with new,
themable and high-DPI-able variants.

The new graphics need to be drawn in a different way, which reduces the
required code in CrumblePath a bit.

Change-Id: Ie006199c7f307ae7528b5c951c95cfa2a1c4308d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-12-05 17:58:19 +00:00
Alessandro Portale
95564edf8d Utils: Allow Icon::pixmap to return pixmaps for different QIcon::Modes
We need disabled state of the Icon as pixmap, e.g. in the CrumblePath.

Change-Id: I3dfea5145c2c12f436e2dca73f1ac96839139236
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-12-05 17:58:05 +00:00
Marco Bubke
76807c134a Clang: Merge FilePathView and NativeFilePathView
Change-Id: Ib07b16bf60c56027814cc5f0d7be1cacd15e96bb
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-12-05 17:08:56 +00:00
Robert Loehning
91fadf03d0 ApplicationOutputPane: Add missing handling of runControl being nullptr
Change-Id: I8f7b5f90bfa7389df55b42910ba245ad78ef5bc6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-12-05 13:54:47 +00:00
Tobias Hunger
85206e216a QmakeDesktopRunConfiguration: Add correct entry to PATH on windows
When adding Qt to the PATH in the qmake desktop runconfiguration, creator
added the INSTALL_LIBS on windows. This is not correct, use INSTALL_BINS
instead.

Change-Id: Idf3644085657f871870119126d2ab28721ff85d8
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-12-05 13:48:57 +00:00
Thomas Hartmann
034e672509 QmlDesigner: Add support for timeline items
Change-Id: Ie7e05c78c2d817da9dd91c345f1949daa640c6bc
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-12-05 13:14:04 +00:00
Tobias Hunger
ba57ea9fa3 Environment: Fix crash in environment widget
Change-Id: I39b30a73932a6fac67cdb6b07225a4f675346fec
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2017-12-05 12:07:21 +00:00
Marco Bubke
b045705115 UnitTests: Cleanup SymbolQuery test
Change-Id: Ieb4fe43c7b5cd27cc270f3c5d269c2d4812a0131
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-12-05 10:26:47 +00:00
Marco Bubke
409fecd3a0 UnitTests: Cleanup SupportiveTranslationUnitInitializer test
Change-Id: I0c43baeb13fe2a1004622267deb4e588f941d254
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-12-05 10:26:06 +00:00
Marco Benelli
7376336e15 QmlJs: prevent "copy" icon in outline drag and drop
Copying items in the outline tree is not allowed, so the icon it is
not shown while dragging with the CTRL button pressed.

Task-number: QTCREATORBUG-13450
Change-Id: Ibfcf954c273051ef03112d11ee6a3457530802bb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-12-05 10:16:39 +00:00
Orgad Shaneh
2559ad48a8 Git: Show success message on push
Change-Id: I78433d7c7aec65fbafcba49fabf0562571dfbeff
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-12-05 10:12:09 +00:00
Christian Kandeler
9dadec8fc4 Update qbs submodule
To HEAD of 1.10 branch.

Change-Id: I191d40886d1cb343401fb603f7741905801e1fec
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-12-04 20:27:33 +00:00
Alessandro Portale
2349a0a5c4 Git: Gerritpushdialog: Fix draft push for older Gerrits
Logic for "Non-Draft" and "Draft" was swapped.

Change-Id: I14640e1a6321332c6f0cc0b3e8364194f52bcbaf
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-12-03 18:37:41 +00:00
Tobias Hunger
769afa9f97 Utils: Move variadice template arguments to the end
Move variadic template arguments to the end for all users in algorithm.h.

Change-Id: I7c8f1254e7de6ee9737e73d1a4721e71c188438e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-01 14:41:22 +00:00
Tobias Hunger
2c09424c13 Utils: Clean up Utils::findOr and Utils::findOrDefault
Change-Id: I638e68480d3985b6df9a18aa96a067ee68484b12
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-01 14:41:15 +00:00
Tobias Hunger
b81d788793 Utils: Support more containers with Utils::transform
Support std::vector and similar classes as input and output.

Change-Id: I1d202d54c18e868ce0e71e4c2b6288565710baa8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-01 14:11:28 +00:00
Tobias Hunger
b712b1bc7c Utils: Make Utils::indexOf work with all iterator types
Change-Id: I5b9b577bdfb26bd03583ca8349b960625124a929
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-01 13:16:51 +00:00