summaryrefslogtreecommitdiffstats
path: root/src/widgets
Commit message (Collapse)AuthorAgeFilesLines
* Fix use of the window geometry specificationAlexander Volkov2015-03-271-16/+1
| | | | | | | | | | | | | | | | | | Until now we applied the geometry in QWidget::setVisible() by calling QWidget::move() and QWidget::resize(). But these methods are unreliable when the window is created but not visible yet. For example, specifying the window position by "-geometry +0+0" will take no effect. Apply the geometry directly to QWindow in QWindow::setVisible(). QWidget will update its geometry after the response of the window system. Besides it allows to specify the geometry for QML applications. Task-number: QTBUG-44713 Change-Id: I9a0e110e81e569c81da802729707fec104fef887 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Doc: warn about resize event bugPaul Olav Tvete2015-03-211-0/+3
| | | | | | | | | | The resize event for QMdiSubWindow may occasionally have an invalid oldSize(). This has been the case since 2007. Fixing this looks like a high risk, low reward endeavour. Task-number: QTBUG-32446 Change-Id: I80ce43987c7b6e346cd44f7ac4cef01b01e5472b Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* QComboBox: Update completer on setCurrentIndex()Andre Hartmann2015-03-181-1/+4
| | | | | | | | | | | | | When the ComboBox currentText() was changed by key LineUp or LineDown or mouse click, the completer still contained the last inserted characters. If now all text was selected (by Ctrl+A or selectAll()), the old item and index was restored on next Enter press. Task-number: QTBUG-41288 Change-Id: I6916fd31c8b8fbacfb12e1a62c3e46823cf918b4 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Do not colorizing images to invalid premultiplied colorsAllan Sandfeld Jensen2015-03-161-1/+4
| | | | | | | | | | | In some combinations the fusion style colorizeImage method would generate invalid colors causing odd colors in the end result. Task-number: QTBUG-41515 Change-Id: Ib16049be1f3e93ae4976524df2827076eac7d94f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com> Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
* Workaround for programs depending on previous layout bugPaul Olav Tvete2015-03-111-0/+5
| | | | | | | | | | | | | | | | Change 2bfee10f made QDockAreaLayout respect the maximum size of the central widget. This broke some existing programs which would set sizePolicy to Fixed on a central widget without a sizeHint. This patch restores the old behaviour for the special case where there are no dock areas. It is highly unlikely that the intention in this case is to have a very small central widget with huge blank areas on either side. Task-number: QTBUG-43797 Change-Id: I1e1fb17204f72166da3b0b054a7777e8183604a7 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* [Android]: Ensure clicking on the arrow shows the popupAndy Shaw2015-03-111-0/+4
| | | | | | | | | | | This was a problem with editable comboboxes specifically as there is an edit field area which is separate to the arrow. Giving a valid rectangle for the arrow allows QComboBox to know that it was clicked on. Task-number: QTBUG-44931 Change-Id: Ie1d06a6631d6c7f5e813419a5e76f67ec9dcd7e8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Adjust wiki links to the new redirectSergio Ahumada2015-03-041-1/+1
| | | | | | | it looks nicer this way Change-Id: I872976bdef5f581187a758aa92b02e2f5f32b130 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Replace old qt-project.org wiki with wiki.qt.ioSergio Ahumada2015-02-271-1/+1
| | | | | Change-Id: If6c05a5b1f60e97c64f3d6b64041a84c3af82964 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* QWidgetWindow check valid widget geometryJørgen Lind2015-02-241-1/+1
| | | | | | | | | | before marking the backingstore as dirty. The QWidgetBackingstore has an assert that the region or the rect passed in is not empty, hence its programming error not to check before calling this function. Task-number: QTBUG-43489 Change-Id: Ic67fb6ca7959466e1758ce91827cd4b8acdf73fc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Fix fusion style QPushButton icon on HiDPI modeMarko Kangas2015-02-241-4/+6
| | | | | | Change-Id: Ie05012266abe52bc33bb9c2e19c93353cac3307f Task-number: QTBUG-44502 Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
* Make sure there's a scene before using itAlbert Astals Cid2015-02-171-2/+2
| | | | | | | | | | Fixes crash hovering links in quassel Task-number: QTBUG-44509 Change-Id: I77d8d9118ad185ed70a46e91445e2960200e562b Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix crash in QAccessibleTextWidget::attributes()Jan Arve Saether2015-02-171-8/+20
| | | | | | Task-number: QTBUG-44006 Change-Id: I79d7d84206a3e4abcd49c7c6e5e91b7c9c753dd6 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* Make sure the QSplashScreen isn't closed instantly when calling finish()Andy Shaw2015-02-171-1/+4
| | | | | | | | | | | | Most of the time the widget passed in to finish() will not yet have a window handle so it would just call close() straight away. This way it ensures has a window handle. Task-number: QTBUG-35757 Change-Id: I2e212a2ea496cc4e4bba57a8c2d0d127afc43e48 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* QFileDialog: fix overwritten filterJoerg Bornemann2015-02-131-1/+1
| | | | | | | | | | | | | | | | | Consider the following code: QFileDialog dlg; dlg.setFilter(QDir::Hidden | ...); dlg.setOption(QFileDialog::DontUseNativeDialog) setFilter stores the filter value in QDialogPrivate::options. setOption will overwrite this value with the default value from a newly created QFileSystemModel. The intention was to set the filter in the model to the value in options. Change-Id: I561c5cf1ad4d9d729a56620d86ec549eb3105a07 Task-number: QTBUG-37085 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Fixed crash when adding items with spansJan Arve Saether2015-02-091-1/+1
| | | | | | | | | | | | | | This only occurred if the item added was the only item in the last row/column, since then the the internal grid failed to expand (in this case it would always call expand(0, 0), which would not create the extra row/column). [ChangeLog][QtWidgets][QGridLayout] Fixed crash that sometimes happened when adding items with spans that spanned to the bottom/right edge. Task-number: QTBUG-38052 Change-Id: Iba95f6d9d9356b4d1c84c7b93f4af9b4ea0cf714 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Fix the look of inactive checkboxes in itemviews on OS X 10.10Andy Shaw2015-02-091-1/+4
| | | | | | Task-number: QTBUG-43875 Change-Id: I4734647e2f3f9e3f68a3ae77fb5c825c7d99f8b4 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* Document that setGraphicsEffect is not suitable for GL widgetsLaszlo Agocs2015-02-091-0/+3
| | | | | | Task-number: QTBUG-44188 Change-Id: Ie5bea14ffb804124421e97e5f49975ac9ad6d838 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Qt 5 to-do in qpainterengineex_p.hSamuel Gaist2015-02-071-43/+2
| | | | | | | | This patch apply the recommended cleanup in qpainterengineex_p.h Task-number: QTBUG-25069 Change-Id: Ice2c3298c88ba6a7141642470aeeefa782af7f3a Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Don't crash with invalid QModelIndex or when QTreeWidgetItem is NULL in ↵Maks Naumov2015-02-061-1/+11
| | | | | | | mimeData() Change-Id: I0a9abaa05cf136eadf222d3e7d102930719b84ff Reviewed-by: David Faure <david.faure@kdab.com>
* Improve handling of screens in QWidgets.Friedemann Kleint2015-02-064-22/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | Historically, the screen number of a QWidget was stored in QTLWExtra::screenIndex which came in via the Q_WS_QWS platform. The variable contained the screen number of the QDesktopScreenWidget and the desired screen number for widget creation (from parent widget or desktop parent widgets) and was not updated according to widget geometry or when the associated QWindow moved to another screen. Storing the screen number is problematic in Qt 5 since it may change when the list of QScreens in QGuiApplication is rearranged. This change renames it to initialScreen and changes its usage to only contain a screen number when a screen is requested by parenting on a desktop widget or reparenting. A value of -1 indicates no screen is requested and the number should be deduced from the geometry. For the usage in QDesktopScreenWidget, add a method to determine the number via index in the list of QDesktopWidget. Task-number: QTBUG-44070 Task-number: QTBUG-44213 Change-Id: I153d19073ad4b0fd14ef3d24caa6d3e76f350e82 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Do not close popup widgets when showing a widget embedded into QGraphicsView.Friedemann Kleint2015-02-051-4/+9
| | | | | | | | | Disable top-level widget code path for embedded widget in the show helper. Task-number: QTBUG-43780 Change-Id: I574e07130e5e68a019a426cee3fde982f3883720 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Streamline code in QDesktopWidget.Friedemann Kleint2015-02-042-22/+15
| | | | | | | Task-number: QTBUG-44070 Task-number: QTBUG-44213 Change-Id: Icbf0547eb521b9f3fcc725066ee4903226ecc630 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* QWindowsXPStylePrivate::buffer(): Improve warnings.Friedemann Kleint2015-02-041-2/+2
| | | | | | Task-number: QTBUG-44282 Change-Id: If617db5c6eae410042394f20855892a2c564e808 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Handle failure of Windows XP theme painting functions for PE_FrameWindow.Friedemann Kleint2015-02-042-20/+31
| | | | | | | | | | | | QWindowsXPStylePrivate::buffer() can fail due to CreateDIBSection() failing for large sizes. Introduce a bool return for the QWindowsXPStylePrivate::drawBackground() helpers and fall back to QWindowsStyle:::drawPrimitive() should that happen for PE_FrameWindow in QWindowsXPStyle::drawPrimitive(). Task-number: QTBUG-44282 Change-Id: I122d84576455bbad8e6639022da5bf64f79aed3a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Set dpr of QImage in QOpenGLWidget grabFramebufferDyami Caliri2015-02-031-0/+1
| | | | | | | | The QImage returned from grabFramebuffer should have the dpr of the source. Change-Id: Iafeabc1ab4e032fc28b73307104917ba3e898ad5 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* QHeaderView: check that length is correct and fix restoring Qt4 state.Arnaud Bienner2015-02-031-23/+54
| | | | | | | | | When multiple sections were grouped together, sectionItem.size was the total size of grouped sections, not the size of one section. Length is supposed to be equal to the section items length, but the state saved might be corrupted. Task-number: QTBUG-40462 Change-Id: I401a1583dd30880ccf5b4c105a237d6563f212e8 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Suppress Ctrl/Ctrl+Shift keypresses in line/text edits.Friedemann Kleint2015-02-032-1/+10
| | | | | | | | | | | | | Ctrl/Ctrl+Shift should not cause any characters to be input (as opposed to AltGr(Alt+Ctrl) as used on German keyboards). Extend the tests in QLineEdit and QPlainTextEdit to check the modifiers, remove test from QTextEdit since it is handled by QWidgetTextControl. Task-number: QTBUG-35734 Change-Id: Ie0004fac68cf840c68247f27547e84b021355cd2 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* QWindowContainer: Restrict check for negative position to child windows.Friedemann Kleint2015-02-031-1/+1
| | | | | | | | | | | Otherwise, the code triggers for top level windows in setups with multimonitors where the primary screen is on the right and the left monitor has negative coordinates. Task-number: QTBUG-43879 Task-number: QTBUG-38475 Change-Id: Ied3ee6dc59bd784e11db22031d2090cc6f42ef8b Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Fix QGraphicsWidget window frame section logicDyami Caliri2015-02-021-2/+2
| | | | | | | | | CppCat detected duplicate sub-expressions in the code that checked for BottomLeftSection and BottomRightSection. It was fairly obvious to see what the values should be. Change-Id: Id45ca5bbd26c92b800c60867fef5170578216eee Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
* Merge remote-tracking branch 'origin/5.4.1' into 5.4Frederik Gladhorn2015-01-293-12/+11
|\ | | | | | | Change-Id: Idadb5639da6e55e7ac8cc30eedf76d147d8d5d23
| * Fix possible divide by zero in QMacStyleLiang Qi2015-01-191-5/+6
| | | | | | | | | | | | | | | | [ChangeLog][Widgets][QMacStyle] Fixed a possible divide by zero crash. Task-number: QTBUG-43398 Change-Id: I8b5c6fd87d07eb42ad43e8c2405b7cad19372b86 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
| * Merge 5.4 into 5.4.1Oswald Buddenhagen2015-01-164-14/+29
| |\ | | | | | | | | | Change-Id: I78d848c0bb396584a205a8066d253f2bcac8da56
| * | Bump copyright year to 2015Kai Koehne2015-01-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Bump copyright year in tool output and user visible strings to 2015. Change-Id: I9b29907fe3f555e78005cb296a49d92f601fb7ec Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | Swallow wheel events while a popup widget is open.Friedemann Kleint2015-01-121-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wheel events should not cause a popup widget parented on a scrollable widget to be closed or moved to correctly reflect the system behavior on OS X and Windows. Task-number: QTBUG-42731 Task-number: QTBUG-40656 Change-Id: I4ef75aa8331390309c251316ac76db2cf9ec51f7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | | Enter/Return should cause an edit inside an itemview on OS XAndy Shaw2015-01-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was available before but was protected with the wrong define for OS X, so this is changed to the right define. Task-number: QTBUG-23696 QTBUG-23703 Change-Id: I669a6cf2ff7c01020693adff9f04a4b8b9404d02 Reviewed-by: David Faure <david.faure@kdab.com>
* | | QSystemTrayIcon: handle submenus correctlyDmitry Shachnev2015-01-222-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug when submenus are shown as simple actions when a platform system tray icon is used. To correctly handle submenus, we need to set platform menus on all submenus, and only then on a parent menu. Change-Id: If2bfcc703b938dbb14ba4b9aa810039ced07e946 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Dimitrios Glentadakis <dglent@free.fr> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | Doc: remove wrong note in QTreeWidget::itemWidget.David Faure2015-01-221-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The note is already in setItemWidget where it makes sense. This looks like a copy/paste error; this method doesn't change anything in terms of ownership, it's a getter. Change-Id: Idc963787b81f53fb37bbe59e9bf35f47d3441b34 Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* | | Accessibility: Fix selection change notifications on LinuxFrederik Gladhorn2015-01-213-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The selection update is not implemented on other platforms (if needed at all). Task-number: QTBUG-39440 Change-Id: I8eb8c4eb1c23ba2d246bc95f1c77dc9da9e22495 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* | | FusionStyle: Don't try to draw null pixmapsUlf Hermann2015-01-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have the same check for null already for PE_IndicatorHeaderArrow which actually uses the same pixmap. If the file is not found the pixmap will be null and the code dividing by its width or height will thrown an arithmetic exception. Task-number: QTBUG-43067 Change-Id: I13a5ee9f21f4189b7bbcfd57a6f5b52113de834d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* | | Doc: Fix typosSze Howe Koh2015-01-192-2/+2
| | | | | | | | | | | | | | | Change-Id: I29d5576902a5d1ea25558e980081952d9157f7f0 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | | Fix a crash in QPlainTextEdit::documentChangedPierre Rossi2015-01-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The layout for an invalid block is very likely to be null, it shouldn't be accessed without checking the block's validity first. We can make the check a bit more conservative and simply check that the block isn't empty. Change-Id: Ic1459a6168b1b8ce36e9c6d019dc28653676efbe Task-number: QTBUG-43562 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Account for pixmap's device pixel ratio when calculating the label sizeAndy Shaw2015-01-191-5/+7
| |/ |/| | | | | | | | | | | | | | | | | When determining the size of the QPushButton's label then the device pixel ratio of the pixmap used to represent the icon needs to be taken into consideration so it is rendered correctly. Change-Id: If32760b120d7a749a51e2c30592d621c0e63dace Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Fix stylesheet crash.Morten Johan Sørvig2015-01-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Style sheets that refer to the progress bar (like "QProgressDialog[maximum='0']{}") may dereference a null-pointer during the styleHint() call in QProgressDialogPrivate::init() since the progress bar has not been created yet. Move the creation of the progress bar closer to the top of init(), before the styleHint() call. Change-Id: I31c3c1c346430fc9fe86b0977403dea0c0dc5e90 Task-number: QTBUG-43830 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | QColorDialog: Don't loose focus while color pickingSérgio Martins2015-01-092-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows mouse grabbing doesn't work across processes, which means we're interacting with other windows when picking colors. Workaround that by having a transparent 1x1 window below the cursor at all times so we catch the mouse click. Clicking before the window is below the cursor won't happen because our timer interval is 30ms, so it's quite fast. It's hacky but it's what we can do for a feature which was very broken on Windows. Task-number: QTBUG-43663 Change-Id: I295378e033ddc6d9c2230335f0953a727c21e1dd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | docs: Explain the limitations of QWidget::grabMouse() on WindowsSérgio Martins2015-01-081-5/+4
|/ | | | | | Because carbon is dead, I merged both OSX and Windows in the same note. Change-Id: I5d43c5fce30e187f63a1e3e5af688c344eb80d28 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Remove redundant codeAndy Shaw2015-01-071-5/+0
| | | | | | | | The non client mouse events have the right information regarding the modifiers now so the old code covered with Q_WS_WIN can be removed. Change-Id: I3e4ebc0debdd66970b18233f189b5d9e880e40a9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Windows: Fix QColorDialog's live updates while picking outside colorSérgio Martins2015-01-063-5/+48
| | | | | | | | | | | | Microsoft's SetCapture() doesn't work on windows owned by other processes, so instead we use a timer. This is the same approach as used by qttools/src/pixeltool. The mouse move approach however is more elegant and doesn't hammer the CPU with QCursor::pos() calls when idle. For this reason the workaround is Q_OS_WIN only. Task-number: QTBUG-34538 Change-Id: I40a6f7df5bf2a3a29ade8fe4a92f5b5c4ece7efb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Doc: Describe the enum item QStyle::PE_FrameStatusBar as obsoleteAlexander Volkov2014-12-221-1/+1
| | | | | Change-Id: Ibda864d2b037bd8b2484b8642423ae1bca218021 Reviewed-by: Martin Smith <martin.smith@digia.com>
* QColorDialog: Fix a few layouting issues.Sérgio Martins2014-12-221-2/+13
| | | | | | | | | | | | Fixes combo-boxes being too big and some alignment issues that were not present in Qt4. See screenshot in JIRA task. Tested with QT_SMALL_COLORDIALOG too. Task-number: QTBUG-43501 Change-Id: I2aefb64be1c5f3c4894149d85e1a12c9c0cc3d62 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QScrollBar: emit valueChanged once even if a slot takes too much timePavel Krebs2014-12-191-3/+4
| | | | | | | | | | | | Put also processing of control activation into initial timer check for possibly pending mouse release event. [ChangeLog][QtWidgets][QScrollBar] Fixed a bug where the valueChanged() signal was emitted twice if a connected slot took too much time. Task-number: QTBUG-42871 Change-Id: I7bad5279ef84463a033b55256d241d4445374081 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>