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>
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>
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>
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>
* 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Move variadic template arguments to the end for all users in algorithm.h.
Change-Id: I7c8f1254e7de6ee9737e73d1a4721e71c188438e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Support std::vector and similar classes as input and output.
Change-Id: I1d202d54c18e868ce0e71e4c2b6288565710baa8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>