| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
The visual column index needs to be replaced by the logical column
index in QModelIndex::sibling() call in QTreeView::moveCursor() method.
[ChangeLog][QtWidgets][QTreeView] Fixed a key navigation bug
when the columns were reordered.
Task-number: QTBUG-52793
Change-Id: I4dc89a2705966a94b20edd7f9a4422f089bb670f
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
|
|
|
|
|
|
|
| |
0 must not be used as a null pointer constant
Change-Id: I082d0e99c105fb02980b9cf390e7f6e4c9ad0869
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
| |
Use larger system metric SM_CXICON instead of SM_CXSMICON and set NIIF_LARGE_ICON
in the NOTIFYICONDATA. De-inline function iconFlag() and set NIIF_USER for user
icons for NIIF_LARGE_ICON to take effect.
Task-number: QTBUG-53591
Change-Id: I47c8e0a020ef94241403b1fbae76d5ef2e074301
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The animated glow always has a length of 120 but was previously drawn
with the clipping rect of the bar's actual size. For sizes smaller than
120 the native theme part would be clipped and the black gradient would
show.
Change-Id: Id81e39c405ef81ae08af0f64249568016944bdf1
Task-number: QTBUG-51266
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The backing store would not report itself dirty if only render-to-
texture widgets were dirty.
This caused QOpenGLWidgets not be repainted after being remapped if they
marked themselves dirty while unmapped.
Task-number: QTBUG-50818
Task-number: QTBUG-51815
Change-Id: If43f7cbb6f4d44831b4c21b89f884d6bcaebf87c
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch allows to open submenus also on left mouse button press.
Previously submenus could be opened only on right mouse button press
as ContextMenu event which was inconvenient especially for long submenu
popup timeout.
Task-number: QTBUG-53054
Change-Id: I1bd78ed4436f738c8838f7f4687ffebb94b66725
Reviewed-by: Félix Bourbonnais <thor400.75@gmail.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code dealing with shortcut overrides omitted this value from the
checks. If the user had a shortcut installed with a key sequence matching
MoveToStartOfLine, then that would result in the line edit not moving
the cursor at the beginning of the line (unlike other similar sequences).
Change-Id: If2e780068b3139390c79285d2205cc89285ba8b5
Task-number: QTBUG-52796
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I7cb759445342ecb58d5187ddd4a22e41fdea084a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
QDialog::adjustPosition() can move the dialog across screens. A call to
QWindow::resize() later in the show sequence might then see the wrong scaling
factor if the screen changed notification is still stuck in an event queue.
Prevent that by setting the target screen early on.
Task-number: QTBUG-52735
Change-Id: I17bb3490b660f8f17c36524457cb87adbb7851e9
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Whenever a regular QWidget contains a child render-to-texture widget
(like a QOpenGLWidget) that is opaque (attribute
Qt::WA_OpaquePaintEvent is set) and completely covers the parent
geometry, the child widget would not be shown.
This happens because QWidgetBackingStore::doSync contains a check to
see if an opaque child completely covers its parent, in which case it
does not draw the parent, and only draws the child.
This is an issue if the widget is actually a texture-based one, because
for it to be seen on screen, the parent widget has to be redrawn with a
proper blending mask, so that the rtt widget gets properly composed
into the place where the mask is.
The fix consists in keeping the parent widget being marked dirty, in case
it has an opaque texture-based child that completely covers it. This will
force a redraw of the parent widget with a proper blending mask.
Change-Id: If1feec04b86bff2c49158b8d72f175cec252dea1
Task-number: QTBUG-52123
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Always reset the drop indicator position and rect when drag action will
be finished. This can prevent drawing the indicator in bad place when
the next drag will be performed.
Task-number: QTBUG-53541
Change-Id: I420207a0ede6f19f48472a8f0f723afe948de1c6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is nothing guaranteeing there will be a paint request after
resizeViewportFramebuffer() is called. However we must not be left
with a framebuffer with uninitialized content. So trigger an update.
Include also a half-hearted autotest. QOpenGLWidget (or QGLWidget)
viewports have not been autotested at all. Try to verify that it
is functional at least, even if we cannot check the actual output.
Change-Id: I34d78fe32e94c39dad919216b5a4f4bb2aea3cc2
Task-number: QTBUG-52419
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
While dealing with Coverity's CID 11424 ('missing initializer'), it was
recommended (by Marc, thanks) to get rid of Command's default ctor,
since it's apparently not needed at all (replacing QVector with std::vector also).
Change-Id: Ibe9d2789c67431a9810feb7db4fa1bce0b61921c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The performance optimization of falling back to flushing windows the normal
(raster) way once no render-to-texture widgets are visible has issues with
fullscreen windows, presumably due to the compositor's special handling of
such windows. Disable our smartness and stick with composeAndFlush for
ever in case the window is fullscreen.
Change-Id: Ifb31e0d36bd0a3933fcfe55a9a7d502513d6e3cf
Task-number: QTBUG-53515
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old code failed to reliably detect new QScreens and connect their signals to
its own slots. For example, if the QApplication added a new screen at the
beginning of the screen list (which happens if the new screen is primary), the
signal-connecting loop would actually instead add the now second screen to
QDesktopWidget's list *again*, and connect its signals, but not connect any
signal to the new, first screen.
Furthermore, QDesktopWidget would miss geometry changes because QWidget (and
hence QDesktopScreenWidget) automatically shrinks when the screen it is on gets
smaller.
To fix all of this, QDesktopScreenWidget now keeps its own record of the screen
and its geometry, and it always scans over the entire screen list without
relying on any ordering guarantees on behalf of QApplication.
Change-Id: I2ee8361adf643849f43b7dd9a95966920fd13528
Task-number: QTBUG-52101
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch reduces paint events by removing code which sets native
widgets dirty in QWidgetWindow::handleExposeEvent. Native widgets are
also marked dirty in QWidgetPrivate::drawWidget, so it is enough for
proper painting.
This restores Qt4 behavior when one resize means one repaint for native
widgets. Without this patch the native widget is marked as dirty on
every expose event, so one repaint is from syncBackingStore and second
(or more) is from marking the widget dirty explicitly.
This patch improves performance of native widgets and it also reduces
locks when paint event is v-synced, e.g. on OpenGL swap buffers or on
any other technology like VDPAU, VA-API, etc.
Added autotest for checking number of paint events for native widgets.
Task-number: QTBUG-50796
Change-Id: I4e1649069e2e73d15b038fd1834d0551915252ee
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/network/socket/qnativesocketengine_winrt.cpp
Change-Id: I8edb72f8ba958d80c3d7993b3feaaae782ca8d9c
|
| |
| |
| |
| |
| |
| |
| |
| | |
Examples in binary packages now directly match the install path.
Change-Id: Ic1487bc766cfd3b0a0a340cc4ae4ba49d953eaa6
Task-number: QTBUG-52953
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QMenuBar now receives a parent changed event for each of its parent,
grand-parent, ... This fixes a crash caused by an invalid QWidget
pointer and makes sure the keyboard shortcuts events are relayed to the
menu bar in all parenting/re-parenting cases by installing an event
filter on each parent
Task-number: QTBUG-53205
Change-Id: I419e6cbc52e28a67fb08a848a7161b4cb8ae4ae5
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce a function going up the widget hierarchy determining a QTransform
for mapping the coordinates applying the transformations of any QGraphicsView
instances found. In mapFromGlobal(), use the inverse of it. This fixes the
case of widget hierarchies embedded into QGraphicsView with transformations.
Increase fuzz in the tests due to float rounding errors.
Task-number: QTBUG-41135
Task-number: QTBUG-50030
Task-number: QTBUG-50136
Task-number: QTBUG-52507
Change-Id: I507e0bccd546250fe9c2d1b74ef38657d61490b4
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
Detected by GCC 6.
Change-Id: I24a735698d3c4a719fc9ffff1425f193511406f9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
|
| |
Remove the hardcoded size 16 from QLineEditIconButton. Replace
QLineEditPrivate::iconSize() by QLineEditPrivate::sideWidgetParameters()
returning a struct SideWidgetParameters containing icon size, widget size and
margins. The 32x32 icon will then be used on a High DPI screen without scaling.
Task-number: QTBUG-49374
Change-Id: I23c4a0cd078a58581c940aacfa65a3ad493c12dc
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: Ic61374d5b6ce395dfe8d0b30813ea437b5e16e9d
Task-number: QTBUG-52497
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create parent nodes with the corresponding paths, not with
the absolute path of the child node. Otherwise we will get
incorrect QFileInfo at least in the following case:
QFileSystemModel model;
model.setRootPath("/usr/bin");
QModelIndex idx = model.setRootPath("/usr");
qDebug() << model.fileInfo(idx).absoluteFilePath();
Without the fix it prints "/usr/bin".
It's a regression triggered by 61cefb2f7a7cb16dfa2732e26d2319017039ef62
(De-inline QFileSystemModel::fileInfo() and implement it efficiently).
Change-Id: I3b4e5f5b256711e27ad50824eaa8492dbc096808
Task-number: QTBUG-51586
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We guard QWidgetWindow's widget with a QPointer to avoid
sending it events during destruction (which may result in
undefined behavior, since this originates from ~QObject and
we expect the object to behave as a QWidget). Therefore, we
need to harden all access to that widget since it can now
be null, specially during destruction.
As an example, QGestureManager may crash when we delete a
top-level widget. The crash stack trace is:
1 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData>>::data() const
2 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData>>::pointer qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData>>>(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData>> const&)
3 QWidget::d_func()
4 QGestureManager::filterEvent(QWidget *, QEvent *) <-- the widget ptr is null
5 QGestureManager::filterEvent(QObject *, QEvent *)
6 QApplication::notify(QObject *, QEvent *)
7 QCoreApplication::notifyInternal2(QObject *, QEvent *)
8 QCoreApplication::sendEvent(QObject *, QEvent *)
9 QWindow::destroy()
10 QWidgetPrivate::deleteTLSysExtra()
11 QWidgetPrivate::deleteExtra()
12 QWidgetPrivate::~QWidgetPrivate()
13 QWidgetPrivate::~QWidgetPrivate()
14 QWidgetPrivate::~QWidgetPrivate()
15 QScopedPointerDeleter<QObjectData>::cleanup(QObjectData *)
16 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData>>::~QScopedPointer()
17 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData>>::~QScopedPointer()
18 QObject::~QObject()
19 QWidget::~QWidget()
Task-number: QTBUG-53103
Change-Id: I1bb32648270c4f7791f668b8f0b639ddb4235703
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
~QWidgetPrivate() may end up calling QWidgetPrivate::
deleteTLSysExtra() which, in turn, calls QWindow::destroy().
This sends an event to the window itself. This reaches
QWidgetWindow::event() which will forward the event to
the widget. However, the widget has just been deleted
since the sequence was initiated by ~QObject().
Task-number: QTBUG-53103
Change-Id: Ib511714a76bbc1e734d6f2800a983eb1459bbf0b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old code sometimes made incorrect selections when rows or columns were
hidden or moved. It used logical top left and bottom right indexes to create a
selection rectangle. However on moved or hidden cells a wrong rectangle was
made. This fix calculates a simple rectangle without hidden cells and makes use
of the row/column select functionality provided by the selection model, to make
the right selection.
[ChangeLog][QtWidgets][QTableView] Fixed a selection bug when rows or columns were hidden (QTBUG-50171)
Task-number: QTBUG-50171
Change-Id: Id186012af26da7b2051ff5eb1c13e6b7494cca77
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
|
|
|
|
|
|
|
|
|
| |
The window is required to be able to determine the correct
scale factor for the screen when High DPI scaling is active.
Change-Id: I8f776684396d055754093f62e0d33bd7e23cb52b
Task-number: QTBUG-52943
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Query the native parent widget if the widget does not have a window handle.
The window is required to be able to determine the correct
scale factor for the screen when High DPI scaling is active.
Change-Id: Ibaf5e8e7b07327ea635d2f726acea76c2c95bda3
Task-number: QTBUG-52943
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I971db2c25e4e667a416f58d148e18c4f11c349f1
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Fix regression in a7b0cb467ca5c4a9447d049910c9e3f0abc5897c which caused
it to be hard to start scrolling at the ends of a scroll-view if using
fine grained scrolling events.
Change-Id: I55f3210150b993281545c3ad5a7356d892fa30b5
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
| |
The image shows 9 combo boxes, not 8.
Change-Id: If229332e1708f624ad9f50fab0b78c011d94f31e
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
It was hidden by overridden parent(const QModelIndex &) methods.
See also 63b5082ea8e3e750af986f815474f7207006cb46
(Unhide QObject::parent() from QAbstract{Table,List}model).
Change-Id: I8b6d4d4175e4d43ff269eaeb0b2b1a9fb8f44bab
Task-number: QTBUG-45393
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
| |
The existing code keeps the overrides from each base class together,
so also move them to the correct group after adding Q_DECL_OVERRIDE.
Change-Id: I5d89fb4e7f9454ab0c9c6383f8245e64b95e84e9
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
| |
In QFileDialogPrivate::_q_enterDirectory() the QStyle::styleHint() for
QStyle::SH_ItemView_ActivateItemOnSingleClick was called w/o the
widget. By such usage the possible StyleSheet setting was ignored, e.g.
"QAbstractItemView { activate-on-singleclick: 1; }".
Task-number: QTBUG-50871
Change-Id: I7a32c4841db7113f32c3823581c2becc1677e3cc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QtWidgets][QAbstractScrollArea,QTextEdit,QPlainTextEdit]
Changed focus to Qt::StrongFocus. That respects platforms' native
guidelines.
Task-number: QTBUG-52559
Change-Id: I2aa25d25bbc15facce85ceb7d4a4c1d0ac7df962
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Do not paint over CE_MenuBarItem when the palette is set
to transparent by QStyleSheetStyle.
Task-number: QTBUG-49115
Change-Id: Ib364017179d0852490daad094361eae0ead4fd5f
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the correct parent path for the renamed file when creating
QFileInfo. It must be a path to the parent directory, not to the
root directory of the model.
Modify tst_QFileSystemModel::setData() to test renames in subdirs
of the root directory of the model.
Change-Id: I69d9e3a937616857a81617791ed118af3f6eea05
Task-number: QTBUG-52561
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Take alignment into account in QFusionStyle::subControlRect().
Task-number: QTBUG-49068
Change-Id: Ia8f2d06c46b24761bff537247bbadd3323e41fa9
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Return pixmaps with device pixel ratio similar to QScreen::grabWindow(),
cf c0963486ce689e778d59dafd26d36d8ef9e3ee74.
Adapt kernel tests accordingly.
Task-number: QTBUG-52137
Change-Id: I9ce276d5e2d87ae0d39c8639267d1ac283fed854
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old code incorrectly calculated visual region for a selection (specified by
QItemSelection object) in case of reordered / swapped rows or columns. It used
the leftmost and rightmost (upmost and downmost for vertical mode) logical
indexes directly. However some middle logical index (in case of reorder) may be
the leftmost or rightmost visual index. In such cases the repainting didn't
work properly. This fix first checks whether reordering / swapping is in use.
If it isn't (ie visual=logical) we use code similar to the old code. Otherwise
the new code scans all selected logical indexes, translates them into visual
ones and gets the correct leftmost and rightmost indexes.
[ChangeLog][QtWidgets][QHeaderView] Fixed a repainting issue when items had been reordered.
Task-number: QTBUG-50171
Change-Id: If6afabebf445cf32a8e0afe262b6ee149e7c4b2b
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set totalScaleFactor on a pinch gesture (OS X) so that it works the same way
as in 'standard' gesture recognizer and corresponds to what we document.
[ChangeLog][QtWidgets] : QPinchGesture on OS X now behaves like on other
platforms: totalScaleFactor is the magnitude of the pinch and scaleFactor
is the delta for the current event.
Task-number: QTBUG-48138
Change-Id: I66b9a1df05cbe106b76aed8f15d900bcdd41fdb7
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Try to find a window handle so that the pixmap matching the
device pixel ratio of the screen can be found.
Task-number: QTBUG-52622
Change-Id: Iccf3cea82065af5e055d3cd932cd0808b29b15dc
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
In QWindowsXPStyle::sizeFromContents(), scale the margins using the
devicePixelRatio and round the height up. Typically increases
the height by 2 pixels when the device pixel ratio equals 2.
Change-Id: I446ad518c3808a6454a08db7b66a942d37c1703f
Task-number: QTBUG-49374
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Call QTabBarPrivate::moveTabFinished() from QTabBar::removeTab()
to cancel any drag in progress to prevent crashes due
to invalidated indexes.
Task-number: QTBUG-52527
Change-Id: I5bd8cc6f55e5aea1f1a4710494ba5b92939a42ee
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QWindowsXPStylePrivate.
QWindowsXPStylePrivate maintains a list of theme handles for various
style items. The derived class QWindowsVistaStylePrivate had logic
to use a special helper window with the "explorer" window theme set to
obtain the correct treeview arrow branch indicator (arrow shape for Vista as
opposed to '+'/'-' on Windows XP) when creating the "TREEVIEW" theme.
This required calling the helper function
QWindowsVistaStylePrivate::initTreeViewTheming() before
QWindowsXPStylePrivate::createTheme(), which is prone to errors and
initialization order issues.
This could be solved by making QWindowsXPStylePrivate::createTheme()
virtual or similar, but since it the fate of QWindowsXPStylePrivate is most likely
to be merged into QWindowsVistaStylePrivate; it was decided to move
the entire special handling of the Vista treeviews into
QWindowsXPStylePrivate. The existing enumeration value
QWindowsXPStylePrivate::TreeViewTheme is renamed to
QWindowsXPStylePrivate::XpTreeViewTheme and a new value
QWindowsXPStylePrivate::VistaTreeViewTheme is added for which
QWindowsXPStylePrivate::createTheme() invokes the special handling.
This also removes the need to destroy the helper window in unpolish(),
which should save some initializations.
Task-number: QTBUG-52230
Change-Id: I0492ecf38fb3e5eabc4ecbdef70f0bf05e82e104
Reviewed-by: Adam Light <aclight@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QProxyStyle checks QApplicationPrivate::styleOverride but ignores
QT_STYLE_OVERRIDE when it is trying to detect the name of the base
style.
Set styleOverride from QT_STYLE_OVERRIDE to make it work. Thus there
is no need to check QT_STYLE_OVERRIDE from multiple places.
Change-Id: I2a64b5ff5443701f800ef5d2a9cb425068f909f1
Task-number: QTBUG-52596
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The parentRowCount and the delta were already calculated
a few lines up, so don't recalculate them here.
This improves performance (rowCount() is a virtual function),
as well as readability (delta is more readable than end -
begin + 1).
Change-Id: Iabe88852a61f7ef52139e1ba446e9d3f87d6bd04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I4e27014a9a39abc03cee25f9753a46225efa43b9
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
|
|
|
|
|
|
|
|
|
| |
Both constructors set up the first, last and none members.
QDateTimeEditPrivate wants first.pos = 0, different to its base, so
keep that, but the rest merely duplicated.
Change-Id: Ice22e0495112dc3427eb35b5b73420f42d7dafc1
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|