Commit Graph

2333 Commits (c2cc74f862df3bbc8bf7c8ecd5909af9de3d95ca)

Author SHA1 Message Date
Marc Mutz c4a2d6ca1e QInputDialog: use a switch instead of a string pointer table
Effects on Linux AMD64 GCC 4.9-trunk -O2 stripped release:
  text:   -72B
  data:   -64B
  relocs:  -4

Change-Id: Ie312e12ba42f58fa5dd61da1e64b9c22bf4738b2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-07-23 14:15:22 +02:00
Friedemann Kleint 7daf920e97 Fusion style: Use QStyleHelper::dpiScaled() where applicable.
When running unscaled on a high resolution display, some items
are too small. This patch converts most values returned by
QFusionStyle::pixelMetric() via QStyleHelper::dpiScaled(). Some
adjustments have been done to RadioButton, CheckBox, Slider and
SpinBox.

On systems with 96dpi, FusionStyle should still look exactly as
before this patch.

Task-number: QTBUG-40277
Task-number: QTBUG-38858
Change-Id: I2683a8a4db615d01c08f4d6f559417b995c0eb1a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-07-21 11:40:08 +02:00
Friedemann Kleint f547381806 Implement QApplication::topLevelAt() using QGuiApplication::topLevelAt().
Reducing code duplication, preparing for High-DPI support.

Task-number: QTBUG-38858
Change-Id: Id0ed12db4b5cadd0eef79afd0ac62f58a7b01901
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-07-18 12:10:56 +02:00
Friedemann Kleint 45854c75aa QGroupBox: Exclude top level widgets from child event handling.
Prevent the QGroupBox from changing the enabled state of
dialogs parented on it.

Task-number: QTBUG-40132
Change-Id: I91cc6ccf5ade0b3a491020ed947d4aceca62d7b6
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-07-15 11:24:47 +02:00
Philippe Lelong 4a1120a2f1 Fix various issues with qandroidstyle
-Add style for checkable QGroupBox
 -Add style for checkable QItemView
 -Fix QSpinboxes contents size and position
 -Fix QTreeView and QTableView headers size and position
 -Fix Slider thumb position incorrect if minimum is not zero
Task-number: QTBUG-38717
Task-number: QTBUG-38325
Task-number: QTBUG-37965
Change-Id: I737f8d6f2d1c25d16aca0ce5de6b81884839409d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-07-10 16:53:11 +02:00
Frederik Gladhorn 776ddcab2c Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/dev 2014-07-10 13:13:55 +02:00
Frederik Gladhorn f035786021 Merge remote-tracking branch 'origin/5.3' into dev
Change-Id: Ia12ffdb27ecdf25c2a2bdb0eed1945387502108a
2014-07-10 10:11:11 +02:00
Ivan Komissarov 84c5e4866f Added autoHide property to QTabBar
This property is used to automatically hide tab bar if it has only one
tab.

Originally-by: Denis Kovalskiy <denimnumber1@gmail.com>
Change-Id: I6967f760010fa55bad6a5986c29abe7ccf625cf8
Reviewed-by: David Faure <david.faure@kdab.com>
2014-07-10 08:29:10 +02:00
David Faure 745448d3ea QFileDialog: compile with QT_NO_URL_CAST_FROM_STRING.
This is useful to detect confusions between local paths and URLs.

Change-Id: I1aa72ae10186984812691c8a1a4e843db3c85246
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-09 23:46:37 +02:00
David Faure e7b4aaadfa qfiledialog: clean up dead code.
Q_WS_WIN is never defined, and the qt_win_get_* functions don't exist
anymore. The QPA plugin takes care of doing the Windows-specific handling
for the file dialog.

Change-Id: Icdf9aed7da3db8ed2bd71d60f821869340ec1041
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-09 23:46:01 +02:00
David Faure a8fb55bea7 Mention Qt::ToolButtonFollowStyle in QToolBar/QMainWindow documentation
Improve the existing docu for Qt::ToolButtonFollowStyle in QToolButton
and show the same text in all other widgets that have toolButtonStyle property
(QToolBar and QMainWindow).

Change-Id: I26ff0ed332f8bd10b542a4111c6ae48a963d5667
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-07-09 01:31:43 +02:00
Friedemann Kleint ea09c9961a Refactor custom/standard color selectors in QColorDialog.
Introduce an enumeration for the rows/columns and
use std::find() to find the matching colors.

Change-Id: If8b7f76d48beab470f6cac0bfdeaf56058237e94
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-07-08 12:05:59 +02:00
Friedemann Kleint cb7dd74bb5 QWidget: Set screen on top-level windows only.
Change-Id: Iea7fbe253ff3144d9988fd14790296e211075d3b
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-07-08 12:05:49 +02:00
Friedemann Kleint cdbd3c412c Use QDropEvent::acceptProposedAction() in drop handlers of QAbstractItemView.
Fix updating of the drop cursor when the user presses/releases the
shift key while dragging.

Task-number: QTBUG-39822
Change-Id: I1d9d3a80d349f7e405db24f8f7dc372428c34f52
Reviewed-by: David Faure <david.faure@kdab.com>
2014-07-08 04:32:47 +02:00
İsmail Dönmez 9569836668 Document QApplication::cursorFlashTime() can return -1
On Windows QApplication::cursorFlashTime() can return -1 if keyboard
blinking is disabled. Add documentation for that case.

Change-Id: I1e5d683573e55b045e2d9bd9804daf4be579fd02
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2014-07-07 19:31:24 +02:00
Frederik Gladhorn 4f9427977c Accessibility: Improve handling current value
Value interfaces on OS X and iOS can be strings, so can the value
property of MSAA. Before we'd always only send doubles, instead
change it to use strings as well.

Change-Id: I1b4410c68238ba7a69a5507d87c251f2ac61c568
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
2014-07-07 12:55:58 +02:00
Mitch Curtis a2948e1387 Fix typo in QGraphicsView documentation.
Change-Id: Ib750a78e86b8af87d091705a1107ca1eccf32389
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-07-07 11:44:16 +02:00
İsmail Dönmez a6ec09d7ed Fix QTimer with negative interval in QWidgetLineControl::setCursorBlinkPeriod
When keyboard blink is disabled, msec will be negative (-2 in my case).
In that case if (msec) will evaluate to true and create a QTimer
with a negative interval. Fix is to check for msec > 0.

Change-Id: I5c8d82c3cdaf26a961c986f4164805aacfe3ae37
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-07-06 20:16:18 +02:00
Leo Franchi 0eefa785a0 Support transparency in qt5 system tray icons, regardless of tray visual
This ports the Qt4 method of supporting the system tray
window visual that has an alpha channel as well as ones
that do not. We detect whether or not we have a 32-bit
format and either use a Qt::transparent background, or
call xcb_clear_region before painting the icon.

[ChangeLog][Linux/XCB] Fix transparency of tray icons in cases where
there is no alpha channel or system tray visual.

Task-number: QTBUG-35832
Change-Id: I43d500c39846d2916dd39f8c47c8d85e59b49cae
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
2014-07-04 15:32:45 +02:00
Frederik Gladhorn 14a80bd4df Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/dev 2014-07-04 18:46:06 +02:00
Jerome Pasion e4661df947 Doc: Removed "url" variable from qdocconf files.
url is set in qtbase/doc/global which is inherited by the
Qt 5 module qdocconf files.

Change-Id: Ieffa174f598f4a3b8ce8be9bfae7ca9b6981f12b
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-04 12:12:29 +02:00
Niels Weber 9a5b0265d0 Fix compiling with -no-opengl
Task-number: QTBUG-39982
Change-Id: Ib3fc49c89472fbaf77abea0b463e380725440613
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-07-04 11:33:14 +02:00
Mitch Curtis 76371c4d56 Improve QListWidget documentation.
Mention that removeItemWidget() isn't sufficient to remove a row.
List related functions so that it's easy to see the relation
between them.

Change-Id: Ia1d467390f00976e2276d50df35dd555f7992a9a
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-07-04 10:59:24 +02:00
Frederik Gladhorn f01c5cdb8d Update copyright to 2014 for accessibility
Change-Id: I4210456122bf8a6d3730f017f3ce6dd1a1bcb3f5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-04 08:59:21 +02:00
Frederik Gladhorn 39a290af6c Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	src/gui/accessible/qaccessiblecache_mac.mm
	src/gui/accessible/qaccessiblecache_p.h
	src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/widgets/kernel/qwidget_qpa.cpp

Manually moved change in qwidget_qpa.cpp to qwidget.cpp
    (cd07830e3b)

Change-Id: Ia51f471f9b53de2f3b07d77ea89db9303ac8961d
2014-07-03 23:56:45 +02:00
Frederik Gladhorn 71c58f0369 Fix build with -no-accessibility
Change-Id: Ib66d806b978c9e187d614fe1c553db7dc2b4ffaa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-07-03 15:08:44 +02:00
Friedemann Kleint ba92215432 Add fixme-comment to QWidgetResizeHandler.
Task-number: QTBUG-34352
Change-Id: I2415bdf125f90f5cd4f5af55e7ec6bb8ef48217e
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-07-03 06:33:39 +02:00
Friedemann Kleint 135e9d5a82 Implement QWidget::grabCursor(const QCursor&).
Implement using QGuiApplication::setOverrideCursor().

Task-number: QTBUG-39311
Change-Id: I83e289bfd5e911c31f08df9a4fc17fb8a0cf27f2
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-07-03 06:32:50 +02:00
Friedemann Kleint a4c4c12f0a QDockWidget: Delay-create QWidgetResizeHandler.
Task-number: QTBUG-34352
Change-Id: Ia7e5d8038b334686bedeee60c35656f3ab948e4c
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-07-03 06:31:01 +02:00
Morten Johan Sørvig cd07830e3b Cocoa: Handle Qt::WA_ShowWithoutActivating
Forward the flag to QWindow by setting the _q_showWithoutActivating
property on the window in QWidgetPrivate::create_sys().

Implement by refusing to become the key window
or first responder during QCocoaWindow::setVisible().

Task-number: QTBUG-19194
Change-Id: I8446927ec510d7226a5a7b51b7be49d2f9bfd098
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-07-02 12:56:32 +02:00
Tim Blechmann 4f155b0535 Cocoa: Fix Qt-in-namespace build.
Wrap cocoa classes in namespace macros.

Task-number: QTBUG-39382
Change-Id: Id840e666105afca21760fcb529b5765e0a534120
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-07-02 12:56:06 +02:00
Gabriel de Dietrich 769af66893 QMacStyle: Fix focus frame rendering in Yosemite
Using the HITheme API would result in the frame's right edge
to be missing.

Instead, we use the recommended technique to draw the focus 
ring around a custom NSCell. (See 
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ControlCell/Articles/ManipulateCellControl.html)

Change-Id: I12d4834d353b5cbd5893bf070b14ad0d8bb75634
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-07-02 12:44:49 +02:00
Frederik Gladhorn e6a94778d0 Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/dev 2014-07-01 18:41:14 +02:00
Frederik Gladhorn a09a8d509a Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	mkspecs/qnx-x86-qcc/qplatformdefs.h
	src/corelib/global/qglobal.h
	src/network/socket/qnativesocketengine_winrt.cpp
	src/plugins/platforms/android/androidjniaccessibility.cpp
	src/plugins/platforms/windows/qwindowswindow.cpp

Manually adjusted:
	mkspecs/qnx-armle-v7-qcc/qplatformdefs.h
	to include 9ce697f2d5

Thanks goes to Sergio for the qnx mkspecs adjustments.

Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
2014-07-01 16:25:19 +02:00
Frederik Gladhorn 2e038d681c Accessibility: Password QLineEdit should use * as text replacement
Change-Id: Ie07e86f1b6dff3096cab462f918994efa07b2a87
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
2014-07-01 08:27:16 +02:00
Gabriel de Dietrich 83f06da1c6 Mac Style: Fix QLineEdit frame in 10.10
Also removes some dead code.

Change-Id: Id590bd56641918a163f8bad251e3e0e750adfc6f
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-06-30 17:02:39 +02:00
Allan Sandfeld Jensen 2021c6c8f7 Fix pixel noise in X11 systray icons that are not 22x22
If a system tray icon is set to a non default size by an X11 system tray,
the area beyond 22x22 will not be painted, since the first paint is
performed before the first resize, and the first resize does not trigger
expose either.

The bug can be seen in KDE if the system tray is not 22 pixel height.
This patch triggers updates on resize to ensure we always repaint
fully on resize.

Change-Id: Ia81d2329a2c9faff220f07163ac38cafbd520ffc
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-06-30 15:19:24 +02:00
J-P Nurmi 5de4ed9db3 QMac/FusionStyle: fix the background color for transient scrollbars
Task-number: QTBUG-39922
Change-Id: I4b313296ae845bc9e116494aa66c577b432b4a67
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-06-30 14:57:40 +02:00
Paul Olav Tvete e65a79a6e4 Enablers for QQuickWidget render() support.
Add a QImage based fallback for renderToTexture widgets, and use
that when rendering to something else than a QWidgetBackingStore.

Change-Id: I415a3a27c4ecb4ddbac45181c5a568b01ac5cb7a
Task-number: QTBUG-39562
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-06-30 11:19:47 +02:00
Mike McQuaid 5d6b763ee5 qtoolbar: add missing header on OSX.
Without this you get:
```
widgets/qtoolbar.cpp:1047:5: error: incomplete type 'QPlatformNativeInterface' named in nested name specifier
    QPlatformNativeInterface::NativeResourceForIntegrationFunction function =
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
qtbase/src/widgets/../../include/QtGui/../../src/gui/kernel/qguiapplication.h:57:7: note:
      forward declaration of 'QPlatformNativeInterface'
class QPlatformNativeInterface;
```

Change-Id: I1301a8aa8b25eb12821e91125743be779e52db0f
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Mike McQuaid <mike@mikemcquaid.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2014-06-28 09:32:15 +02:00
Frederik Gladhorn a58ec950f0 Accessibility: improve text attribute ranges
Improve consistency and use QTextDocument functions to find ranges
instead of coming up with our own scheme. This is important since
QCursor's char format depends on block positions.

Change-Id: I94eb137882dc6b5f7b01fa7693b4a536cc48d02a
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2014-06-26 17:37:08 +02:00
Laszlo Agocs 3959298024 Silence warnings about not supporting setMask on platforms like eglfs
Showing warnings based on an (otherwise unused) WindowMasks platform capability
is wrong. The default implementation of setMask() shows a warning anyway so it
is safe to call it in any case.

On top of this, platforms like eglfs may want to avoid showing any warnings,
since they  are completely useless for end users and pollute their debug
output and Creator panes. The standard way is to provide an empty implementation
for the function. This cannot work however if there are hardcoded warnings
generated in the common widget code.

Change-Id: I842a96b5b84c50b7caa59bdd48107785b21ab5af
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-06-26 15:59:01 +02:00
Jorgen Lind c750d8408e Fix crash when inserting the same instance widget more than once
Task-number: QTBUG-39324
Change-Id: Ib1e0e107cd411311344aa5d85c3ca4c34211448b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-06-26 10:17:36 +02:00
Frederik Gladhorn 28f4f10640 Improve docs for QWidget::accessibleName/Description
Change-Id: Ie898c49ed10b9598a0482ecadb18bbadb586d7a9
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-06-26 09:53:37 +02:00
Friedemann Kleint bae7435f61 Propagate source/flags of QMouseEvent to QGraphicsSceneMouseEvent.
It is useful to be able to detect synthesized mouse events
in GraphicsView as well.

[ChangeLog][QtWidgets][QGraphicsSceneMouseEvent] Accessors
for Qt::MouseEventSource and Qt::MouseEventFlags were added to
QGraphicsSceneMouseEvent to enable detection of
synthesized mouse events.

Task-number: QTBUG-39814
Change-Id: Ib5835fef1f484005f9b0fc86518ed32ea79cd80f
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-06-25 16:31:10 +02:00
Friedemann Kleint 7c83360140 QColorDialog: Do not update custom/standard color cells while picking.
Delay the updating of the custom/standard color cells to the mouse
release of the color pick. This makes it possible to pre-select
a custom color cell for assignment before the pick and prevents
that from changing when its color is crossed by accident.

Rename the existing method QColorDialogPrivate::setCurrentColor(QRgb)
to setCurrentRgbColor() and move QColor::setCurrentColor() to
QColorDialogPrivate, introducing an enumeration for specifying what to
set.

Task-number: QTBUG-39792
Change-Id: Ibfe96e345589346e8c72976a0335e901798f2766
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-06-25 14:09:37 +02:00
Andy Shaw b5f2843791 Add that the corner settings are saved/restored with the state
Change-Id: Iee4c04291001470518176d8b3a49c08b52a6336e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-06-23 11:56:56 +02:00
Liang Qi 6b15a5a869 QComboBox: update focus policy when setting a new line edit
On OS X, the focus policy of QComboBox is different when editable or
not.

Task-number: QTBUG-39650
Change-Id: I394564f8a1a6d462e86d2497fe8874e6107a8a58
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2014-06-21 20:46:47 +02:00
Andy Shaw 47b3ecf3f4 Remove the widget from the stylesheet cache before polishing
If the widget exists in the style rules cache before it polishes for the
first time then it should be removed from styleSheetCache too so that the
latest set stylesheet is used for the polishing.

Task-number: QTBUG-39427
Change-Id: Ic1e7988afe530f16ea9996bae56543ed554d6be9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-06-20 07:10:21 +02:00
Friedemann Kleint 3fd184b663 Use QModelIndex to get the data from underlying model
Change-Id: Ibeb70079afd566c78289168540296b926f36d1af
Initial-patch-by: Irfan Omair <irfan.omair@gmail.com>
Task-number: QTBUG-27597
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-06-19 17:23:30 +02:00